編輯:關於Android編程
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. 其他參考:
Plugins with user interface
INTENT + SERVICE + CONTENT PROVIDER = PLUGIN ARCHITECTURE
1.前言分析完Zygote和SystemServer的啟動過程後,接著我們來分析Android進程的啟動過程。前面一篇文章有提到Zygote是通過復制自身的方式來穿件一個
目前市面上的應用,貌似除了微信和手Q都會比較擔心被用戶或者系統(廠商)殺死問題。本文對 Android 進程拉活進行一個總結。Android 進程拉活包括兩個層面:A.
學習android三天了,發現這個ListView在android裡應用非常的多,於是就花了一些時間仔細學習了一下! 以下是我個人的理解,如果有錯誤或不周到的地方,還請各
介紹今天上班的時候有個哥們問我怎麼去實現一個按鈕式的進度條,先來看看他需要實現的效果圖。和普通的圓形進度條類似,只是中間的地方有兩個狀態表示,未開始,暫停狀態。而且他說圓