meili / aceso Goto Github PK
View Code? Open in Web Editor NEWA hotfix library for Android
License: Apache License 2.0
A hotfix library for Android
License: Apache License 2.0
首先给个👍,东西挺好的。wiki上的教程略简单,req上解答的问题,在wiki上或者demo上无法明显体现出来。
我这边碰到一个问题,debug和release式下都有输出一个apk,但是解开发现没有我要的patch,是android/support/multidex。
对发布包进行360加固或者腾讯加固后release包发布,当发现问题时,是否可以用aceso进行修复?
1.比如我要修改一个类,我是不是要把他所引用的东西全部拷过来? 就比如activity ,用到了xml,我要是不把xml拷进去 就无法生成使用terminal生成补丁包
2.如果外界引用了这个类,好像是用teminal 生成补丁包的过程中会出问题
library class com.ng.mangazone.action.MangaAction depends on program class com.ng.mangazone.action.AdUnitAction
类似这样的 不知道是不是混淆的问题, 请问我改如何解决
3.如果1.的情况下我确实要把它引用的东西全部拷过来,会不会太麻烦了?因为引用的类里面可能又引用了很多其他的类,说不定到最后就是导入了整个包
下载工程后,编译报错。
Error:Execution failed for task ':app:transformClassesWithDexForFullDebug'.
java.util.zip.ZipException: duplicate entry: com/android/tools/fd/runtime/AbstractPatchesLoaderImpl.class
请问这个该如何解决?
我直接在mac中跑的原生demo-fix,但是编译时提示无法找到Aceso的类和R类,可能是build.gradle中路径配置的不对,请问具体该怎么配置呢?还有mac上的gradlew命令为./grdlew acesoDebug??
我新建fix工程,只拷贝要修改的类到fix工程中,由于修改的类中有引入其他类,在编译的时候报错,这个怎么解,需要把所有的类都拷贝到fix工程吗?
Execution failed for task ':businessHall:compileDebugJavaWithJavac'.
Compilation failed; see the compiler error output for details.
BUILD FAILED
Total time: 9.921 secs
localhost:Cmcc_aceso_fix apple$ gradle acesoDebug
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html.
Incremental java compilation is an incubating feature.
blackList file is /Users/apple/android-work/Cmcc_aceso_fix/businessHall/aceso-blacklist.txt
next we will add all-classes.jar to the localJars.
the length of the array before and after comparison: 0 -> 1
next will be aceso fix.
next we will add all-classes.jar to the localJars.
the length of the array before and after comparison: 0 -> 1
next will be aceso fix.
find transform. class: class com.android.build.gradle.internal.transforms.DexTransform. task name: transformClassesWithDexForDebug
:businessHall:preBuild UP-TO-DATE
:businessHall:preDebugBuild UP-TO-DATE
:businessHall:checkDebugManifest
:businessHall:preReleaseBuild UP-TO-DATE
:businessHall:prepareComAndroidSupportAnimatedVectorDrawable2520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportAppcompatV72520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportCompat2520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportCoreUi2520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportCoreUtils2520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportFragment2520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportMediaCompat2520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportV42520Library UP-TO-DATE
:businessHall:prepareComAndroidSupportSupportVectorDrawable2520Library UP-TO-DATE
:businessHall:prepareDebugDependencies
:businessHall:compileDebugAidl UP-TO-DATE
:businessHall:compileDebugRenderscript UP-TO-DATE
:businessHall:generateDebugBuildConfig UP-TO-DATE
:businessHall:generateDebugResValues UP-TO-DATE
:businessHall:generateDebugResources UP-TO-DATE
:businessHall:mergeDebugResources UP-TO-DATE
:businessHall:processDebugManifest UP-TO-DATE
:businessHall:processDebugResources UP-TO-DATE
:businessHall:generateDebugSources UP-TO-DATE
:businessHall:incrementalDebugJavaCompilationSafeguard UP-TO-DATE
:businessHall:compileDebugJavaWithJavac
:businessHall:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:48: 错误: 找不到符号
setContentView(R.layout.activity_settings);
^
符号: 变量 activity_settings
位置: 类 layout
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:54: 错误: 找不到符号
tb_notification = (ToggleButton) findViewById(R.id.tb_notification);
^
符号: 变量 tb_notification
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:55: 错误: 找不到符号
password_layout = (RelativeLayout) findViewById(R.id.password_layout);
^
符号: 变量 password_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:56: 错误: 找不到符号
message_layout = (RelativeLayout) findViewById(R.id.message_layout);
^
符号: 变量 message_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:57: 错误: 找不到符号
update_layout = (RelativeLayout) findViewById(R.id.update_layout);
^
符号: 变量 update_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:58: 错误: 找不到符号
faq_layout = (RelativeLayout) findViewById(R.id.faq_layout);
^
符号: 变量 faq_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:59: 错误: 找不到符号
about_layout = (RelativeLayout) findViewById(R.id.about_layout);
^
符号: 变量 about_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:60: 错误: 找不到符号
change_account = (RelativeLayout) findViewById(R.id.change_account);
^
符号: 变量 change_account
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:61: 错误: 找不到符号
change_environment = (RelativeLayout) findViewById(R.id.change_environment);
^
符号: 变量 change_environment
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:62: 错误: 找不到符号
pluginmanager_layout = (RelativeLayout) findViewById(R.id.pluginmanager_layout);
^
符号: 变量 pluginmanager_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:63: 错误: 找不到符号
rl_look_old_db= (RelativeLayout) findViewById(R.id.rl_look_old_db);
^
符号: 变量 rl_look_old_db
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:64: 错误: 找不到符号
rl_look_new_db= (RelativeLayout) findViewById(R.id.rl_look_new_db);
^
符号: 变量 rl_look_new_db
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:65: 错误: 找不到符号
rl_local_test= (RelativeLayout) findViewById(R.id.rl_local_test);
^
符号: 变量 rl_local_test
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:81: 错误: 找不到符号
tv_commonback = (ImageView) findViewById(R.id.tv_commonback);
^
符号: 变量 tv_commonback
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:82: 错误: 找不到符号
tv_commontitle = (TextView) findViewById(R.id.tv_commontitle);
^
符号: 变量 tv_commontitle
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:83: 错误: 找不到符号
has_update = (ImageView) findViewById(R.id.has_update);
^
符号: 变量 has_update
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:84: 错误: 找不到符号
item_loginout = (LinearLayout) findViewById(R.id.item_loginout);
^
符号: 变量 item_loginout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:148: 错误: 找不到符号
case R.id.password_layout:
^
符号: 变量 password_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:153: 错误: 找不到符号
case R.id.message_layout:
^
符号: 变量 message_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:158: 错误: 找不到符号
case R.id.update_layout:
^
符号: 变量 update_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:164: 错误: 找不到符号
case R.id.faq_layout:
^
符号: 变量 faq_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:167: 错误: 找不到符号
case R.id.about_layout:
^
符号: 变量 about_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:170: 错误: 找不到符号
case R.id.item_loginout:
^
符号: 变量 item_loginout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:176: 错误: 找不到符号
case R.id.change_account:
^
符号: 变量 change_account
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:180: 错误: 找不到符号
case R.id.change_environment:
^
符号: 变量 change_environment
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:183: 错误: 找不到符号
case R.id.tv_commonback:
^
符号: 变量 tv_commonback
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:186: 错误: 找不到符号
case R.id.pluginmanager_layout:
^
符号: 变量 pluginmanager_layout
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:189: 错误: 找不到符号
case R.id.tb_notification:
^
符号: 变量 tb_notification
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:197: 错误: 找不到符号
case R.id.rl_look_new_db:
^
符号: 变量 rl_look_new_db
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:202: 错误: 找不到符号
case R.id.rl_look_old_db:
^
符号: 变量 rl_look_old_db
位置: 类 id
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/SettingsActivity.java:207: 错误: 找不到符号
case R.id.rl_local_test:
^
符号: 变量 rl_local_test
位置: 类 id
31 个错误
`D:\temp3\Aceso-master\aceso-demo-fix>gradlew acesoDebug
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html.
Incremental java compilation is an incubating feature.
blackList file is D:\temp3\Aceso-master\aceso-demo-fix\orign\aceso\instrument\full\debug\instrument.jar
next we will add all-classes.jar to the localJars.
the length of the array before and after comparison: 0 -> 1
next will be aceso fix.
next we will add all-classes.jar to the localJars.
the length of the array before and after comparison: 0 -> 1
next will be aceso fix.
find transform. class: class com.android.build.gradle.internal.transforms.DexTransform. task name: transformClassesWithDexForDebug
:acesoLib:preBuild UP-TO-DATE
:acesoLib:preReleaseBuild UP-TO-DATE
:acesoLib:checkReleaseManifest
:acesoLib:prepareReleaseDependencies
:acesoLib:compileReleaseAidl UP-TO-DATE
:acesoLib:compileReleaseNdk UP-TO-DATE
:acesoLib:compileLint UP-TO-DATE
:acesoLib:copyReleaseLint UP-TO-DATE
:acesoLib:mergeReleaseShaders UP-TO-DATE
:acesoLib:compileReleaseShaders UP-TO-DATE
:acesoLib:generateReleaseAssets UP-TO-DATE
:acesoLib:mergeReleaseAssets UP-TO-DATE
:acesoLib:mergeReleaseProguardFiles UP-TO-DATE
:acesoLib:packageReleaseRenderscript UP-TO-DATE
:acesoLib:compileReleaseRenderscript UP-TO-DATE
:acesoLib:generateReleaseResValues UP-TO-DATE
:acesoLib:generateReleaseResources UP-TO-DATE
:acesoLib:packageReleaseResources UP-TO-DATE
:acesoLib:processReleaseManifest UP-TO-DATE
:acesoLib:generateReleaseBuildConfig UP-TO-DATE
:acesoLib:processReleaseResources UP-TO-DATE
:acesoLib:generateReleaseSources UP-TO-DATE
:acesoLib:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE
:acesoLib:compileReleaseJavaWithJavac UP-TO-DATE
:acesoLib:processReleaseJavaRes UP-TO-DATE
:acesoLib:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
:acesoLib:transformClassesAndResourcesWithSyncLibJarsForRelease UP-TO-DATE
:acesoLib:mergeReleaseJniLibFolders UP-TO-DATE
:acesoLib:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE
:acesoLib:transformNative_libsWithSyncJniLibsForRelease UP-TO-DATE
:acesoLib:bundleRelease UP-TO-DATE
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:extractProguardFiles
:app:preReleaseBuild
:app:prepareComMogujieAcesoAcesoLib001Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:incrementalDebugJavaCompilationSafeguard UP-TO-DATE
:app:compileDebugJavaWithJavac UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources UP-TO-DATE
:app:mergeDebugShaders UP-TO-DATE
:app:compileDebugShaders UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:transformClassesWithDexForDebug
add jar D:\temp3\Aceso-master\aceso-demo-fix\app\build\intermediates\exploded-aar\com.mogujie.aceso\acesoLib\0.0.1\jars\classes.jar
add dir D:\temp3\Aceso-master\aceso-demo-fix\app\build\intermediates\classes\debug
generate the fix class..
class com/android/annotations/concurrency/GuardedBy.class's mtd count : 0
class com/android/annotations/concurrency/Immutable.class's mtd count : 0
class com/android/annotations/FixMtd.class's mtd count : 0
class com/android/annotations/NonNull.class's mtd count : 0
class com/android/annotations/NonNullByDefault.class's mtd count : 0
class com/android/annotations/Nullable.class's mtd count : 0
IncrementalChangeVisitor: Visiting com/android/tools/fd/runtime/AbstractPatchesLoaderImpl
visit method ()V
visit method load ()Z
:app:transformClassesWithDexForDebug FAILED
FAILURE: Build failed with an exception.
can not find class: com/android/tools/fd/runtime/AbstractPatchesLoaderImpl , sure you aceso-mapping is right and this class not in blacklist.
BUILD FAILED
Total time: 9.407 secs
`
支持梆梆加固、360加固等这些加固吗,有没有qq群
the method :isCropSupported Z in class com/spdbccc/app/menu/activity/scan/code/a/e not found in the aceso-mapping sure you aceso-mapping is right and no new method 这是什么问题,生成宿主apk时isCropSupported方法让proguard去除掉了,生成fix时就报上面问题
通过改框架,rt
Information:Gradle tasks [:app:assembleFullDebug]
Warning:The android.dexOptions.incremental
property is deprecated and it has no effect on the build process.
Error:Execution failed for task ':app:transformClassesWithDexForFullDebug'.
JSR/RET are not supported with computeFrames option
Information:BUILD FAILED
Information:Total time: 33.919 secs
Information:1 error
Information:1 warning
Information:See complete output in console
这是我的gradle配置
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId "com.cqxiaokang.cloudloan"
minSdkVersion 17
targetSdkVersion 25
versionCode 1
versionName "2.0.3"
multiDexEnabled true
}
不用annotation标记修改函数的情况下,补丁是替换修改的类?能实时生效?
目前项目使用kotlin-android-extensions开发UI,热修复的时候会导致热修复的包无法编译,就算导入Xml文件使得编译成功也会导致热修复后的空间Id找不到
android.applicationVariants.all Error:Cannot invoke method all() on null object
项目中多Flavor编译,然后报这个错误~
后来自己调试plugin,
def android = project.extensions.getByType(AppExtension);
ok了,牵扯到
AcesoHostPlugin GradleUtil 两个类
我根据之前提出的issue#17问题修复了,按照最新wiki做了,没有任何资源,fix工程的包名和宿主包名也不一样,但是出现一个新问题,重要日志如下
the method : onClick.(Landroid/view/View;)V in class : com/businesshall/activity/NewLoginActivity$4 not found in the aceso-mapping.
sure you aceso-mapping is right and no new method.
我的操作是把要修改的类拷贝到fix工程对应目录下,在一个方法上面加了@FixMtd,在import中手动引入了FixMtd的路径,在要修改的方法中加入Log以用来测试有没有修复成功。
我检查了fix工程中mapping的路径是对的,没有新加方法。
这种情况怎么排查
Caused by: java.lang.RuntimeException: JSR/RET are not supported with computeFrames option
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.MethodWriter.visitJumpInsn(Unknown Source)
at org.objectweb.asm.MethodVisitor.visitJumpInsn(Unknown Source)
at org.objectweb.asm.tree.JumpInsnNode.accept(Unknown Source)
at org.objectweb.asm.tree.InsnList.accept(Unknown Source)
at org.objectweb.asm.tree.MethodNode.accept(Unknown Source)
at com.mogujie.instantrun.IncrementalSupportVisitor.visitMethod(IncrementalSupportVisitor.java:146)
at org.objectweb.asm.tree.MethodNode.accept(Unknown Source)
at org.objectweb.asm.tree.ClassNode.accept(Unknown Source)
at com.mogujie.instantrun.IncrementalVisitor.instrumentClass(IncrementalVisitor.java:292)
at com.mogujie.instantrun.IncrementalVisitor$instrumentClass.call(Unknown Source)
at com.mogujie.aceso.HookWrapper.processClassInternal(HookWrapper.groovy:224)
at com.mogujie.aceso.HookWrapper.instrumentOneEntry(HookWrapper.groovy:170)
at com.mogujie.aceso.HookWrapper$_inject_closure2.doCall(HookWrapper.groovy:145)
at com.mogujie.aceso.HookWrapper.inject(HookWrapper.groovy:140)
at com.mogujie.aceso.HookWrapper$inject$0.callStatic(Unknown Source)
at com.mogujie.aceso.HookWrapper.instrument(HookWrapper.groovy:85)
at com.mogujie.aceso.HookWrapper$instrument.call(Unknown Source)
debug打版
instrumentDebug = false
使用fixdemo生成fix.apk,推到sdcard中,已经加载生成dex,但是依旧没有修复
白天的问题都解决了,clean rebuild 就好了,现在有几个新的问题
机型: 华为P9 Plus || android studio 模拟器 28版本
案例: 就是aceso-demo,没有改动过
error:
E/Aceso: Failed to install patch.
java.lang.ClassNotFoundException: com.android.tools.fd.runtime.AppPatchesLoaderImpl
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:453)
at com.mogujie.aceso.Aceso.installPatch(Aceso.java:51)
at com.mogujie.aceso.demo.MainActivity.fix(MainActivity.java:47)
at java.lang.reflect.Method.invoke(Native Method)
at android.view.View$DeclaredOnClickListener.onClick(View.java:5363)
at android.view.View.performClick(View.java:6291)
at android.view.View$PerformClick.run(View.java:24931)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7425)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.tools.fd.runtime.AppPatchesLoaderImpl" on path: DexPathList[[zip file "/storage/emulated/0/fix.apk"],nativeLibraryDirectories=[/system/lib64, /vendor/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:453)
at com.mogujie.aceso.Aceso.installPatch(Aceso.java:51)
at com.mogujie.aceso.demo.MainActivity.fix(MainActivity.java:47)
at java.lang.reflect.Method.invoke(Native Method)
at android.view.View$DeclaredOnClickListener.onClick(View.java:5363)
at android.view.View.performClick(View.java:6291)
at android.view.View$PerformClick.run(View.java:24931)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7425)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
Suppressed: java.io.IOException: No original dex files found for dex location /storage/emulated/0/fix.apk
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:353)
at dalvik.system.DexFile.<init>(DexFile.java:100)
at dalvik.system.DexFile.<init>(DexFile.java:74)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
at dalvik.system.DexPathList.<init>(DexPathList.java:157)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
at com.android.tools.fd.runtime.InstantRunClassLoader.<init>(InstantRunClassLoader.java:32)
at com.mogujie.aceso.Aceso.installPatch(Aceso.java:49)
... 12 more
日志如下:
Full recompilation is required because 'all-classes.jar' was changed. Analysis took 4.106 secs.
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:452: 错误: <匿名com.businesshall.enterancegment.CashChargeFragment$3>不是抽象的, 并且未覆盖DefaultActivity.DataCallback中的抽象方法processData(Object,boolean)
activity.buildData(dr, activity.new DataCallback() {
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:453: 错误: 方法不会覆盖或实现超类型的方法
@OverRide
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:781: 错误: <匿名com.businesshall.enterancegment.CashChargeFragment$4>不是抽象的, 并且未覆盖DefaultActivity.DataCallback中的抽象方法processData(Object,boolean)
activity.buildData(dr, activity.new DataCallback() {
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:782: 错误: 方法不会覆盖或实现超类型的方法
@OverRide
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:1020: 错误: <匿名com.businesshall.enterancagment.CashChargeFragment$8>不是抽象的, 并且未覆盖DefaultActivity.DataCallback中的抽象方法processData(Object,boolean)
activity.buildData(dr, activity.new DataCallback() {
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:1021: 错误: 方法不会覆盖或实现超类型的方法
@OverRide
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:1066: 错误: <匿名com.businesshall.enterancagment.CashChargeFragment$9>不是抽象的, 并且未覆盖DefaultActivity.DataCallback中的抽象方法processData(Object,boolean)
activity.buildData(dr, activity.new DataCallback() {
^
/Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/enterance/Fragment/CashChargeFragment.java:1067: 错误: 方法不会覆盖或实现超类型的方法
@OverRide
^
注: /Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/WebviewActivity.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: /Users/apple/android-work/Cmcc_aceso_fix/businessHall/src/main/java/com/businesshall/activity/WebviewActivity.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
8 个错误
:businessHall:compileReleaseJavaWithJavac FAILED
FAILURE: Build failed with an exception.
Compilation failed; see the compiler error output for details.
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':businessHall:compileReleaseJavaWithJavac'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:104)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:53)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:58)
at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:31)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:39)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:24)
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:163)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:127)
at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:49)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 68 more
BUILD FAILED
上面日志中DataCallback是DefaultActivity中的一个内部抽象类,是修复的时候跟抽象类有关系吗,如果不修复这个CashChargeFragment类就可以成功,求破解
使用versionCode能否判断,例如当前app的versionvode=1,修复时将versioncode=2,下发fix-apk时判断用户当前app的versioncode和fix-apk的versioncode吗?
when I run the aceso-demo with the gradlew clean assembleRelease command .I have not find the build/intermediates/aceso,Why is it ?
gradle/.gradlew acesoRelease 这个应该是对应linux下的命令
我用的windows 直接运行那个gradlew.bat显示编译成功 但是没有apk生成
直接用Android studio编译不了 你们的工程有报错不是完全的工程
请问这种怎么解决呢?谢谢
局限性太大,基本微信tinker出来后其他开源热修复框架就没啥用了,不过可以作为学习借鉴一下!!!
异常类型:编译异常
手机型号:
手机系统版本:
aceso-build插件版本:如:0.0.2
aceso-android-lib插件版本:如:0.0.1
android gradle插件版本:如:2.0.0
gradle版本:如:2.1.4
系统:windows
堆栈:
`find transform. class: class com.android.build.gradle.internal.transforms.DexTransform. task name: transformClassesWithDexForRelease
:app:preBuild UP-TO-DATE
:app:extractProguardFiles
:app:preReleaseBuild
:app:checkReleaseManifest
:app:preDebugAndroidTestBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:prepareComAndroidSupportMultidex101Library UP-TO-DATE
:app:prepareReleaseDependencies
:app:compileReleaseAidl UP-TO-DATE
:app:compileReleaseRenderscript UP-TO-DATE
:app:generateReleaseBuildConfig UP-TO-DATE
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources UP-TO-DATE
:app:mergeReleaseResources UP-TO-DATE
:app:processReleaseManifest UP-TO-DATE
:app:processReleaseResources UP-TO-DATE
:app:generateReleaseSources UP-TO-DATE
:app:incrementalReleaseJavaCompilationSafeguard UP-TO-DATE
:app:compileReleaseJavaWithJavac
E:\app1.2.8\TimeTravelMan2\MyApplication2\app\src\main\java\om\xintiaotime\timetravelman\ui\homepage\HomePageActivity.java:287: 错误: 找不到符号
Intent intent = new Intent(HomePageActivity.this, NoticePageActivity.class);
^
符号: 类 NoticePageActivity
位置: 类 HomePageActivity
1 个错误
Incremental compilation of 1 classes completed in 0.901 secs.
:app:compileReleaseJavaWithJavac FAILED
FAILURE: Build failed with an exception.
Compilation failed; see the compiler error output for details.
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileReleaseJavaWithJavac'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:104)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:53)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:69)
at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:31)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:39)
at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:24)
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:163)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:127)
at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:49)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 68 more
BUILD FAILED
Total time: 12.439 secs`
rt
我把demo中proguard-rules.pro中
#-keep class com.mogujie.aceso.demo.MainActivity {*;}
注释掉了,就不能被修复了。
我对A类进行了修复,也修复成功了,但是我第二次又再次修改这个A类,那我应该怎么操作?看了Wiki里面说的“在Fix工程中切出一个单独的分支”,不是很明白什么意思。
如果重新在fix工程执行命令:gradle acesoRelease ,就会报以下的错误:
java.io.FileNotFoundException: ~\AcesoFixDemo\app\build\outputs\apk\app-release-unsigned.apk (另一个程序正在使用此文件,进程无法访问。)
本来打算clean一下这个工程,就会出现下面的错误:
Error:Execution failed for task ':app:clean'.
Unable to delete file: ~\AcesoFixDemo\app\build\intermediates\aceso\merged\release\fix-merged.jar
那我应该怎么进行多次修复?
这是什么错
在跑Instant Run的时候无法编译通过,原因是AbstractPatchesLoaderImpl重复了。
Error:Execution failed for task ':app:transformClassesWithDexForUmeitimeRelease'.
java.io.FileNotFoundException: /Users/hujunwei/Desktop/AndroidStudioProjects/weeyuu/app/build/outputs/mapping/umeitime/release/mapping.txt (No such file or directory)
如题
自己的 项目不起作用,然后用了一下 demo ,demo 在 debug 模式下没问题,但是 一旦正式打包就出现这种类似的错误 there were 5 kept classes and class members that were remapped anyway.
can not find class: com/mogujie/aceso/b , sure you aceso-mapping is right and this class not in blacklist.
异常类型:app编译异常
aceso-build插件版本:如:0.0.3
aceso-android-lib插件版本:如:0.0.1
android gradle插件版本:4.1
gradle版本:3.0.1
出错工程:宿主/fix
系统:win
Error:Unable to load class 'com.android.build.gradle.internal.transforms.JarMerger'.
Possible causes for this unexpected error include:<ul><li>Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
<a href="syncProject">Re-download dependencies and sync project (requires network)</a></li><li>The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
<a href="stopGradleDaemons">Stop Gradle build processes (requires restart)</a></li><li>Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.</li></ul>In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
调用一个有传入参数的方法,方法内会报“从内部类中访问本地变量,需要被声明为最终类型”,可是这个本地变量是方法内传入的参数
宿主工程编译debug版本时,编译出错,
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
java.util.zip.ZipException: duplicate entry: com/android/tools/fd/runtime/AbstractPatchesLoaderImpl.class
这个该如何解决?
运行时出现 上述错误,在lib中没看到这个类 。这个怎么解决
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.