SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
5分钟即可让你的SDK拥有热修复的能力
节省踩坑和开发成本
hookandcreateGradleTask
Kotlin+groovy
热修复
非对称加密+对称加密
扩展美团Robust开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
无兼容问题
实时生效
修复成功率高达99.9%
在用户规模千万级别的app中验证过,可信赖
支持补丁异常自动失效,不用再担心补丁造成crash啦~
1.添加配置和开关城堡之夜手游下载-城堡之夜手游1.0 安卓手机版
1.1在项目gradle.properties中添加开关和配置
#接入第一步:添加配置和开关
#Application模式,Robust需要是Application才能插入代码和打补丁
isAppModule=false
#Application模式下开启这个就可以打补丁
isPatchModule=false
#你的业务sdk的包名
sdkPackageName=com.feelschaotic.samplesdk
#是否开启混淆,一般情况下sdk默认不混淆
isProguard=false
#业务sdk版本号,请保持三位,且无后缀,且在打包前就要确定好版本,确保版本打在包中
SDK_VERSION=0.0.1
#业务sdk的upload_artifact_id
SDK_ARTIFACT_ID=MY-SAMPLES-SDK
1.2在sdkbuild.gradle中加入配置替换原有的 applyplugin:'com.android.library'
//注意!!一定要放在文件最前面
//applyplugin表示该项目会使用指定的插件,sdk对应的是com.android.library
if(isAppModule.toBoolean()){
applyplugin:'com.android.application'
if(isPatchModule.toBoolean()){
//制作补丁时将这个打开,auto-patch-plugin紧跟着com.android.application
applyplugin:'auto-patch-plugin'
}
applyplugin:'robust'
}else{
applyplugin:'com.android.library'
}
applyfrom:rootProject.getRootDir().getAbsolutePath()+"/packPlugin.gradle"
1.3加入buildConfigField
//视情况而定,如果你在初始化热更sdk时的传入的版本号有另外的取值方式,也可以不加此buildConfig
android{
defaultConfig{
buildConfigField"String","SDK_VERSION",""${SDK_VERSION}""
buildConfigField"String","SDK_ARTIFACT_ID",""${SDK_ARTIFACT_ID}""
}
}
1.4在sdkbuild.gradle中配置签名
android{
//签名的配置
signingConfigs{
debug{
}
//release版本的签名
release{
//签名的一些信息
keyAlias'key0'
keyPassword'123456'
storeFilefile('./hotfix.jks')
storePassword'123456'
}
}
}
1.5配置混淆
复制粘贴配置到sdkbuild.gradle
android{
buildTypes{
innerTest{
//...
matchingFallbacks=['debug','release']
}
release{
signingConfigsigningConfigs.release
minifyEnabledisProguard.toBoolean()//此处取的isProguard就是1.1在项目`gradle.properties`中添加的isProguard开关
proguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
sourceSets{
main{
//Application和Library清单文件处理方式不同
if(isAppModule.toBoolean()){
manifest.srcFile'src/main/debug/AndroidManifest.xml'
}else{
manifest.srcFile'src/main/release/AndroidManifest.xml'
}
}
}
}
复制粘贴示例sdk的lib-proguard-rules.pro到业务SDKmodule目录下,修改文件中的包名
接着配置好sdk自己的混淆规则
android{
defaultConfig{
consumerProguardFiles'lib-proguard-rules.pro'
}
}
2.导库
在sdk的 build.gradle 中引入库
implementation'com.github.feelschaotic:SDKHotFix:XX-RELEASE'
XX为最新SDK版本号,例如implementation'com.github.feelschaotic:SDKHotFix:1.3-RELEASE'
注:最新版本见README标志
在根项目build.gradle中加入maven配置
repositories{
//接入第二步:增加maven配置
maven{url"https://mvnrepository.com/"}
}
...
allprojects{
repositories{
maven{url"https://mvnrepository.com/"}
}
}
再添加classpath配置
//Application模式下引入Robust脚本插件
if(isAppModule.toBoolean()){
classpath'com.github.feelschaotic:Robust.gradle-plugin:0.4.87.5-RELEASE'
classpath'com.github.feelschaotic:Robust.auto-patch-plugin:0.4.87.5-RELEASE'
}
4.复制示例项目的脚本和文件
4.1复制MainActivity.java到sdkmodule的java包名目录下(目的是为了application打包配置不报错)
4.2复制debug和release2个文件夹到main目录下,修改里面的AndroidManifest.xml,更改为你自己业务SDK的包名
<manifestpackage="${packageName}"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
4.3复制robust.xml到sdkmodule根目录,更改下包名
4.4复制packPlugin.gradle到项目的根目录
5.初始化热更库
valconfig:HotfixConfig=HotfixConfig.Builder().debug(true)
.appVersion(BuildConfig.VERSION_NAME)
.packageName(BuildConfig.APPLICATION_ID)
.build()
HotfixManager.init(application,config)
6.添加权限
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
7.加入混淆
-keepclasscom.alibaba.sdk.android.oss.**{*;}
-dontwarnokio.**
-dontwarnorg.apache.commons.codec.binary.**
在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
万博众博bob 体彩足球欧洲杯 柠檬体育‘’ 体育课重要性 随手记的体验金展开内容
伐木帝国去广告下载-伐木帝国去广告版游戏Lumber Empire2.0.3 免广告版
文字变音频app下载-文字变音频app2.5.0 安卓版
Hosts文件更新软件下载-Hosts文件更新软件(updateHosts)1.0 绿色版
話梅商城下载-話梅harmay1.1.0 安卓版
CL冠军联盟国际版下载-CL冠军联盟国际服1.24.0全球版
爱藏网下载安装-爱藏app官方(钱币收藏)4.8.0.2 安卓版
画走不开心下载-画走不开心游戏1.0.1 最新版
小惊喜礼物下载-小惊喜app1.0.16官方安卓版
3d parallax壁纸下载-3D壁纸(3d视差壁纸启动器app)9.9.9安卓中文版
历史是不能被改变的游戏下载-历史是不能被改变的APP1.5 最新版
自我介绍-自我介绍优秀范文doc格式
汽车装饰加盟-最新的汽车装饰加盟十大品牌doc格式【word免费版】
热血雷霆合击版下载-热血雷霆合击版1.0.6308 最新版
电梯智联app-电梯圈APP1.3.01安卓正式版
绘本ppt下载-奥菲利亚的影子剧院绘本ppt免费版【共15页】
一键Ghost优盘版(系统备份还原工具)2014.01.14 官方最新版
职场有料app2.1.0 安卓版
autocad 2012 mac下载地址-AUTO CAD 2012 for MAC官方英文原版
千千短剧app下载-千千短剧app1.12.0 安卓版
网速测试工具-魔方测速v1.03 绿色单文件版
爱意送礼神器下载-推荐送礼物的app(爱意app)2.3.1 官网最新版
雪刀群侠传超V版1.0 最新版
儿童教育圣诞晚会下载-儿童教育圣诞晚会9.7官方最新版
net framework组件包(dotnetfx)4.0官网正式版【支持64位】
葫芦兄弟七子捉妖记下载-葫芦兄弟七子捉妖记手游1.0.17 官方版
9.3/1,775.4M
操控2在线版是一款游戏画风极为逼真的军事战争模拟手游,在游戏中玩家可以操控军人与队友进行战斗,游戏地图非常大,地形众多,快来运用自己的军事头脑进行战斗吧!感兴趣...
母鸡繁殖模拟器下载-母鸡模拟器(母鸡繁殖模拟器手游)1.0 手机版
8.7/1,808.8M
母鸡繁殖模拟器下载,这是一款魔性好玩的模拟器游戏,在游戏中,玩家要帮助母鸡穿越重重困难,在规定的时间内找到最适宜孵化鸡蛋的环境,游戏玩法有趣,操作简单,感兴趣的...
饭店停车场大亨游戏安卓下载-Car Parking Tycoon(饭店停车场大亨)1.0.13 安卓免费版
9.2/1,748.6M
饭店停车场大亨游戏是一款非常有趣的经营游戏,玩家经营的是一个停车场,需要让客人在停车场停车换取收益,及时打造客人留下的垃圾保持清洁,不断扩大自己的经营规模,非常...
7.8/1,379.7M
故事旅程app是一款特色旅游服务软件,为用户带来了精彩的旅游服务,提供热门旅游线路,精选的民宿,让你的旅程不一般!故事旅程app介绍故事旅程,希望通过一个个故事...
热血神剑之热血豪侠游戏下载-热血神剑之热血豪侠手游1.5.7.000正式版
7.6/1,527.9M
热血神剑之热血豪侠手游是一款充满着热血的武侠战斗游戏,多样化的随机地图任你自由探索,即刻开启激情四射的开黑挑战,在热血神剑之热血豪侠中享受闯荡江湖带来的无穷快感...
9.5/1,186.1M
无尽箭域这个游戏的玩法是肉鸽射击类型的设计。在游戏中玩家角色将会不断的使用弓箭来攻击前方的敌人,当玩家在规定时间内击败它将会获得一定量的突破值,当突破值满了之后...
8.9/563.9M
叶罗丽跑酷新玩法,朋友圈疯狂种草,根本停不下来!叶罗丽风之旅游戏采用了经典的角色,边跑边斗,最畅快的掌间跑酷乐趣开启等你体验。叶罗丽风之旅游戏介绍用魔力搭配各有...
Piece动画app下载-Piece动画制作官方版1.3.7.7 最新版
7.6/1,980.8M
pieces动画又叫皮皮动画,它融合了文本语音生成、文本图像生成、文本视频生成等多项AI技术,为用户提供更高效、更便捷的动画视频创作体验。只需简单输入文字(支持...
QQ空间音乐提取软件下载-QQ空间音乐提取工具1.0 绿色免费版
8.0/464.5M
QQ空间音乐提取工具帮助你提取你需要的QQ空间的音乐,不管他/她的空间是不是对你设置了什么都是可以直接的使用东坡小编为你推荐的这款QQ空间音乐提取工具来帮助你!...
史诗战争模拟2手机版下载-史诗战争模拟2中文版1.0.1 安卓版
8.1/1,288.3M
模拟古代战争的游戏,这里双方可以通过自己的资源开始购买获得士兵以及动物士兵开始作战,获得最后的胜利是很重要的,如果失败,那么建议先升级自己的士兵,也就是需要赚取...
8.2/1,603.5M
《怪奇之旅(AWeirdQuest)》是一款2D像素风格的恐怖冒险类游戏,一名小女孩在黑暗的世界中失去了自己的灵魂,你所扮演的侦探要深入黑暗之中。游戏玩法以一个...
9.3/929.5M
平安宝贝是一个视频的管理应用,可以进行多种地方的监控,家长以及用户实现实时对孩子以及学校等情况的远程监控,还能对用户进行后台的权限设置。平安宝贝说明本应用结合物...
8.0/504.8M
方糖机器人是一款配套专属app,大家购买到机器人之后,使用这款软件能详细知晓各种机器人拼装教程,参照对应型号进行组装即可,且这款软件还能当做遥控器进行使用,操控...
云观虫谷游戏Idle Bugs下载-Idle Bugs(云观虫谷2022小游戏)1.4 免费版
8.3/833.5M
你还记得自己吃过多少只虫子吗?虫子就在我们身边,它们真的有虫子!难道你不想进入一个错误的生活,看看在另一边是怎样的,而不是在被动的一方!在这个热闹的游戏中扮演臭...
7.6/212.1M
我的黄石app是一款由黄石日报推出的生活服务、资讯平台,为黄石地区用户提供一系列的天气预报、路况、违章、水电费缴费等便民生活服务,最新本地新闻资讯第一时候更新,...
8.2/1,198.4M
群英会是一款为大学生打造的校园app手机软件,该软件主要功能就是,课堂签到,社团活动提醒,学习计划,失物招领等等各实用的app,使用起来非常方便,你还在等什么,...
迷你小镇豪华酒店手游下载-迷你小镇豪华酒店11.2.7最新版
8.9/1,004.5M
迷你小镇豪华酒店是一款模拟游戏,在这款游戏中大家可以经营属于自己的酒店,需要动用你的智慧让酒店经营好起来,你在这个卡通世界中将成为酒店的管理者,通过自身过人的能...
9.5/1,105.1M
经常玩游戏的玩家因该知道运行各种吃内存的大型游戏的时候电脑会非常的卡顿,这个时候清理一下内存,效果会好一点,这是因为游戏和各种软件将电脑的内存占用满了,导致系统...
9.4/1,899.4M
今天,小编给大家介绍一款房屋租凭软件。鼎丰房屋租赁系统是一款实用且界面有友好的管理软件。软件集成了对出租房、销售房的备案;对求租客户、求购客户的备案;各个客户的...
8.3/1,565.7M
其实很多时候我们在用手机下载软件的时候,总是喜欢看评论的好坏,才会决定的不是会去下载,这时如果评论太少,就来选择安卓市场评论助手,就能实现一键提...
9.5/1,898.8M
小霸框架是一款非常实用的框架软件,它不仅能防止你在使用软件或者玩游戏的闪退现象,还能提升你的手机运行速度,防止卡顿,有需要的朋友们快来东坡下载吧!小霸框架软件介...
7.9/1,519.0M
梦回仙域是一款非常好玩的修仙手机游戏,这款游戏以东方上古神话为背景,游戏中玩家可以遇到非常多的上古人物,并且这款游戏中还可以随机捡到礼包。阵营系统介绍阵营分为三...
8.7/732.6M
爱帮公交iphone版是一款非常好用的公交查询软件,免费提供全国公交地铁换乘查询服务,支持地图上地点对地点/站站/站点及路线查询,公交换乘方案还含有地铁线路,是...
极品飞车16:亡命天涯修改器-极品飞车16:亡命天涯十项属性修改器+10v1.0 正式版
9.6/905.2M
极品飞车是EA艺电旗下的著名赛车游戏,该系列的游戏已经是老牌作品,其游戏的质量母庸置疑。该修改工具可以帮助玩家修改多个属性选项,畅玩极品飞车必备,欢迎使用下载。...
8.3/639.7M
小豆小说app是一款可以阅读众多小说的app,超多不同种类的小说可以免费的阅读,各种小说支持一键的换源播放,并且有着各种不同的分类风格,让大家找到自己想要的资源...