无兼容问题
实时生效
修复成功率高达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.**
在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
5分钟即可让你的SDK拥有热修复的能力异能勇者变态版下载-异能勇者网游变态版2.1.0BT版
节省踩坑和开发成本
hookandcreateGradleTask
Kotlin+groovy
热修复
非对称加密+对称加密
扩展美团Robust开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
3d重号走势图 pk10彩下载 e体育运营平台 B体育苹果下载 武汉市体育学校展开内容
蜻蜓抓包下载-蜻蜓抓包软件1.0.1 苹果版
美食大赏app2.5.3 安卓手机版
氧气健身软件下载-氧气健身app1.0.7安卓版
仙界之殇折扣福利版性质-仙界之殇手游1.1.8352充值折扣版
战争地带2100 复活版[绿色版] - 即时战略游戏
白嫖者APP官方下载安卓版-白嫖者(工具箱)APP1.1 最新版
手机名片扫描软件下载-名片扫描王1.6.6 安卓最新版【手机名片扫描软件】
锤子m1/m1LSmartisanos图钉3.7系统下载-锤子m1/m1LSmartisanos图钉3.7官方版
宝宝快乐学数字下载-宝宝快乐学数字1.1.1官方安卓版
梦幻谷之旅手游安卓版3.0 最新版
保持习惯app-保持习惯(Keep Streak)1.2.12 安卓免费版
安尔发车闸管理系统(安心点车闸管理系统)5.6.6 官方免费版
红色风格医药医疗医学专业ppt模板精美版
百炼成仙1.1.92地图下载-百炼成仙1.1.92正式版【隐藏英雄+攻略】
有谱爱学习家长客户端下载-有谱家长app1.0安卓版
云丁智能密码锁门锁APP-云丁智能门锁app0.2.0 公寓远控版
10.0/1,518.5M
使用云丁智能APP,您可以通过手机方便的管理公寓出租情况,通过门锁控制房间使用权。云丁智能门锁app特色1.管家密码、保洁密码、动态密码、离线激活码下发;&nb...
9.7/1,581.0M
立行车管家是一个汽车生活服务软件,为用户提供丰富的汽车增值服务,可以通过平台洗车、保养、办理违章等服务!软件介绍立行车管家APP是一款为车管家量身打造的,通过提...
8.6/369.2M
宇德在线手机版app是一款智能的课堂教学指导软件,在上面用户可以记录日常学习状况,进行学习测试,每日打卡学习,整理错题,选择适合自己的课程进行学习等等。宇德在线...
8.7/1,475.0M
米娜桑!崩坏3rd采用的是3D格斗的玩法,有爽快的分支连招,有风骚的战斗走位,有炫酷的3D场景,当然还有各种可口的妹汁。呐,声优也有惊喜哟>ω<,快来下载吧·崩...
7.8/200.2M
空中赛车游戏是一款休闲类赛车游戏,游戏中与传统的赛车车道不同,他是在天空之中的,并且有着绚丽的色彩,包含了众多不同的场景可以自由的挑战!空中赛车游戏介绍一款极具...
微信订阅号助手app安卓版下载-微信公众号安卓客户端2.4.5 正式版
8.6/391.9M
现在微信公众号已经成为了传媒的重要渠道之一,微信为了加强管理推出了微信订阅号助手app,通过APP,可以通过手机比电脑更方便的登录公众号后台,随时处理后台信息,...
9.8/534.2M
八字排盘宝是一款简传统古朴的八字排盘工具,用户可以在这里看到自己的生辰八字,命运走向,配合阴阳五行,精确预测你人生各个阶段的贫贱富贵,功能全面,版面美观合理,操...
坦克射击百度版下载-百度版坦克射击3.1.0.1 安卓最新版
9.7/633.8M
百度版坦克射击是一款实时对战类型的3d战争游戏,呈现殿堂级畅爽打击感,精美大气的画质,给你无与伦比的畅爽体验,4399坦克射击登陆还会送各种资源,喜欢就来下载吧...
9.4/1,809.6M
爱美屏app让你的手机更加的美观。这是一款实用的手机美化软件,主题提供的就是图标,壁纸,头像素材,还可以进行自由的创作,个性就要自己搭。爱美屏app功能[图标]...
9.3/1,470.2M
书云云小说APP是一款小说阅读软件。它拥有海量免费小说资源,涵盖言情、都市、武侠等众多类型。用户能畅享无限制阅读体验,软件支持离线下载和多种阅读模式。其智能推荐...
9.1/1,972.4M
美图浏览器是一款界面非常漂亮的手机浏览器,为用户带来了经常的娱乐八卦信息,随时了解新闻资讯,不错过任何热点!美图浏览器特色【清新首页】简洁清新的首页风格,带来干...
三国大领主果盘版下载-三国大领主果盘客户端2.22.0 安卓版
10.0/1,681.9M
三国大领主果盘版是一款非常好玩的策略游戏,在游戏中,玩家首先开局是一位小小的领主,你需要带领你的兵种来慢慢生产城市资源,去争夺领土,成为最大的领主者。游戏介绍三...
Tractor Village Farming牧草拖拉机犁农业收割机冠军手游1.0.1安卓版
8.0/293.2M
这是一款以农业为主的模拟驾驶游戏,牧草拖拉机犁农业收割机冠军手游中玩家需要操控拖拉机完成农业耕种,帮助更好的管理农作物,让你的农场更加繁荣。牧草拖拉机犁农业收割...
8.9/876.5M
现在很多家长总是很担心自己家的孩子能否健康成长,因为现在适合孩子们看的视频播放器越来越少,其实像乐沃儿童影音就很不错,是专门针对小朋友们研发的软件,可以让他们在...
8.2/639.4M
这是一款简单好玩的休闲游戏,球球开火手游中玩家点击屏幕发射球球,击中前方的积木塔,记得小心避开旋转的障碍物,一旦射中就会失败,每一关的障碍物会有所不同,只要掌握...
嗨free-嗨free(免费购物商城)1.2.4 手机客户端
9.9/920.2M
买东西不要钱?是的来免费购物商城嗨free购买商品真的不要钱,你只需要完成指定的游戏互动任务就能免费获得,还你可以攒金币,换更大更丰富的奖品,还等什么?赶快加入...
我就是洪荒天道下载安装-我就是洪荒天道游戏1.0.5 最新版
8.9/1,991.6M
我就是洪荒天道这是一款以文字形式来表达的修仙手游,通过每一个势力的战斗力来提高地位,游戏内的故事事件非常的完成,一反往常修仙游戏玩法,再修仙世界中独揽整个世界。...
9.1/528.6M
这是一款智能设备机器人软件,和你的手机联合可以打造一个智能语音设备,类似于siri的用法,可以帮助你整理各种信息,生活便捷助手!软件介绍八戒机器人APP是配合八...
提莫幽灵特工壁纸下载-lol提莫幽灵特工动态壁纸wmv格式【高清原画】
9.1/173.7M
提莫人的印象中还是比较萌的,但是提莫幽灵特工皮肤就改变了大家的看法,这里就给大家带来lol提莫幽灵特工动态壁纸,采用的是高清原画,全副军事武装,身穿迷彩服,手持...
8.5/430.4M
偶像养成记是一款乙女向的手游,是一款结合了乙女和偶像培养的手游,游戏中有非常好玩的玩法,多样的剧情介绍,可以和喜欢的偶像一起成长,让偶像成团,一起组队来玩吧。偶...
9.6/891.6M
好利游是一款福利满满的传奇游戏盒子,各类游戏分配详细,应有尽有,上限就送vip,海量平台币、代金券免费送,海量游戏资源总有一款受你青睐,喜欢玩传奇手游的朋友们可...
高考说说带图片大全下载-2017高考加油说说带图片大全最新励志版
9.6/724.2M
2017年6月7日就是高考的日子了,在qq空间、朋友圈可以发表说说给自己加油,小编提供的是2017高考加油说说带图片大全,发表高考励志说说,附有精美的图片。精选...
7.7/1,295.9M
瓜皮TV怎么投屏,瓜皮tv能不能投屏,都是问题哦,实际上是可以投屏的,并且轻松实现,直接在瓜皮tv上点开播放后可以看到右上角有个TV的标志,允许瓜皮tv运行在最...
天天奔跑打怪兽0.1折手游下载-天天奔跑打怪兽(送海量代金券0.1折)1.0 红包版
8.8/359.2M
《天天奔跑打怪兽-0.1折全新Q萌二次元卡牌手游》是一款以「低氪高福利」为核心卖点的二次元题材卡牌手游,融合了策略战斗、角色养成与挂机探索玩法。游戏采用日式卡通...
8.2/345.2M
乐享沙河app是一款沙河本地生活服务平台,吃喝玩乐,一个app全部搞定,还可以在这里分享交流生活,体验同城生活服务!乐享沙河app介绍吃喝玩乐购,沙河人自己的A...