新技术论坛
搜索
查看: 1127|回复: 0
打印 上一主题 下一主题

[Android] axbasePlugin——Android插件化开发框架

[复制链接]
  • TA的每日心情
    开心
    2016-12-9 18:18
  • 签到天数: 85 天

    连续签到: 1 天

    [LV.6]常住居民II

    扫一扫,手机访问本帖
    楼主
    跳转到指定楼层
    发表于 2016-5-30 13:05:06 来自手机 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    概述

    这是个一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
    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    手机版|Archiver|开发者俱乐部 ( ICP/ISP证:辽B-2-4-20110106号 IDC证:辽B-1-2-20070003号 )

    GMT+8, 2024-12-23 10:14 , Processed in 0.122387 second(s), 19 queries .

    X+ Open Developer Network (xodn.com)

    © 2009-2017 沈阳讯网网络科技有限公司

    快速回复 返回顶部 返回列表