Android 后台部署发布新插件
从事Android开发已经8年有余了,最近在搭建公司的热修复的架构,从0开始,前前后后一个月左右的实现,实现了模块的动态发布功能,废话少说,直接上原理和代码。
以上是大概的原理图。
后台配置的模块数据结构如下:
{
"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],欢迎交流沟通。