(一) 什么事热修复
参见:https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a&scene=1&srcid=1106Imu9ZgwybID13e7y2nEi#wechat_redirect
(二)nuwa环境配置
从github上讲Nuwa工程下载下来 作为moudle添加到工程里
在工程外层的build.gradle里配置:
这里注意 gradle版本不要超过1.2+ 否则会编译错误
在app下的build.gradle里:
(三)使用Nuwa
1.自定义Application,并且在Application类中添加如下代码:
2.运行并安装apk,会在app/build/outputs/
目录下自动生成一个叫nuwa
的目录:
拷贝此目录到一个指定的目录,比如:
/Users/Documents/nuwa
此apk目前是有bug的apk, 然后我们修复bug, 修复完毕后进入步骤3
3.在修复完bug的code base下 打开终端 执行如下命令:
gradlew clean nuwaDebugPatch -P NuwaDir=/Users/Documents/nuwa
或
gradlew clean nuwaReleasePatch -P NuwaDir=/Users/Documents/nuwa
然后在app/build/outputs/nuwa/debug(release)/
目录下会自动生成patch.jar
这个jar就是我们热部署的补丁文件
4. 在测试流程上 可以把该文件拷到之前指定的读取路径上
adb push dir dir
5.重新启动app,查看结果
(四)代码混淆
在proguard-rules.pro中添加
-keep class cn.jiajixin.nuwa.* { ; }