apkplug(安織雲)的使用(一):宿主專案搭建
先宣告,本人對osgi瞭解不深,甚至在使用apkplug前對osgi一無所知,對osgi理解有誤的地方請指出
因為官網的手冊介紹過於簡略,很多需要配置的屬性和需要實現的方法沒有詳細寫出,導致專案無法執行,需要對照demo一點一點尋找、糾正,比較費時。寫這系列博文,一是為了讓自己以後在正式使用時少花點時間,二是讓其他小白在使用這個平臺時少走彎路。
先複製一段apkplug首頁的介紹
apkplug 是一個android平臺下免費的OSGI框架,是android程式外掛化,模組化開發利器
簡單的說apkplug 是一個可以使用未安裝apk檔案內部各種程式碼資源的開發框架
apkplug 是一個極簡的android外掛化,模組化,輕應用解決方案,可以輕鬆的將android轉化為模組化的輕應用
需要準備:
1. android開發環境
2. apkplug開發包(下載位置:http://www.apkplug.com/download/)
接下來開始搭建:
步驟1:新建android專案
步驟2:將開發包中以下檔案複製到專案下的libs中
步驟3:
在AndroidManifest.xml中新增許可權
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
並註冊activity
<activity
android:name="org.apkplug.app.apkplugActivity"
android:configChanges="orientation|keyboardHidden" />
步驟4:
實現PropertyInstance 介面,這個介面的作用是為apkplug平臺啟動提供一些基礎的系統變數
PropertyInstance 原始碼如下:
public interface PropertyInstance {//可獲取本地變數(必須實現) public String getProperty(String key);
//可將變數儲存在本地(必須實現) public void setProperty(String key,String v);
//啟動時可自動安裝外掛的本地檔案絕對路徑 public String[] AutoInstall();
//啟動時可自動啟動(未安裝時先安裝再啟動)外掛的本地檔案絕對路徑 public String[] AutoStart();
//是否啟動除錯模式 如果啟動除錯模式在退出app時呼叫FrameworkInstance.shutdown();可以清理所有已安裝外掛(利於下次啟動重新安裝新外掛)
public boolean Debug() } 其中getProperty(String key)方法和setProperty(String key,String v)必須要實現屬性值的儲存和讀取,如果不實現,平臺會在啟動後立即報錯