TA的每日心情 | 开心 2016-12-9 18:18 |
---|
签到天数: 85 天 连续签到: 1 天 [LV.6]常住居民II 扫一扫,手机访问本帖
|
概述
这是个一Android App插件化开发框架。能实现在不重新安装的情况下动态更新应用。
包括客户端插件引擎、自动更新服务、服务端插件版本管理系统。
支持的功能
完整解决方案,不止核心引擎
非隔离式,宿主和插件间可自由通信
非侵入式设计,插件和普通App代码编写方式无区别
插件可作为独立App安装运行,便于测试和独立分发
支持Service等四大组件,和.so文件
支持assets目录中预制插件和网络下载方式
不需要手动分配资源ID或者使用定制aapt打包
最小化Hook系统私有API数量,运行更稳定
插件库大小不到60k,极致体积
用法
将项目分为插件项目和宿主项目。
下载插件库。 在宿主项目中将*.jar文件考入libs目录,或者加入构建路径。在宿主AndroidMainifest.xml注册插件使用的组件:
<service android:name="info.axbase.app.UpdateService"/>
<activity android:name="info.axbase.plugin.ActivityStub"/>
在Application.onCreate(必须是Application的)中初始化。
PluginClient.init(this);
启动插件:
PluginClient.getInstance()
.launch("071d9574-8332-e400-e438-a272329af08b(你新建项目获得的AppID)", MainActivity.this, true);
注意事项
插件中的组件,除Actvity外,必须在宿主AndroidManifest.xml中声明。
如果插件和宿主中含有相同的类,则优先使用宿主中的类。
公共库避免混淆
源码介绍
源码中axbaseCore为插件框架的核心代码。
axbaseHostApp和axbasePlugin分别为宿主Demo和插件Demo。
其中axbaseHostApp为AndroidStudio项目,其他为EclipseADT项目。
相关文档
项目主页:http://www.axbase.info/
使用说明:http://www.axbase.info/Doc/start
源码地址:https://github.com/chunquedong/axbasePlugin
|
|