Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 有關android 應用的plugin框架調研

有關android 應用的plugin框架調研

編輯:關於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. 其他參考:

1) Android動態加載jar、apk的實現

2) 使用android的Intent, broadcast service及iPC機制
Plugins with user interface
INTENT + SERVICE + CONTENT PROVIDER = PLUGIN ARCHITECTURE


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved