有关android 应用的plugin框架调研
1. 借助android提供的shareduserid屬性使多個不同的apt共用一個userid,以掃除權限壁壘,獲取插件context,繼而獲取view并載入插件。這樣的方式是建立在已經安裝完畢的apt基礎上的。
樣例和參考:
1) 工作原理介紹:http://892848153.iteye.com/blog/1976988
http://www.cnblogs.com/hangxin1940/archive/2011/12/14/2288169.html
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??http://www.cnblogs.com/hangxin1940/archive/2011/12/17/2291380.html
對應框架樣例: 安卓應用程序插件化開發框架 -AAP Framework
2) xCombine
工作原理介紹:http://wyouflf.blog.51cto.com/1553038/1305482
源代碼及簡單介紹地址:https://github.com/wyouflf/xCombine
2. 不安裝插件,插件以.dex或.apt方式保存在手機的某個可被插件框架應用訪問的空間,然后框架使用DexClassLoader載入插件類,然后通過createPackageContext方法為插件創建context,之后使用該context獲取插件的資源,比方view, 然后將資源等在主框架中呈現
工作原理介紹:http://my.oschina.net/mutour/blog/179242
樣例程序:http://pan.baidu.com/s/1td9cO
3. 不安裝插件,插件以apt方式保存在手機上。插件框架使用DexClassLoader載入插件類。與另外一種方法不同之處在于,方法二載入插件以獲取資源,而本方法確是在獲得Activity實例后,將框架的context植入插件,并強制插件在植入的context上執行。
工作原理介紹:探秘騰訊Android手機游戲平臺之不安裝游戲APK直接啟動法
樣例程序:source
4. 使用OSGI 框架
OSGI作為一個成熟的面向模塊化的框架標準被很多諸如Eclipse等大型軟件採納以提供插件服務。當中OSGI的主流實現框架,比方Felix(Apache Felix Framework and Google Android)及子項目iPOJO(iPOJO on Android),還有knopflerfish都已提供了對android平臺的支持。
實現樣例:安織云apkplug?(不開源)
? ? ? ? ? ? ? ? ? ?Developing Android Application with Apache Felix - OSGi Framework
5. 其它參考:
1)?Android動態載入jar、apk的實現
2)?使用android的Intent, broadcast service及iPC機制 Plugins with user interface INTENT + SERVICE + CONTENT PROVIDER = PLUGIN ARCHITECTURE轉載于:https://www.cnblogs.com/hrhguanli/p/3790607.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的有关android 应用的plugin框架调研的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: test6
- 下一篇: Maven本地库在哪?