HotFix
HotFix copied to clipboard
安卓App热补丁动态修复框架
groovy.lang.MissingMethodException: No signature of method: org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection.get() is applicable for argument types: () values: [] Possible solutions: grep(), getAt(int), getAt(java.lang.String), grep(java.lang.Object), wait(), init() at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:72) at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) at robust.gradle.plugin.RobustApkHashAction$_execute_closure1$_closure2.doCall(RobustApkHashAction.groovy:32)...
有个疑问
BUG是不可预判的,在打包成APK之前怎么能知道为哪个类消除CLASS_ISPREVERIFIED,而且一个BUG类可能被很多类调用。
使用热更新必须要混淆么,原来的项目没有混淆,能不能使用呢,加固后的应用可以热更新么
GitHub changed the way Markdown headings are parsed, so this change fixes it. See [bryant1410/readmesfix](https://github.com/bryant1410/readmesfix) for more information. Tackles bryant1410/readmesfix#1
能否增加新的类?
若有一个activity类需要修复,尝试dx打包之后修复的代码(模拟修复了按钮点击事件中为btn设置的文本和toast的文本)无效,并且反编译之后的代码和 apk原来的代码反编译只有有很大差异,为什么?大家遇到过吗? dx手工打包反编译得: package dodola.hotfix; import android.app.Activity; import android.os.Bundle; import android.widget.Button; public class LoginActivity extends Activity { protected void onCreate(Bundle paramBundle) { super.onCreate(paramBundle); setContentView(2130968601); Button localButton = (Button)findViewById(2131492975); LoginActivity.1 local1...
在同一个class文件中同时进行文本改变,和事件的内容变动。更改文本显示内容可以,但是点击事件的操作更改没有反应。这种情况有遇到吗?
 看源码的时候发现patch的时候传了类名 但是只要dex被加载 当类被使用的时候 还是会在先加载的dex中找到对应类名的类吧 好像并不需要那个类名 我测试了下是没问题。 关于CLASS_ISPREVERIFIED 的处理 。。类的处理量有点大。。 有没有什么好的解决方案推荐下 还有编译之后不clean的话 编译的class文件 会重复添加 System.out.println...