在编译阶段插件侵入了产品代码,对运行效率、方法数、包体积还是产生了一些副作用。(可指定某些class无需插入方法,减少插桩数)
so和资源的替换目前暂未实现
对于只有字段访问的函数无法直接修复,可通过调用处间接修复
上传GradleTask尚未在MAC环境下测试
上传的补丁支持按包名存档
要商用的小伙伴要注意,建议换成自己的后端接口或自己续费一个bmob应用,因为bmob云函数服务超过40天需要收费,所以本项目需要定期更新应用秘钥。
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.**
SDKHotfix(SDK热修复工具包)是一款让SDK开发者能快速赋予SDK热修复的能力.征与伐游戏下载-征与伐手游官方版7.0安卓正版
无兼容问题
实时生效
修复成功率高达99.9%
在用户规模千万级别的app中验证过,可信赖
支持补丁异常自动失效,不用再担心补丁造成crash啦~
5分钟即可让你的SDK拥有热修复的能力
节省踩坑和开发成本
hookandcreateGradleTask
Kotlin+groovy
热修复
非对称加密+对称加密
扩展美团Robust开源库,使其具有其他热更库不具备的补丁回滚功能
数据和监控思维
代理pc蛋蛋 万博 银河 亚博体彩手机版 非凡体育 网易 鸭脖体育投注展开内容
仙之炼金术师挂机版下载-仙之炼金术师单机版1.0攻略版
知位app下载安装-知位手机定位免费1.0.3 手机版
神秘大厦游戏下载-神秘大厦Mystic Mansion游戏3.4.1 官方正版
蚂蚁回租安卓版下载-蚂蚁回租软件2.0 手机版
统一壁纸去广告下载-统一壁纸去广告手机版3.6.6 官方去广告安卓版
沃运营app下载-沃运营2.0.0112安卓最新版
打字练习软件-打字高手破解版(打字高手在线练习)8.31 免费版
德语智能输入法官网最新版-德语智能输入法2.4 官网最新版
怒斩屠龙签到领红包下载-怒斩屠龙签到领红包福利56.0.1领红包版
网络电脑监控软件-网络监视软件(easynetmonitor)3.0.9 绿色免费版【网络监视器】
地牢破坏神满v版下载-地牢破坏神vip版1.1.0满级vip版
学惠精选app大学生版1.0.1 官方安卓版
皮皮龙启蒙app下载-皮皮龙启蒙app1.0 安卓版
焦糖舞表情-焦糖舞QQ表情包完整版
傅雷家书两则ppt-人教版九年级语文上册傅雷家书两则教学课件免费版【共15页】
8.3/671.0M
全新一款安卓来电视频秀软件,视频来电秀app,给你个性的通话屏幕显示,可以让你在人群中成为最亮眼的存在。简介视频来电秀,你来电,我表演。可将你的视频设置为来电桌...
9.0/1,480.2M
搜狗拼音输入法Linux版由优麒麟团队与搜狗公司联合开发,具有支持双拼、智能拼音、自动匹配、U模式、多样化皮肤支持等功能。最新版本为2016年9月29日发布的2...
9.1/126.2M
行啊APP是专为现代出行打造的全能服务平台,集订票、订酒店、行程管理于一体,用极简操作重构出行体验。无论是机票/火车票比价预订、热门城市酒店优选,还是自动生成行...
7.6/1,479.4M
六度蜂窝app是由北京瀚海新创科技有限公司官方研发的一款首个网络社交平台,是为各类社群提供群社交服务,活动管理等功能,欢迎下载体验!六度蜂窝app功能介绍六度蜂...
9.3/665.1M
想你的电脑再也不用受病毒木马的危害?那就来下载360离线病毒库更新包,采用了最新木马查杀引擎,增强病毒扫描的稳定性,完全的保护你的电脑,想要一个无毒的上网环境的...
7.8/1,458.3M
4虎视频大师是一款视频剪辑软件,软件丰富的免费功能,辅助用户将视频剪辑成心中的样子,而且还提供海量的模版与素材,很多功能都是一键傻瓜式操作,非常简单,有需要的朋...
名将传送两千充值版下载-名将传BT送2000充值版100012送GM永充版
8.0/66.0M
名将传BT送2000充值版全新版本上线,屡见不鲜的三国题材卡牌游戏,游戏中的角色也都是三国时期的人物,不过设定上面就做了一些创新,需要大家根据不同的卡牌属性来精...
8.6/1,234.0M
潇湘高考app是湖南省普通高校招生考试考生综合信息平台,考生们可以直接的通过平台进行在线报名,在线缴费,非常的方便,还没有报名的同学们赶紧下来起来。作为一款高考...
影者武士传奇英雄游戏免费下载-影者武士传奇英雄游戏1.0无敌版
9.6/1,943.0M
影者武士传奇英雄是一款非常优秀的动作冒险游戏。在游戏开始时玩家将扮演一位忍术大师在一座城堡中与敌人进行战斗,玩家需要通过不断地战斗来提升自己的忍术和格斗技巧。影...
植物大战僵尸2国际版老版本下载-植物大战僵尸2国际版旧版本(Plants Vs Zombies 2)v1.4.244592 老版
9.1/1,141.5M
植物大战僵尸2国际版老版本是一款超级经典的植物大战僵尸版本,现在的植物大战僵尸游戏越来越花里胡哨,很多玩家都热衷于去体验原汁原味的游戏内容,感兴趣的小伙伴快来东...
7.9/1,113.2M
迷宫探险家是一款好玩的塔防策略手游,在游戏中玩家要在这个充满魔物的世界中击败所有敌人,获取丰厚的资源和战斗经营赢,逐渐成长起来,感兴趣的小伙伴快来东坡下载吧!迷...
7.9/1,094.1M
秒单词最新版APP是一款集英语知识学习与单词记忆功能于一体的应用软件,提供多种实用的单词记忆方法,帮助用户提升词汇量,同时包含丰富的答题学习和语法知识,助力解决...
9.4/850.1M
很多用户都在关注银宝优选是什么,这是一款非常值得关注的品质好货购物商城软件,通过这个软件你可以每日领取优惠券下单购物,找到你喜欢的商品!银宝优选app简介以优选...
9.9/1,903.7M
装满冰箱是一款有趣好玩的休闲益智整理小游戏,游戏上手非常快速,玩起来非常自由没有任何的限制,合理的利用冰箱每一点空间,将货物全部满满的放入冰箱当中,考验玩家的整...
7.8/245.9M
梦道是一款一款有趣的浪漫修仙回合制游戏,以仙侠为游戏题材,采用了精致唯美的游戏画风,多样化的游戏玩法,你将会在这个另类的修仙世界中进行一场非常有趣的又精彩的修仙...
魔兽地图生还者逃生记4-生还者逃生记4.50破解版【无cdp闪+作弊密码】
8.0/1,613.7M
生还者逃生记4.50破解版是为魔兽顽疾爱带来的生存类地图,最多支持7人同时游戏,本次更新开局时获得80秒持续的移动速度加成等等内容。生还者逃生记4.50地图信息...
希望之村2官方正版下载-希望之村2来生官方版(村落人生)1.12.2 联机版
7.6/1,851.3M
画面上还是延续经典的伪2D构造,人物的形象感觉和前作没有太大的变化,本身的玩法,除了经典的生存配置,还是联机版块让人期待,开局有个新手岛,基础的安身立命会教你,...
9.5/1,253.0M
西域小米抢购助手可以帮助你轻松抢购小米,各位米粉们一定会喜欢,功能十分强大,支持多线程抢购,操作简单方便,非常适合各位米粉使用。软件说明老用户的注册码直接可注册...
9.9/1,348.4M
软件是一款恋爱交友互动app,在上面你可以寻找到你最爱的人,以实名注册交友为信息,缘定终身恋爱交友,让大家在手机上面找到你的另一半!心连心app特点1、以火爆交...
9.9/1,254.2M
一款由易语言编写的软件,拥有强大的挂机功能——图形挂机,并可以控制网络,控制安全模式,控制键盘,控制任务栏等功能,并且可以自定义锁屏背景,密码强度。没有密码,无...
查看
10.0/1,007.2M
看到很多好看的文字图片,想要自己制作吗?文字图制作app就提供了丰富的模板素材,将文字和图片结合在一起,制作出特色的文字图片。文字图制作app特点我们提供了多场...
9.0/1,187.4M
百变悟空是一款社区智慧生活综合服务app。这里包含了海量的功能可以使用,用户可以轻松实现政务线上办理及预约。操作简单,使用方便,优化市场的公平环境,在多个方面大...
笔趣小说app下载-笔趣app ios20241.8.4 苹果版
9.2/1,945.2M
txt看书阅读器,笔趣全本小说app下载,追书必备看小说阅读器,追更玄幻武侠、言情以及官场职场等类型小说的强大追更神器,各类小说都有哦!软件更支持下载本地,任何...
长老病毒专杀工具电脑版-360长老病毒专杀软件1.0 单文件版
9.1/1,451.9M
其实安卓手机中长老木马病毒的危害最大,想要清除最好借助360长老病毒专杀软件,这是360特制出来的一款杀毒工具。让手机能够快速有效去除长老病毒4代,从而恢复手机...