SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
5分钟即可让你的SDK拥有热修复的能力王者战力查询助手下载-王者战力查询助手软件7.0 免费版
节省踩坑和开发成本
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.**
在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
新万博·电竞 乐彩城_彩票网 尊亿娱乐pt 谈谈体育运动 体育概念论文展开内容
汉字风云会出题词语详解总结大全doc完整版
腾讯游戏平台官方下载2018-腾讯游戏平台3.5.4.5057官方最新版
玫瑰婚恋交友下载-玫瑰婚恋交友2.9.10 安卓最新版
悦跑圈跑步app下载安装-悦跑圈跑步软件5.46.10 安卓版
甄优题库app2.0.0.5 安卓最新版
联想软件管理-联想软件管理软件3.1.1391 官方最新版
宝宝动物拼图游戏下载-宝宝动物拼图APP1.2.1最新版
求生之路2巫师3黑发女巫叶奈法人物MOD最新免费版
nodevideo苹果版下载-nodevideo苹果版7.5.2 iphone/ipad版
梦日记重制版1.0.5升级档+未加密补丁
传奇今生俱乐部下载-传奇今生俱乐部app2.9.106 安卓手机版
文玩集市下载-文玩集市安卓版1.5.1 最新版
失落的大地2.7地图下载-失落的大地Ⅱ 2.7正式版【附攻略】
血饮圣剑自动按键工具1.0 免费版
offerup app下载-OfferUp二手交易平台4.73.0 安卓版
蒙太奇效果app下载-Pho.to Lab PRO蒙太奇图片手机制作软件(趣味照片编辑)2.0.178 加强版
7.9/426.4M
蒙太奇图片手机制作软件可以让你用自己照片制作极妙的蒙太奇照片与有趣的图片,使用简单方便,是你最好的照片编辑软件。蒙太奇(法语:Montage)是音译的外来语,原...
8.8/308.9M
公主化妆换装是一款非常有趣的化妆换装手游,玩家可以随心所欲的装扮自己可爱的公主,各种化妆品可以随意使用,还有非常多靓丽的衣服随意穿搭,各种让人眼花缭乱的首饰,可...
魔界降临创世纪1.7.1正式破解版-魔界降临创世纪1.7.1豪华破解版【倍击模式+优化无CDP闪】
8.3/677.6M
魔界降临创世纪1.7.1正式版魔兽地图更新了版本了,修复了隐藏人物的攻击,新添装备创世之铠,这个地图有五个隐藏英雄,有喜欢的玩家就来下载吧。魔界降临创世纪1.7...
8.5/1,499.2M
姬斗无双手游变态版本登录就有福利,游戏给我们演绎了不一样的精彩三国,游戏中系统丰富,除了常见的冒险闯关以外,还有俘获系统,可以得到更多的萌妹子。姬斗无双bt版福...
8.0/1,836.4M
罗马管家是一款全面专业的外贸企业信息管理软件,为企业提供一站式信息化管理解决方案.罗马管家功能强大,操作简单,安全高效,不限人数,开通即用,极大提升员工的工作效...
七彩课堂部编版二年级上册语文教案电子版下载-七彩课堂二年级语文上册教案电子版教师版
8.8/766.7M
部编版语文2年级上册语文教案教师专用,这是专为老师设计的教案,主要就是教学思路以及缴存内容+方法的实行,很多学校要求写教案的,这个资料就可以帮助老师提供大体的思...
8.6/581.5M
错题汇APP是款错题收集汇总的习题软件,可以根据科目进行分类的训练按照自己的学习进度去有效的针对性的学习,反复的练习帮助学生快速的提高成绩。错题汇APP描述1、...
9.6/996.9M
想体验冰雪世界的经营魅力吗?来这款滑雪场经营游戏吧!从一片荒芜雪地开始,亲手打造心中的梦想滑雪胜地!设计惊险刺激的专业雪道,架设连通山峦的观光缆车,在雪场入口开...
奇奇动画免费版下载-奇奇动画免费VIP版3.993 去广告版
8.7/1,230.7M
奇奇动画破解VIP版这个版本去除了广告,解锁vip会员,都是免费使用的,一个很好用的看动漫的软件,国内外动漫都可以看,最新的热门的都可以免费看,而且还支持下载离...
星河射手银河冲刺游戏下载-StarShooters(星河射手银河冲刺安卓版)0.22 最新版
9.7/234.9M
星河射手银河冲刺手游是一款非常有趣的竞速类动作手游,游戏有着众多不同的人物,通过你的技巧进行爽快的射击,游戏虽然是英文的,但是操作起来还是不用费什么力气的!星河...
8.1/932.4M
这是一款有趣的射击类手机游戏,游戏有西部牛仔风格背景,想体验西部牛仔一样的风情吗?快来下载这款游戏体验一下吧!有趣的枪战游戏介绍有趣的枪战安卓版下载是一款非常好...
7.9/1,128.0M
落叶社区是一款资源非常多的网络社区软件,这里小编为大家提供的苹果版本,主要有海量的游戏辅助工具可以下载使用,吃鸡、王者等都有,还能和其它小伙伴一起交流,有需要的...
8.6/1,466.5M
留言侦探是一款益智逻辑游戏,游戏画面简单,玩法新颖,脑洞大开的思想逻辑,为你带来不一样的逻辑推理游戏!内容提要《留言侦探》是一款提高你情商智商的游戏!你想体验一...
重庆税务app官方下载-重庆税务局社保appV1.0.5 正版
8.1/749.4M
重庆税务局社保app也叫“重庆税务”,这个的全称是“国家税务总局重庆市电子税务局”,这款软件可以帮助大家随时随地掌上办税,官方平台,可以放心使用。重庆税务APP...
8.2/810.6M
巅峰阁万能时钟是一款实用的时钟工具,它可以轻松搞定您生活中关于时钟的事情,非常的便捷实用,有需要的可以下载试试。使用方法软件支持多种计时功能普通时钟定时任务功能...
9.9/1,369.3M
律堡是一款超级好用的免费法律咨询服务平台。这里是智能律师服务专业app,包含了全国的优质律师,你可以在线提问。专门为你解决法律问题,有这方面需要的朋友可以来看看...
少年三国志零uc服下载-少年三国志零九游版1.0.10018安卓最新版
7.5/1,214.3M
全新策略三国手游,少年三国志:零是一个采用了即时制战斗玩法为主的q版三国游戏,你将扮演不同的三国历史人物,带领各色军师武将,采用自由布局、兵种相克及法术相生的融...
7.6/1,520.5M
每日读书记录app是一款用来记录自己阅读的手机软件,方便读者记录每日读书进程和读书笔记,帮助自己养成良好的阅读习惯,需要的朋友可以来下载使用!每日读书记录app...
恐怖庄园的秘密中文版下载-恐怖庄园的秘密游戏2.6.9 安卓版
8.7/1,689.9M
一款暗黑风格的手机解密冒险手游,在空无一人的恐怖庄园,这里是你祖父留给你的遗产,你在这里会发现什么新的秘密?埋藏在过去的真相会是什么?你会选择怎么做呢?恐怖庄园...
9.4/264.2M
财智社是一个专为小微企业创业者打造的社会化知识内容服务平台。财智社致力于提供实时、实用的新商业资讯,财经新闻;解读热点创业资讯,最新政策,让创业者时时掌握创业趋...
我钩子贼6游戏(HookWars.io)中文版下载-HookWars.io(我钩子贼6游戏)0.2汉化版
8.4/1,838.5M
我钩子贼6游戏是一款玩起来很不错的趣味休闲闯关类游戏,游戏的玩法以及丰富的操作挑战乐趣还是很充足的哦,在游戏进行的过程中玩家们通过简单的手指点击操作即可完成对应...
8.9/1,977.5M
钻集网是一款超级好用的全球钻机产业链服务商app。这里有着整机、配件、二手交易、评估、设备租赁等多种钻机相关信息,丰富的软件内容,为用户提供最专业的技术服务。解...
单机版修仙手游下载-挂机修仙之旅(单机版修仙小游戏)1.0安卓版
8.6/406.6M
《单机版修仙》是一款以凡人进行修仙为题材的养成类单机RPG游戏,在游戏中玩家需要不断探索挑战更高的难度,学习养成高深的仙法心经,挑战多种仙缘奇遇,丰富的宠物养成...
8.2/1,976.2M
功夫鲨鱼传奇重生手游(ShaqFu:ALegendReborn)是pc上非常经典的一款arpg游戏,世界被恶魔占领了,你需要扮演那个拯救世界的人,穿过多个地方来...
8.4/1,805.7M
常州出行app是一款帮助常州用户解决出行困难的软件,帮助用户快速找到机场、高铁站附近的停车场,自动导航到空余停车位上,支持手机在线交停车费,欢迎下载。软件介绍常...