博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关android 应用的plugin框架调研
阅读量:5923 次
发布时间:2019-06-19

本文共 890 字,大约阅读时间需要 2 分钟。

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

相应框架例子: 

2) xCombine

工作原理介绍:http://wyouflf.blog.51cto.com/1553038/1305482

源码及简介地址:

 

2. 不安装插件,插件以.dex或.apt方式保存在手机的某个可被插件框架应用访问的空间,然后框架使用DexClassLoader加载插件类,然后通过createPackageContext方法为插件创建context,之后使用该context获取插件的资源,比如view, 然后将资源等在主框架中呈现

工作原理介绍:http://my.oschina.net/mutour/blog/179242

例子程序:

 

3. 不安装插件,插件以apt方式保存在手机上。插件框架使用DexClassLoader加载插件类。与第二种方法不同之处在于,方法二加载插件以获取资源,而本方法确是在获得Activity实例后,将框架的context植入插件,并强制插件在植入的context上运行。

工作原理介绍:

例子程序:

 

4. 使用OSGI 框架

OSGI作为一个成熟的面向模块化的框架标准被许多诸如Eclipse等大型软件采纳以提供插件服务。其中OSGI的主流实现框架,比如Felix()及子项目iPOJO(),还有knopflerfish都已提供了对android平台的支持。

实现例子: (不开源)

                   

 

5. 其他参考:

 

1) 

2) 
 
 
你可能感兴趣的文章
Xilinx IP核的根目录地址,有datasheet 和仿真相关的资料
查看>>
iOS:高德地图的使用
查看>>
Java遍历所有网卡打印对应IP
查看>>
ArcGIS Javascript 图层事件绑定
查看>>
超好用的plsql设置
查看>>
Oracle表空间(tablespaces)
查看>>
Python 3.* print 出现SyntaxError: invalid syntax
查看>>
【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能
查看>>
Determining Current Block and Current Item in Oracle Forms
查看>>
Linux学习笔记<五>——<Shell部分>
查看>>
架构师应不应该写代码?
查看>>
C#中string.format用法详解
查看>>
pip依赖安装与记录
查看>>
CSS 最核心的几个概念
查看>>
oauth 2
查看>>
用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)
查看>>
企业应用开发中最常用c++库
查看>>
mongodb学习笔记之索引(转)
查看>>
外观模式(Facade)
查看>>
python第三方库requests详解
查看>>