android外掛程式化-apkplug架構啟動-02

來源:互聯網
上載者:User

本文章基於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 sourceprint?
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=newStringBuffer();
08 buf.append("外掛程式平台啟動失敗:\n");
09 buf.append(ex.getMessage());
10 Toast.makeText(this,"外掛程式平台啟動失敗",Toast.LENGTH_SHORT).show();
11 }


至此架構便嵌入到應用中並啟動成功了,下一篇文章將講解怎樣通過SystemBundle擷取已外掛程式和資訊等操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.