aitsuki / HotFix

Android热补丁修复框架,自动生成带签名的补丁包
116 stars 29 forks source link

 运行debug的时候打不出来啊 #1

Open dp543831577 opened 8 years ago

aitsuki commented 8 years ago

额,有以下几种可能

  1. fixmode中关掉了开关
  2. 你有修改过代码之后才去运行debug么…… 如果代码没有修改过,是不会打包的
  3. 新增的类是不会打包的,无效的哦(我觉得我是不是应该弄成有效的……)
  4. 你找对目录了没……
  5. 可能不同的操作引发了某些隐藏的bug,不过我刚刚试过了,可以打包=。=
dp543831577 commented 8 years ago

嗯嗯,我在试试 ,感觉你这个原理跟nvwa的是一样的,但是你这个更方便

dp543831577 commented 8 years ago

Error:Execution failed for task ':app:transformClassesWithDexForRelease'.

[source error] no such class: com.aitsuki.hack.AntilazyLoad 一直提示这个,但是我确信这个文件在,

aitsuki commented 8 years ago

@dp543831577 我也很好奇为什么会提示这个不存在…… 你看下你这个文件存不存在?或者是看看目录是不是这个 X:...\HotFix\hack\build\intermediates\classes\debug\com\aitsuki\hack\AntilazyLoad.class

dp543831577 commented 8 years ago

是这个,而且,有这个class。。。。

aitsuki commented 8 years ago

@dp543831577 no such class是javassist报的错误,没有找到Antilazyload这个类,但是我已经添加到classpool了的,你那边不能运行是有点奇怪了。

我现在将AntilazyLoad打成了jar包,让javassist直接加载这个,看看能不能解决你那边的bug,代码已经上传,你可以重新down下来试试…… 如果还不行的话我会尝试其他方案,记得回复哦,等你结果……

dp543831577 commented 8 years ago

更新了代码,hack没了 第一次签名编译,出来了,安装手机崩了,没找到com.aitsuki.hack.AntilazyLoad日志如下: 05-26 14:17:50.828 8245-8245/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.aitsuki.hotfix, PID: 8245 java.lang.NoClassDefFoundError: com.aitsuki.hack.AntilazyLoad at com.aitsuki.a.d.(Unknown Source) at com.aitsuki.a.b.a(Unknown Source) at com.aitsuki.hotfix.FixApplication.attachBaseContext(Unknown Source) at android.app.Application.attach(Application.java:181) at android.app.Instrumentation.newApplication(Instrumentation.java:998) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:508) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4332) at android.app.ActivityThread.access$1500(ActivityThread.java:136) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1279) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5032) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method)

aitsuki commented 8 years ago

已经找到了原因,dp543831577 使用的是mac系统。而Hotfix项目很多路径都是用"\" 反斜杠分隔,导致某些目录无法正确获取。 考虑用separator代替斜杠或反斜杠,但是手头上没有mac,所以暂不修复此bug。 使用mac系统的朋友可以自行修改路径分隔符,但是不保证某些功能是否会失效。 ps:windows系统可以正常运行

wwzuizz commented 7 years ago

ubuntu 下buildsrc 直接是插件找不到 但是Windows没有问题?大神,求解

aitsuki commented 7 years ago

/(ㄒoㄒ)/~~ 我也不清楚,热补丁这东西太难了,这项目我也早就放弃了继续维护下去的心思。如果要使用热补丁,直接用微信的tinker吧