使用Nuwa实现安卓代码热修复及那些坑
来源:互联网 发布:excel数据粘贴到数据库 编辑:程序博客网 时间:2024/05/16 12:28
项目地址在此
原理就不再叙述了,请参考项目内部说明。
使用
1、在application 类下添加如下代码进行初始化操作
@Overrideprotected void attachBaseContext(Context base) { super.attachBaseContext(base); Nuwa.init(this);}
2、在合适的时候对代码片段进行修复
//参数为context上下文以及差分文件的路径Nuwa.loadPatch(context,patchFile);
配置
1、 在项目的 build.gradle 中添加引用
classpath 'cn.jiajixin.nuwa:gradle:1.2.2'
最后的完成版本应该和下面的代码类似
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' classpath 'cn.jiajixin.nuwa:gradle:1.2.2' }}allprojects { repositories { jcenter() maven { url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/" } }}task clean(type: Delete) { delete rootProject.buildDir}
- 由于gradle的版本问题,为了防止编译时出现各类奇怪的错误,请使用1.2.3版本
2.、在主module的build.gradle中添加如下依赖和引用
dependencies { compile 'cn.jiajixin.nuwa:nuwa:1.0.0'}
apply plugin: "cn.jiajixin.nuwa"
确保删除或修改了1.2.3版本gradle文件下所不支持的命令,比如:
确定打开了代码混淆的开关,并有进行代码混淆配置文件的编写
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
- 对于你的application 类进行配置
nuwa { //括号里是Application类以及要排除Application父类 excludeClass = ['com/gongsibao/GSBApplication.class', 'com/BaseApplication.class'] }
3、对项目进行一次编译,打开项目文件夹,把/build/outputs/nuwa文件夹拷贝出来,配置ANDROID_HOME环境变量,指向安卓SDK的目录下
4、对项目的代码进行修改后,进入项目对应目录下,执行如下命令:./gradlew clean nuwa{1}DebugPatch -P NuwaDir={2}
- {1}表示打包之后的程序名称,通常在渠道包的时候用得较多,比如
productFlavors { qihoo { } xiaomi { } }
{2}表示上一步中拷贝出来的nuwa文件夹的路径
执行上面的命令后,会有一个较长时间的下载过程,请耐心等待,如果进度不动了(
取消重下),下载完成后进入下一步
5、找到/build/outputs/nuwa目录下的差分包patch.jar,把它交给你的服务端同事,搞个合适的接口协议。在合适的时候调用接口协议下载该差分包,随后对代码进行在线修复。
0 0
- 使用Nuwa实现安卓代码热修复及那些坑
- Nuwa热修复实现
- Nuwa热修复实现
- 使用Nuwa实现Android热修复
- Android热修复-Nuwa使用
- 热修复框架nuwa的使用
- 关于热修复框架nuwa的使用
- 关于热修复框架nuwa的使用
- 热修复框架nuwa的使用
- Android 热修复之nuwa使用简略
- Nuwa(女娲)-热修复
- 热修复框架Nuwa
- android 开发之热修复Nuwa的实现
- Android 热修复使用Gradle Plugin1.5改造Nuwa插件
- Android 热修复使用Gradle Plugin1.5改造Nuwa插件
- (4.2.32.1)android热修复之ClassLoader方式:安卓App热补丁动态修复技术介绍(QQ控件||Nuwa)
- 聊聊Android 热修复Nuwa有哪些坑
- 聊聊Android 热修复Nuwa有哪些坑
- shell编程练习001(20160226)
- 决定成败的,绝对不是细节
- 架构基础1-linux基础
- 六款值得推荐的android(安卓)开源框架简介
- Java LinkedList基本用法
- 使用Nuwa实现安卓代码热修复及那些坑
- Java 多线程:volatile 多线程同步关键字
- 象棋人工智能的实现
- Linux(SUSE 12)安装jboss4并实现远程访问
- AS3 三角形填充
- YTU 2444: C++习题 对象转换
- 关于vba读取excel文件
- Java 多线程:多线程产生的原因
- JavaScript之贪吃蛇