Android App插件功能实现调研

1 App插件要实现的目标

A. 不能单独运行,必须在主框架中加载运行,不以安装包的形式存在,不在桌面上显示安装图标.

B.可以被主框架搜索,加载,显示并调用

C.可以在主框架中进行管理,安装及卸载

2 App插件实现分析

首先分析下插件机制使用比较成熟的浏览器,android平台下浏览器插件也是以apk的形式存在的,插件apk没有可直接运行的入口并注册特定的服务以被浏览器搜索并加载,浏览器本身定义了一组标准的jni接口,插件必须实现这些接口来完成和浏览器之间通信,同样浏览器也是通过这组固定的接口来加载运行apk插件.

借助浏览器插件实现的基本思路,App插件的实现采取以下技术手段:

A. 实现主程序和插件之前的无障碍调用,使用android:sharedUserId属性,将插件和主程序的该属性设置成一致,保证主程序和插件之前是在一个进程中,消除权限障碍.

B.主程序调用插件的方式

所有插件apk中实现插件描述类,该类中描述插件所实现的基本方法,在主应用中通过反射机制来调用插件的这些方法.主程序和apk插件可以互相获取context进行交互

C 将插件apk中的控件交互封装在apk内部,避免在主程序中去应用插件的控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值