1. 程式人生 > >apkplug(安織雲)的使用(一):宿主專案搭建

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)必須要實現屬性值的儲存和讀取,如果不實現,平臺會在啟動後立即報錯
步驟5: 在任意activity執行FrameworkFactory.getInstance().start(List activatorList, Context appContext, PropertyInstance property)方法,即可啟動平臺。 注意start方法中的appContext引數必須是Activity的Context,不能是ApplicationContext 至此,宿主專案搭建完成