Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android插件化-apkplug框架啟動-02

android插件化-apkplug框架啟動-02

編輯:關於Android編程

本文章基於apkplug v1.6.7 版本編寫,最新方式以官網最新消息為准

一 apkplug框架所需要的庫文件(宿主) 可從http://git.oschina.net/plug/apkplugSDK 獲取最新庫文件

同時可下載最新的apkplugdemo源碼 http://git.oschina.net/plug/apkplugDemos

libs--

--libndkfoo.so armeabi armeabi-v7a mips x86

--Bundle(版本號).jar

將以上的文件加入宿主應用的libs目錄下

二 AndroidManifest.xml 權限配置

插件平台需要幾個基礎的權限配置,請將以下的幾個權限加入到工程的AndroidManifest.xml中



另外將一下加入到節點中 三 啟動apkplug框架 你可以在應用的Application中啟動框架具體代碼如下 (並不限制在Application中) public FrameworkInstance start( List activatorList,Context appContext,PropertyInstance property) public FrameworkInstance start( List activatorList,Context appContext,PropertyInstance property,DisplayMetrics dm2) 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(); //調試模式 調試模式中退出APP時調用FrameworkInstance.shutdown();將刪除所有插件 public boolean Debug(); 四 框架啟動成功獲取FrameworkInstance接口 框架啟動成功以後會返回org.apkplug.app.FrameworkInstance接口,它是宿主應用與apkplug框架和插件通信的接口。 //停止框架 public void shutdown(); //獲取框架的SystemBundle apkplug框架啟動時會創建一個SystemBundle 它的BundleID為0 同時它不可停止和卸載,我們科通過它與其他插件通信 public Bundle getSystemBundle(); //SystemBundle 插件的上下文 BundleContext public BundleContext getSystemBundleContext(); 啟動代碼: view source print? 01 try 02 { 03 FrameworkInstance frame=FrameworkFactory.getInstance().start(null,Launcher.this,MyProperty.getInstance(this.getApplicationContext())); 04 }catch (Exception ex){ 05 System.err.println("Could not create : " + ex); 06 ex.printStackTrace(); 07 StringBuffer buf=new StringBuffer(); 08 buf.append("插件平台啟動失敗:\n"); 09 buf.append(ex.getMessage()); 10 Toast.makeText(this, "插件平台啟動失敗",Toast.LENGTH_SHORT).show(); 11 }


至此框架便嵌入到應用中並啟動成功了,下一篇文章將講解怎樣通過SystemBundle獲取已插件和信息等操作
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved