使用apkplug实现Android客户端插件化

   今天学习下使用apkplug实现Android客户端插件化,apkplug代码虽然不是开源的,但是说明文档比较全,可以很快到实现客户端插件化开发,参考文档:http://www.apkplug.com/  

由于文档非常详细,这里记录些概念性的东西,加深记忆,具体使用看官方文档吧。

apkplug 介绍

apkplug 是一个android平台下免费的OSGI框架,是android程序插件化,模块化开发利器

apkplug 是一个极简的android插件化,模块化,轻应用解决方案,可以轻松的将android转化为模块化的轻应用

apkplug框架可以实现应用内部动态更新,绕过频繁提交应用商店的难题

丰富灵活的通讯方式,可以让插件,主应用之间更加紧密的结合在一起。通用的OSGI服务接口又可以使插件之间保持最佳的耦合度降低应用复杂性

apkplug框架拥有灵活的通信接口定义方式

通过提前在宿主AndroidManifest.xml声明,插件可以支持Service组件

apkplug 可用于app的任何位置,也可以只作为一个小模块。它与应用融合在一起

我们可提供特殊的API接口,通过这些接口你可以设计出更加出色的通用插件,诚挚希望与您合作

apkplug与其他android模块化框架有何不同

  • 1.目前大部分模块化框架是基于android:sharedUserId方式开发的,插件apk需要独立安装,而apkplug插件与主应用融为一体不需要独立安装
  • 2.目前大部分模块化框架需要开发者在开发插件时约定UI开发模式和通讯规则,而apkplug框架沿用了android原生的UI开发方式
  • 3.apkplug与主程序的通讯方式除了支持访问数据库与SharedPreferences外还引入了OSGI服务的方式,增加了通讯灵活性与数据交互扩展性

你可以用apkplug做什么?

  • 1.将应用模块化可以轻易实现功能更新!最大的优势是在一个极小的功能更新时无需更新整个应用
  • 2.通过插件化,模块化的方式减轻你的APP负担,彻底摆脱APP无限增大的问题
  • 3.对用户而言可定制模块以让用户选择性安装,提供一套简洁的体验
  • 4.简化开发流程,可将不同的功能交由工程师负责开发,最终以插件的形式组合起来
  • 5.将自己的APP变成一个轻应用平台

使用apkplug的优势

  • 1.模块化插件化开发与部署实现更快的迭代速度
  • 2.提升用户体验,以模块化的部署方式可以减轻APP重量
  • 3.轻松使用通用功能扩展模块如页面统计,主题切换等
  • 4.降低应用的复杂度,插件化模块化的开发方式将各个功能分割开发。

apkplug插件注意事项

  • 1.apkplug宿主应用的接入极为简单,开发者可参考demo代码模板在宿主应用任何位置启动框架
  • 2.插件开发必须遵循一个规则:插件中不能存在宿主应用中相同的类(类包名+类名)

开发大体流程描述:

一.创建宿主项目(将插件平台集成到了你的APP)

 1、配置应用权限,就是些常规权限

 2、配置工程,就是加入bundle.jar、libndkfoo.so、android-support-v4.jar包。

 3、编写启动平台需要的接口类

 4、启动apkplug框架框架可以在宿主应用的任何一个activity里面启动。

二。创建一个插件

 1、配置插件工程,osgi.jar(加入最新osgi.jar包)引入工程中,注意:osgi.jar不可打包到插件apk文件中,但你可以在调试过程中选择,而在最终打包是去掉以方便调试。
 2、编写 BundleActivator,BundleActivator只是一个接口他有两个函数 分别是 start(BundleContext context) ,stop(BundleContext context) 框架启动和关闭插件时会分别调用

 3、添加插件配置文档,plugin.xml 是一个配置表,通过它框架可以获取插件有关的信息,

三、在宿主应用中使用插件

 1、将生成的插件apk文件加入主应用。当然你也可以在适当的时候通过网络下载插件,并且利用SDK提供的系统服务安装到框架中。

 2、在宿主应用中启动插件。插件apk可以通过SDK提供的服务安装到框架中,也可以在PropertyInstance接口(宿主应用)中设置该插件为自动启动安装。
3、启动插件中的activity。注意:在插件中启动activity(包括启动其他插件或宿主应用的activity)不需要使用模板代码,它与android启动activity一样就可以了。 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值