Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Another hotfix 另一个热修复方案 Alpha,来自InstantRun 和 Robust 类似

License

Notifications You must be signed in to change notification settings

dodola/AnoleFix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

11 Commits

Repository files navigation

AnoleFix

Another hotfix 另一个热修复方案 大部分代码来自InstantRun。这个方案很久之前就和小伙伴讨论过,一直没实现,现完成了Alpha版,后期再优化。

**注:**该项目暂时没有应用到具体上线应用中,暂时只做技术展示

Feature

  1. 可实现动态实时修复
  2. 可实现热插拔(待实现,只实现了动态修复功能,后期加上动态撤销补丁功能)
  3. 兼容ART和DalvikVM虚拟机,4.0-7.0,不会出现类似hotfix方案在art下虚拟机quick引用指针错乱造成的崩溃情况
  4. 补丁包动态生成,使用方式和RocooFix 一致,但某些功能待完善

Known issue

  1. 补丁打包速度待优化
  2. 有些未考虑到的补丁逻辑还待补充
  3. 性能会略有消耗
  4. 暂时只支持开启混淆状态下的补丁打包

Use

Gralde 配置

buildscript {
 repositories {
 jcenter()
 maven{
 url 'https://dl.bintray.com/dodola/maven'
 }
 }
 dependencies {
 classpath 'dodola.anole.plugin:gradle_plugin:1.0.1'
 }
}
//在app的gradle增加
apply plugin:'dodola.anole.plugin'
rocoo_fix {//此处和rocoo_fix的用法一样,但暂时只有preVersionPath的功能
 preVersionPath = '1'
}
 Anole.applyPatch(context, patch_path);

Porguard

-keep class dodola.anole.runtime.** { *; }
-keep class dodola.anole.lib.** { *; }

About

Another hotfix 另一个热修复方案 Alpha,来自InstantRun 和 Robust 类似

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /