Android 后台部署发布新插件

从事Android开发已经8年有余了,最近在搭建公司的热修复的架构,从0开始,前前后后一个月左右的实现,实现了模块的动态发布功能,废话少说,直接上原理和代码。


Android 后台部署发布新插件

以上是大概的原理图。

后台配置的模块数据结构如下:

                                        {
    "parentkey": "1",//从属关系,暂定为1
    "key": "",//唯一标识符
    "bundleid":"",
    "namecn": "中文",//模块中文名称
    "nameen": "英文",//模块英文名
    "imageurl": "图标地址",//图标下载地址
    "type": "android",//android,html5
    "htmlinfo":{//html5
     "version": "版本号",//
     "url": "链接地址",//H5 模块的打开地址
     "resourceurl": "图标地址",//H5资源包下载地址
    },
    "plugininfo": {//android
        "bn": "ClientBundle",
        "vn": "1.0.8",
        "bs": "2900KB",
        "pn": "",//插件包名
        "an": "",//插件activity名称
        "mam": "",
        "el": [
            {
                "k": "dealutleftid", //intent.put()中的key
                "v": "2",
                "t": "string"
            }
        ],
        "p": "20", 插件支持的sdk
        "up": "1", //是否强制升级
        "autodownloadtype": "1"//是否开启后台服务自动下载
    }
}

//通过解析版本号,动态升级插件,也支持用cordov打开H5,和H5通信等功能。今天就先写到这里,后续再优化,如果有不懂的地方也可以给我发邮件,我的邮箱地址

[email protected],欢迎交流沟通。