
类型: 视频剪辑 版本: V9.5
大小: 856.1 时间: 2025-11-28




在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)足球赛事
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
5分钟即可让你的SDK拥有热修复的能力
节省踩坑和开发成本
hookandcreateGradleTask
Kotlin+groovy
热修复
非对称加密+对称加密
扩展美团Robust开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
无兼容问题
实时生效
修复成功率高达99.9%
在用户规模千万级别的app中验证过,可信赖
支持补丁异常自动失效,不用再担心补丁造成crash啦~
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.**
代理现货如何赚钱
1,951.4M
IPWhiz单文件版(ip切换器)是为大家提供的一个比较便捷的ip切换工具,功能强大还能为大家提供支持MAC地址更换,非常的好用,有需要的可以下载使用!IPWh...
白城人专属棋牌
54.0M
少年大钦差手游正式版是一款非常好玩的游戏,可以让你快速的找到自己需要的内容,里面的玩法多样自带很多的特色,可以让你快速的体验到当官的乐趣,需要的下载吧。让你快速...
小金提现
214.9M
人才赢行app是一款最新的招聘求职类软件,软件为用户提供海量的岗位机会,你只需完善简历即可进行投递,hr看到会给你打电话邀请面试,软件保证所有岗位信息全部真实!...
湖北雅苑棋牌苹果
579.4M
艺星兔app是一款非常好用的艺术教育学习平台,通过艺星兔app你可以随时的获得众多的艺术相关信息,独特的艺术技能可以快速的使用,让大家使用更加方便!艺星兔app...
抢茅台怎么赚钱
43.0M
今天小编为大家分享的是F-Stop媒体库,这是一款可供您在安卓系统设备上免费使用的急速图片浏览器,功能强大的照片管理器,和个人媒体库。大家赶紧下载体验吧!软件介...
创业低成本小生意路边
1,532.6M
气球守护者游戏是抖音上非常火爆的一款保护气球治愈系列游戏,游戏采用简约的画风打造,拥有海量的关卡等你来挑战,你需要替气球来扫除障碍,保护气球一路前进!游戏特色简...
我要吉祥棋牌室
1,656.7M
对于刚刚接触adobeaftereffectscc这款软件的新手用户来说,各种复杂的功能暂时用不上,可以直接下载adobeaftereffectscc绿色中文版...
兼职送餐需要交钱吗
446.9M
梦幻大陆折扣版拥有超大的游戏地图,玩家可以在其中探索不同的游戏场景,完成关卡挑战,并击败强大的敌人。游戏内有多种趣味模式,玩家可以升级改造自己的角色,装备各种武...
拍快手能赚多少钱
695.1M
航母大作战是一款航母战争题材的大型海战策略手游,这里有20多场惊心动魄的海上战争,依靠航母建造你的海上军事基地,消灭侵略者,成就一番功名!游戏玩法-纯正皮克斯画...
唱歌赚钱的app哪个好
86.3M
TP-LINK目前在我们的日常生活中可以说是必不可少,随着互联网的发展,现在家家户户都少不了wifi和网络。很多朋友们在购买TP-LINK时不知道该怎么设置网络...
微盘漏洞套利
501.6M
VMwareWorkstation(虚拟机)汉化版是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试、部署新的...
在家网络赚钱l
801.7M
镜子mirror是一款steam上的消除类游戏,简单有趣的游戏玩法加上二次元美少女,让游戏内容不再单调,而且还能解锁不同的内容,与外面那些消除游戏一点都不一样!...
仙剑98怎么赚钱
1,343.2M
这是一个沙盒模拟类型游戏,很多玩家都在关注,在这里玩家可以体验到更多的玩法,比较简单的操作模式,这是全新的完整版本免费使用各种道具,非常值得关注的平台!上帝模拟...
手机挂机日赚50项目
1,311.4M
超时空舰队是一款非常好玩的手机游戏,这款游戏以星际之战为背景,玩家为了守卫自己的星球只有不断的变强。喜欢这款游戏的朋友就来东坡下载吧。相信这款游戏不会让你失望的...
龙虎斗棋牌游戏推荐
1,861.3M
风云高爆版是根据风云的动漫改编而来的游戏,游戏的亮点在于上线送v15而且爆率非常的高,在游戏之中我们可以体验到最真实的武侠格斗,用你的操作征服所有,感受国风武侠...
来钱贷客服电话
2025/11/21 17:43
8864游戏棋牌
2025/11/20 18:18
入门兼职推荐
2025/11/26 14:44
现金棋牌支持花呗
2025/11/18 16:28
星际联盟赚钱app下载
2025/11/13 15:11
定投十年赚十倍公众号
2025/11/25 11:50
怎么靠nft赚钱知乎
2025/11/24 20:28
樊登读书会代理赚钱吗
2025/11/12 18:46
写文挣钱网站推荐
2025/11/23 09:59
小投资创业找项目知乎
2025/11/25 16:58
新版亲友棋牌在哪里
2025/11/20 12:35
合粉怎么赚钱
2025/11/25 09:55
月赚多少可以开宝马
2025/11/21 18:28
发布视频能赚钱的软件
2025/11/17 00:09
地摊什么最暴利
2025/11/21 21:06
地摊什么最暴利
2025/11/21 21:06更新
峡谷电竞是一款手机电竞软件,平台每日更新游戏攻略和最新资讯,用户可以在这里邀请大神带你一同游戏,还可以寻找志同道合的游戏好友。软件功能:赛事回看:错过心爱战队的...
支持 ( 143 ) 盖楼(回复)
支持 ( 98 ) 盖楼(回复)
支持 ( 114 ) 盖楼(回复)
支持 ( 78 ) 盖楼(回复)
支持 ( 123 ) 盖楼(回复)
支持 ( 112 ) 盖楼(回复)
支持 ( 14 ) 盖楼(回复)
支持 ( 51 ) 盖楼(回复)
支持 ( 173 ) 盖楼(回复)
支持 ( 9 ) 盖楼(回复)
支持 ( 155 ) 盖楼(回复)
支持 ( 173 ) 盖楼(回复)
支持 ( 196 ) 盖楼(回复)
支持 ( 134 ) 盖楼(回复)
支持 ( 102 ) 盖楼(回复)
支持 ( 114 ) 盖楼(回复)
支持 ( 200 ) 盖楼(回复)
支持 ( 144 ) 盖楼(回复)
支持 ( 77 ) 盖楼(回复)
支持 ( 125 ) 盖楼(回复)