本文章基於apkplug v1.6.7 版本號編寫,最新方式以官網最新訊息為準
一 apkplug框架所須要的庫檔案(宿主) 可從 獲取最新庫檔案
libs--
--libndkfoo.so armeabi armeabi-v7a mips x86
--bundle(版本).jar
將以上的檔案增加宿主應用的libs資料夾下
二 androidmanifest.xml 許可權配置
外掛程式平台須要幾個基礎的許可權配置,請將下面的幾個許可權增加到project的androidmanifest.xml中
android:theme="@style/android:theme.light"
android:configchanges="orientation|keyboardhidden"
/>
三 啟動apkplug框架
1.activatorlist 是乙個bundleactivator的list(能夠為null) 這些bundleactivator在框架啟動時啟動(系統級別)
2.propertyinstance 框架儲存配置資訊的介面
//框架通過該介面獲取本地儲存的變數
public string getproperty(string key);
//框架通過該介面設定本地變數
public void setproperty(string key,string v);
//框架啟動時將自己主動安裝該該函式提供的檔案 "file:"+apk檔案路徑 (1.6.7以後不建議使用 可用bundlecontrol取代)
public string autoinstall();
//框架啟動時將自己主動安裝並啟動該該函式提供的檔案 "file:"+apk檔案路徑 (1.6.7以後不建議使用 可用bundlecontrol取代)
public string autostart();
public boolean debug();
四 框架啟動成功獲取frameworkinstance介面
//停止框架
public void shutdown();
//獲取框架的systembundle apkplug框架啟動時會建立乙個systembundle 它的bundleid為0 同一時候它不可停止和解除安裝,我們科通過它與其它外掛程式通訊
public bundle getsystembundle();
//systembundle 外掛程式的上下文 bundlecontext
public bundlecontext getsystembundlecontext();
啟動**:
view source
print?
01
try
02
catch
(exception ex)
Android元件化和外掛程式化
元件化開發元件化優勢 稍微改動乙個模組的一點 都要編譯整個工程,耗時耗力 公共資源 業務 模組混在一起耦合度太高,不方便測試 如何劃分元件 1.新建乙個lib元件,new module andorid library,取名baseutillib,我們將所有的公共的工具類 網路分裝等類放在其中 2.新...
Android外掛程式化框架SpeedTools
其實ios在現在外掛程式化android以後也會限制,至少已經開有動作了,例如resource物件建立在android n之後進入了廢棄的行業。外掛程式化其實如果對許可權沒有限制他就是病毒,你想想如果你 外掛程式化原理 按照實現模式來說分為 模式,修改反射hock系統關鍵流程的。按照apk安裝來分有...
Android 外掛程式化技術窺探
在android 外掛程式化技術中 宿主app和外掛程式app設定相同的shareduserid 動態載入apk有兩種方式 一種是將資源主題包的apk安裝到手機上再讀取apk內的資源,這種方式的原理是將宿主app和外掛程式app設定相同的shareduserid,這樣兩個app將會在同乙個程序中執行...