无兼容问题
实时生效
修复成功率高达99.9%
在用户规模千万级别的app中验证过,可信赖
支持补丁异常自动失效,不用再担心补丁造成crash啦~
在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)傲娇壁纸隐藏模式下载-傲娇壁纸隐藏模式版3.0 最新版
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
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.**
5分钟即可让你的SDK拥有热修复的能力
节省踩坑和开发成本
hookandcreateGradleTask
Kotlin+groovy
热修复
非对称加密+对称加密
扩展美团Robust开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
展开内容
记录大学生活-大学生活总结PPT最新整理版【大学生活ppt】
行China下载-行China手机版1.4.3 最新版
儿童益智汽车游戏下载-儿童益智汽车游戏app4.99.2111k 安卓版
勇士回归游戏下载-勇士回归1.5.3 安卓版
梦幻天骄之封神崛起手游下载-梦幻天骄之封神崛起最新版1.0 安卓正版
位语app下载-位语app2.1.7 安卓版
止鼾神器app-止鼾健康管理APP1.2.1官方免费版
卡盟供货商-卡乐购卡盟供货商助手4.81 绿色版
GIF图片录制软件(Screen To Gif)v0.6 绿色汉化版
冒险吧岛民官网正版下载-冒险吧岛民官方版1.2.6.43首发内测版
大猫高中英语app下载-大猫高中英语app1.0.0 安卓版
超级小牙医游戏下载-超级小牙医2.0 手机版
BiGeMap全能版下载-bigemap高清卫星地图手机版2.5.2 中文版
对庄app(翡翠交易软件)7.0.1 安卓版
每日惠选app2.1.2安卓版
8.3/1,628.0M
万众之王bt版是一款西方魔幻rpg战斗手游大作。游戏有着宏大的世界观,让所有玩家都能自由探索整个世界。你将选择喜欢的职业进行战斗,开创性的玩法内容,多种战斗模式...
8.7/1,481.2M
新我欲封天是一款根据小说改编的手机网游,在多次内测封测之后终于要公测了,这款游戏完全还原了小说中的经典的桥段,手游的玩法也是独具创新,喜欢快来下载吧新我欲封天山...
火柴人任意球大战(stickman free kick)1.6 安卓最新版
9.0/487.6M
火柴人任意球大战是一款好玩的休闲手游,根据足球为题材设计,手指滑动的方式来控制足球射门,简单好玩,让你的足球划出优美的弧线吧!火柴人任意球大战游戏介绍火柴人任意...
8.2/1,200.4M
贝贝云手机APP是款可以帮助用户轻松模拟创建出一个虚拟的高性能、全天候在线的云服务工具,其中功能实用,支持多开功能,可同时运行多个云手机实例,每个实例能独立运行...
仗剑江湖行II1.2.5破解地图下载-仗剑江湖行II1.2.5破解版【刷物品+P闪无CD】
8.7/1,802.3M
仗剑江湖行II1.2.5是小编为大家带来的破解版本的地图哟!不仅有刷道具,P闪,还有各种无CD等功能!可以说非常赞啦!如果你对这款地图有兴趣的话,就快来免费下载...
walli壁纸手机版下载-Walli 4K壁纸app2.12.83 最新版
8.5/1,945.9M
Walli壁纸app是一款手机壁纸软件,这里面会有各种各样鲜艳的壁纸选择,都是原创提供的,每日推送各种好看的壁纸,让你的手机背景多姿多彩,非常好看!Walli壁...
大秦帝国风云录满v版下载-大秦帝国风云录满v版1.1.1 vip版
8.1/741.5M
大秦帝国风云录满v版是一款古代历史战斗的rpg游戏,结合了真实记载的战役故事,将名将风姿再度镌刻在沙场之中,从旁见证两军对垒的史诗时刻,加盟其中成为战场上不朽的...
8.7/1,312.1M
西游荣耀是一款横版动作类型的手游,采用最先进的技术带给玩家最为流畅的体验,拳拳到肉的爽爆打击感,史诗般的剧情,让你体验西游之路的艰难和伟大。西游荣耀简介《西游荣...
8.3/813.0M
拳皇纪念版是日本的格斗竞技手游,游戏中将会是在大的都市背景情况下,展现一个全景的都市生活,还有童年时期的格斗偶像一起上阵来对战。拳皇纪念版手游特色1、拳皇系列的...
7.9/1,658.5M
神骑世界gm版是一款动漫卡牌游戏,游戏内上线送满v,送15000金判,送武将。开通GM权限后,在GM商店里面每天可以免费拿海量金判,顶级红色武将等等海量道具。除...
开学第一课课件-小学三年级秋季开学第一课ppt(共35页)2015年最新版
8.6/799.5M
新的学期新的学年即将到来,学生们即将重返课堂,老师们也在筹备着如何上好开学第一课以此让学生们“收心”。本节内容东坡小编为大家整理带来的是开学第一课课件之共35页...
时空中的绘旅人网易官服下载-时空中的绘旅人网易官服1.0.36 最新版
9.0/298.8M
在这里延续了丰富的故事剧情,让我们一起走过最奇妙的旅途,走进不同的世界之中,最浪漫的爱情故事从这里开始,这里有最浪漫的风情,也有罪美好的画面,一个个故事的拼凑让...
8.5/1,760.2M
中国面条app是一款专注于各类优质面条的购物平台,这里的面条及其相关加工产品丰富,质量过硬,价格实惠,用户可以随意挑选,配送也是很快的,能让用户吃上新鲜的面食,...
清除方格(Clear the Squares)1.0 安卓版
8.3/225.2M
清除方格(CleartheSquares)是一款创新的消除游戏,可以选择多种难度的模式,你需要以最快的速度点击消除掉屏幕上的方块,规则简单!清除方格游戏规则游戏...
9.6/1,945.4M
小白象装修app是一个专业的家装服务平台,为用户带来了装修设计及找建材找工人等服务,可以轻松找到合适的建材商和施工工人!小白象平台介绍小白象由上海青团网络科技有...
8.0/1,249.3M
好听音乐免费听app,内置海量音乐资源,全部免费畅听!支持导入本地歌曲、创建个性歌单,多种播放模式搭配高清音效,随时随地开启沉浸式听歌体验,满足你的便捷听歌需求...
7.9/1,275.6M
科目二是驾考中最难的一次考试,很多朋友都挂在了科目二的考试中,小编带来了2017年科目二考试技巧口诀,帮助考驾照的朋友掌握科目二过关技巧!科目二介绍科目二,又称...
7.6/698.5M
软件是一款新能源汽车充电软件,可以查看汽车的情况,轻松进行导航,智能化寻找充电桩,更加快速的进行充电服务,让汽车出行不再无聊!顺易充是什么扫一扫二维码快速启动充...
智慧江油app下载安装-智慧江油服务平台1.01.07 完整版
10.0/632.3M
智慧江油服务平台是专为本土居民用户打造的新闻资讯软件,能够让广大的用户更好的了解周边信息,涵盖内容齐全且优质,为你的智慧生活增添新的助力,如果你也对此感兴趣的话...
7.9/189.8M
教师家app是北京翼鸥教育科技有限公司官方打造的教师学习交流服务社区;在线参加教师行业活动,与其他老师们相互沟通交流,学习更多的知识、观点;全面提升教师教学的专...
9.3/1,357.8M
每个人其实都是孤独的,有的人喜欢独处,有的人喜欢陪伴,如果你喜欢陪伴就来美媛聊天app,从陌生人到熟悉,没有套路的模式,让你真心交友。美媛聊天特色深夜聊天,互动...
春节假期余额不足表情包下载-关于假期余额不足搞笑图片完整免费版
7.6/287.0M
春节马上就要结束了,相信大家都不想假期结束,纷纷表示假期余额不足,小编为你提供春节假期余额不足表情包,还有假期余额不足说说,可以用来表达你的心情!假期余额不足的...
9.8/1,394.4M
无悔app是一款非常优质的日记记录软件,用户下载这款软件能够把后悔的事情记录上去,就能够时刻提点用户,如果有下一次机会的话就一定要抓住,千万不要再次错过。无悔a...
9.8/1,523.9M
电波谷子是一款专为二次元爱好者打造的社区软件,大家可以在这里畅所欲言,交流与二次元有关的任何话题,说不定还能认识有相同喜好的朋友,同时软件中还有各种关于漫展、二...
8.5/1,591.1M
糖果是一款集齐多功能的在线学习软件,用户下载这个软件以后可以在上面购买优惠课程和书籍,在商城选购优惠水果美食,更有超多免费学习视频在线提供,帮助你成为一个成功的...