目前项目支持静态修复功能需要重启,集成简单,使用方便。
这两篇文章就够了
- 根据以下操作把代码填到你项目根目录的gradle中
classpath 'com.cuieney:autofix:1.1.1'
build.gradle maybe look like this:
```
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.cuieney.autofix:gradle:1.1.7'
}
}
```
-
在你的build.gradle:中添加这样的代码块
apply plugin: "com.cuieney.autofix"
-
gradle dependency:
dependencies { compile 'com.cuieney.library:fix:1.1.2' }
-
在你的application中添加一下代码初始化:
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); AutoFix.init(this); }
-
如果你需要加载补丁的话可以这样,每次需需要重启:
AutoFix.applyPatch(this,patch.jar);
-
添加到你的proguardFile文件中:
-keep class cn.cuieney.fix.** { *; }
根据下面三步即可以完成补丁的制作
1.首选你的添加auto_fix
extension到你的build.gradle中,只在你需要制作补丁的时候才用得到(不制作补丁注释即可)
auto_fix {
lastVersion = '1'//顾名思义,上次一的版本号(就是说你当前Version是1,出现bug了,你把versioncode变成了2)然后这个lastVersion就填1
}
2.现在你已经改好bug了,需要获取相应的patch.jar把这个补丁打到app中,只需要编译一下项目即可,buildApk这个操作也是可以的
3.获取补丁push到手机中(如果项目已上线即push到服务器)
这个就是你的补丁对应的目录,patch.jar就是补丁包(version 2
)代表你生成补丁当前的版本号
- 增强兼容性
- 支持runtime
- 增加插件化跳转Act
你会看到AutoFix SDK里面有这样一个类DynamicApk,这是一个beta版。用于插件化的工具。目前focus获取apk的资源文件,目前接口如下:
- getStringFromApk
- getBitmapFromApk
- getDrawableFromApk
- getMipmapFromApk
- getLayoutFromApk
- getColorFromApk
- getDimenFromApk
参数都一样(Context context, String apkPath, String name),只介绍最后一个参数such as(R.drawable.thumb)这个name就是thumb
发现bug或好的建议欢迎 issues or Email [email protected]
F**K License