5分钟即可让你的SDK拥有热修复的能力
节省踩坑和开发成本
hookandcreateGradleTask
Kotlin+groovy
热修复
非对称加密+对称加密
扩展美团Robust开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
无兼容问题Stalker Cat Live Wallpaper免费下载-潜行猫壁纸app2.1 安卓免费版
实时生效
修复成功率高达99.9%
在用户规模千万级别的app中验证过,可信赖
支持补丁异常自动失效,不用再担心补丁造成crash啦~
在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
1.添加配置和开关
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.**
SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
pc蛋蛋q群 五大联赛下注 沙巴体育骗 博鱼体育安全 博美狗粮标准展开内容
51充能游戏充值交易-51充能(游戏交易)5.8.0.0 官网最新版
华禾剧场app下载-华禾剧场1.0.0 安卓版
打价宝app-精臣打价宝app1.3.5 中文最新版
忍者逃亡单机版下载-忍者逃亡单机版1.2.1 安卓免费版
宝宝巴士宝宝学形状游戏下载-宝宝学形状游戏9.0.1000 官方ios版
合并玩具和飞机游戏下载-合并玩具和飞机(Merge Toys and planes)1.0 安卓版
喵星联盟无限钻石版下载-喵星联盟(送神宠皮卡丘百万钻)折扣服1.0.0 福利版
速度之球游戏1.032 安卓版
跳舞的线线球手游-跳舞的线线球1.1 安卓最新版
e椒江客户端下载-台州椒江新闻平台(e椒江)1.1.0 本地版
MC-6DD85使用说明书-松下MC-6DD85吸尘器说明书pdf免费版
陌陌记录导出助手V2013 build 131111 绿色免费版
智慧云阳苹果版-智慧云阳app1.0.33 IOS官网版
烧脑大乱斗下载-烧脑大乱斗游戏1.0.1 最新版
99康养商家版下载-99康养商家版app1.6.10官方安卓版
8.0/1,304.1M
破产公主游戏是一款模拟带货主播进行直播带货的小游戏,游戏里需要先去制作厂把带货需要的物品制作出来,再到直播间补货进行售卖,获得的金币可以去解锁更多游戏玩法,还可...
8.9/166.6M
特盐是一款集小说阅读与OC创作社交于一体的二次元APP,提供海量正版小说资源和详细的分类频道,同时支持用户创建原创角色档案、发布OC作品并与其他创作者互动,打造...
8.6/787.5M
装甲对抗,火力全开!二战背景坦克集群战手游震撼来临!惊喜一:次日登陆即送五星橙色坦克,战力提升,彰显王者风范!惊喜二:福利招财猫,是聚宝盆,也是摇钱树,比炒股保...
特色美食培训app下载-特色美食培训app1.1.27 安卓版
8.0/224.3M
特色美食培训app是一款不错的技术培训类软件,用户可以在这里学习王师傅独家的美食技术,无需再去现场学习,简单易学!软件介绍王师傅美食技术在线培训,口味正宗,简单...
7.7/320.6M
一个人看电影是多么的无聊,就是单单的看电影无聊。一款新型软件,和众人一起看电影。一起评论电影的情节。还能在这款app里面购买衣服!更多功能等着你发现。美否安卓版...
Stone Drift游戏下载-Stone Drift(石头打水漂游戏)1.0.4 安卓版
9.5/27.9M
StoneDrift是一款休闲的石头打水漂游戏,清新的游戏画风,控制不同的强度和方向扔石头,让石头在水上漂,漂的越远越好。玩法点击屏幕操作,看好进度条,越在中间...
9.6/1,783.3M
火车太顺拥有庞大的影视资源库,覆盖了国内外各种类型的电影、电视剧、动漫和综艺。无论是最新的院线大,还是经典剧,能在这里找到。每日更新,与各大视频平台步,能够第一...
8.0/1,826.6M
万听音乐这里为大家准备的音乐歌曲非常的多,不论是什么歌曲都能通过这个软件进行收听,精选国内外优质儿童绘本故事,同时保留了儿童绘本的经典内容。采用生动甜美的配音,...
挑战者手表表盘app下载安装-Challenger挑战者表盘2.0.0 安卓版
8.3/580.5M
挑战者手表表盘模拟器ChallengerWatchFace,如果你已经购买了Challenger挑战者手表的话,那么你就可以下载这个软件到自己的手表上安装使用。...
p图玩app下载-PickU一键抠图(p图玩软件)1.0.0 安卓版
8.0/1,600.9M
p图玩app下载分享,送给期待的用户们,这是一款免费强大的图片处理神器,你们可以自由的进行p图和修图,提供了多样的功能使用,快速轻松就可以在手机上完成精修p图,...
城镇建设模拟器游戏下载-城镇建设模拟器(communite)1.300000417 安卓版
9.0/277.1M
城镇建设模拟器是一款卡通画风的建造手游,玩家需要建设一个别具特色的城镇,在游戏中尽情释放自己的设计与审美能力,打造出承载自己理念的城市出来吧,感兴趣的小伙伴快来...
地下城与勇士守护游戏下载-地下城与勇士守护手游2.1 安卓最新版
8.9/1,721.9M
地下城与勇士守护是一款地下城冒险题材的战斗rpg手游。游戏有着丰富的玩法内容,海量的游戏职业和角色可以选择,完美复刻了经典地下城游戏。海量的任务等你来领取,给你...
赶公共汽车游戏下载-Catch The Bus!(赶公共汽车手游)1.0 安卓正式版
9.6/1,091.1M
上班一族都有上班追公交车的一幕,赶公共汽车手游就是将这一幕搬到了手机上,你将再次体验为了上班不迟到而追公交,有两种模式供选择,在追的过程中还要小心路上的各种障碍...
Ghost Win7 x64旗舰装机版-雨林木风Ghost Win7 x64旗舰装机版YN2017.05
9.5/1,006.9M
雨林木风GhostWin7x64旗舰装机版是最新的装机系统,集成了硬件驱动,自动识别硬件一键装机,众多实用的软件,恢复速度更快,装机更加的省心。雨林木风Ghos...
endnotex3-EndnoteX3使用说明书(简体中文版)pdf格式高清版
7.8/1,662.9M
EndnoteX3是什么?EndNote(endnotex3)是一个在线检索工具,它可以帮助用户轻松查询在线书目资料库书目(包含自各种不同的在线服务或资料库,汇...
实况足球2015全版本五项修改器(沉思千年版)1.0 免费版
9.6/1,871.5M
实况足球2015全版本五项修改器就是款名为《实况足球2015》的游戏修改工具,他不但具备无限金钱、无限体力等,而且还能有对方进球时比分为零这样非常霸道的功能,让...
南阳市高龄津贴APP下载-南阳市高龄津贴认证软件20221.1.31 最新版
9.7/1,386.2M
南阳市高龄津贴认证系统方便了老年人的津贴认证流程,直接通过app线上办理,让社区工作人员少跑腿,让老年人在家拿津贴。南阳市高龄津贴认证软件2022功能1、对于保...
撸极品游戏激活码app下载-撸极品游戏激活码手机版1.2 亲测可用版
7.7/877.7M
撸极品游戏激活码手机版可以抢到世面上面大部分的内测游戏的激活码,而且这个是完全免费的,直接的可以使用助力帮助你抢到,不限制抢到多少次,可以免费帮助你提前玩游戏!...
8.8/861.9M
这是一款专注于网络个性表达的语句生成工具,内置海量网络用语与抽象表达素材,支持基于热门梗生成独特语句。界面设计简洁直观,操作流程便捷,无需复杂步骤即可快速产出适...
7.6/1,993.6M
酷猫跑酷破解版游戏免去了广告,这款游戏与寻常跑酷游戏有点区别,它还融入了射击玩法元素,在游戏中尽享跑、冲、条带来的极速感,金币收集的越多,积分越高,就可以解锁更...
极武尊1.6地图下载-极武尊1.6正式版附攻略和隐藏英雄密码
9.2/161.6M
极武尊1.6正式版是一张十分热门的魔兽防守类型地图,很多玩家都在关注,可玩性十分高,新版本更新了很多内容,调整了一些玩法,还有攻略和隐藏英雄密码分享哦!极武尊的...
7.9/1,991.9M
当你和好友聊天,总是想知道他所在的地区,这时就可以用金达QQ地区查询器,这样就能快速的知道你想要了解的人地址,还能把这样地址进行保存,让你下次就进行相关的应用。...
yg select官方app安卓下载-yg select1.6.20070 官方版
8.0/189.8M
ygselect是一款追星平台软件,大家可以在这里看到自己喜欢的偶像,并且还能与她互动哦,第一时间看到新鲜的照片和视频等,使用起来非常方便,感兴趣的小伙伴快来东...
极略三国果盘版下载-极略三国手游果盘版5.2.0 果盘最新版
7.6/1,080.3M
极略三国手游果盘版是一款单机三国杀类卡牌游戏,精致唯美的武将头像、酣畅淋漓的卡牌对决、创新独特的自创武将,带给你极爽的游戏体验!喜欢的赶紧下载吧!极略三国手游果...
9.9/937.7M
湖北省扶贫办是一款办公的软件,可以通过软件的使用情况了解湖北省内的发展情况,可以更好地去扶贫,更好地去改善人民的生活水平,让百姓有着更好的生活。湖北省扶贫办特色...