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开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
无兼容问题
实时生效
修复成功率高达99.9%
在用户规模千万级别的app中验证过,可信赖
支持补丁异常自动失效,不用再担心补丁造成crash啦~
SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.
在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)说球大咖app1.0 苹果手机版
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
展开内容
9.5/1,553.3M
风之大陆是一款全新卡通渲染技术搭建了一个童话般浪漫暖心的奇幻大陆rpg游戏。游戏有着丰富的剧情内容,路遇伙伴,带上可爱的宠物一起出发冒险。多种职业任你选择,为你...
8.2/792.8M
伊多破碎世界的主宰汉化补丁使用之后可以让你以后在游戏里也不用为看不懂英语烦恼了,让你能够愉快的玩耍了,喜欢的赶紧来下载使用吧。伊多破碎世界的主宰汉化补丁使用说明...
9.6/507.5M
守城物语2是一款十分经典的魔兽防守地图,很多玩家都喜欢玩,在这里小编为大家带来守城物语2v1.2正式版,修改了各种任务以及技能回放等问题,喜欢的朋友赶快下载吧!...
9.0/1,126.2M
《新射雕群侠传之铁血丹心》是一款以金庸小说《射雕英雄传》、《神雕侠侣》及《倚天屠龙记》为背景改编的2D回合制卡牌手机网络游戏。国韵水墨写意画风,经典剧情还原,三...
9.9/384.9M
听点音乐是一款汇聚海量音乐资源的听歌平台,致力于满足用户多样化的音乐聆听需求。平台涵盖丰富的音乐类型,无论是当下流行的热门金曲,还是承载回忆的经典老歌,都能在这...
9.3/1,835.4M
2018狗年已经正式的到来了!现在小编为大家带来2018狗年春联七字精选作品大全,包含了众多七字精选的作品,每一个作品都是可以让大家赏析,并且都是带有横批!狗年...
8.6/1,459.0M
王者之师是一款三国背景的策略角色扮演手游,玩家能在游戏中尽情享受爽快的三国热血大战,不同的兵种等你训练开启你的称霸三国之路,大量的武将等你征召寻找强力的武将为你...
8.8/733.3M
wangooe远程控制软件是一款免费的远程控制软件,依托神卓互联,为广大IT服务提供商以及服务中心专业人员提供免费便捷的远程桌面服务。安装步骤1、运行安装程序,...
9.1/1,871.3M
医家医是一款医生关注你的健康的软件,协调家庭医生、基层医疗机构、二三级医院等区域医疗资源,对居民进行个性健康方案、转诊、远程会诊等服务,配合智能终端设备进行慢性...
9.9/1,490.8M
我已成仙是款浪漫唯美的大型MMOrpg手游,御剑飞行畅游仙界,全范围的视觉感官美景尽显眼前,超多精彩游戏剧情等你来玩,还有超强副本BOSS等你来挑战。我已成仙手...
9.9/466.4M
是一款最新的网约车软件,软件专注于新能源车的业务,用户可以在这里自由进行叫车,享受最贴心的出行方式,价格也十分公道!欧拉约车介绍欧拉约车成立于2018年,长城汽...
9.3/484.4M
今天小编和大家分享的是一个ppt图表模板,ppt图表素材,具体为2015羊年年终工作总结ppt图表模板素材,商务简约风格,ppt格式,有需要的朋友可立即下载此文...
8.5/235.3M
杨过与小龙女群侠传是一款非常好玩的手机游戏,这款游戏根据当代著名作家金庸笔下《射雕英雄传》、《神雕侠侣》、《倚天屠龙记》三部武侠小说改编而来。喜欢这款游戏的朋友...
10.0/648.4M
游戏王大师决斗汉化手机版是一款根据经典ip《游戏王》系列改编而来的回合制卡牌手游,卡组分为三类,怪兽卡、魔法卡、陷阱卡,搭配出无穷无尽的变化,收录了很多经典动漫...
7.6/1,606.0M
一款手游盒子工具,哈瓦游app为大家分享了很多的游戏,了解最新最全的游戏资讯和游戏动态,有礼包领取,玩自己喜欢的游戏。哈瓦游app功能1.内置极速下载,省去等待...
9.3/1,966.2M
山海异兽志根据山海经进行改变的修仙以及武侠加上各种各样的异兽之间的战斗,你可以培养你喜欢的各种各样的异兽,让你可以直接的在游戏里面自由的纵横!山海异兽志官方版特...
8.0/659.7M
想要知道你的内心真实的心理年龄,想要看看自己18岁、20岁、25岁、30岁、40岁甚至60岁以后的照片呢,只需要用这款穿越时空照片测试ios版上传一张照片测试一...
8.5/1,567.2M
这是一款画风简单的手机解密游戏,野鸟救援手游中你的主要任务就是帮助这些鸟类逃离密室,解开各种机关。不同的场景之间是有联系的,喜欢玩密室解密游戏的朋友可以来挑战看...
8.3/1,899.6M
780g游戏交易平台是一款有着各种游戏交易资源的软件,在这里玩家可以交易账号、道具、游戏币等,各种分类齐全,玩家们想要的这里都有,感兴趣的小伙伴快来东坡下载吧!...
9.4/1,268.4M
是一款专为车主朋友们打造的车知识软件,新手车主们可以在这里了解到车的认识,同时可以反馈最新的车辆故障以及信息反馈给你。伊爱车联介绍伊爱车联是服务国内车主的平台,...
9.4/1,921.5M
这是一款非常好用的挖矿区块链软件,这里注册登录就送各种矿机,每日可以挖好多币,直接贩卖,查看各种行情数据,简单好用的赚钱软件!软件简介淘淘星球app是为广大喜欢...
9.5/1,772.1M
BluffTitler是一款能够产生3D文本动画的工具,它的输出结果可以实时地在播放器或屏保程序上播放,或者以图片或视频格式导出以便在你的视频、多媒体演示、VJ...
10.0/1,746.6M
韩国行app是一款韩国优惠券、门票“集散地”,论坛app,是去韩国旅游前建议根据规划好的出游路线,提前购买景点门票及各种优惠券。韩游网APP就可以提供给你这样的...
9.2/1,178.5M
国庆到了,是不是不想回家,想要出去玩一下呢,这款360抢票王四代国庆版,让你能够快速地抢到动车票、火车票、高铁票,最新的官方修复版的,非常的流畅,一点都不会卡,...
9.8/5.6M
喜欢玩游戏的朋友千万不能够错过这款超次元大冒险手游,给你最新的美少女们,能够和大胸妹子一起去冒险,勇敢闯关,取得胜利!超次元大冒险游戏特色1、不同次元之间的角色...