allenymt / PrivacySentry

Android隐私合规整改检测工具,注解+Asm修改字节码的检测方案
MIT License
2.05k stars 262 forks source link

报错 Execution failed for task ':app:transformClassesWithPrivacySentryPluginForDebug'. > -1 #43

Closed duguos330 closed 2 years ago

duguos330 commented 2 years ago

gradle版本 distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip classpath "com.android.tools.build:gradle:4.1.3"

报错堆栈: Execution failed for task ':app:transformClassesWithPrivacySentryPluginForDebug'.

-1

Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithPrivacySentryPluginForDebug'.

Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 at org.objectweb.asm.commons.AdviceAdapter.popValue(AdviceAdapter.java:590) at org.objectweb.asm.commons.AdviceAdapter.visitFieldInsn(AdviceAdapter.java:382) at com.yl.lib.plugin.sentry.transform.SentryTraceMethodAdapter.visitFieldInsn(HookMethodAsm.kt:138)

 at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2210)

at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1283) at org.objectweb.asm.ClassReader.accept(ClassReader.java:688) at org.objectweb.asm.ClassReader.accept(ClassReader.java:400) at com.yl.lib.plugin.sentry.transform.PrivacyClassProcessor$Companion.runHook(PrivacyClassProcessor.kt:47) at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform$handleJar$1$2.invoke(PrivacySentryTransform.kt:109) at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform$handleJar$1$2.invoke(PrivacySentryTransform.kt:15) at com.yl.lib.plugin.sentry.transform.PrivacyClassProcessor$Companion.processJar(PrivacyClassProcessor.kt:104) at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform.handleJar(PrivacySentryTransform.kt:104) at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform.transform(PrivacySentryTransform.kt:53) at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:281)

allenymt commented 2 years ago

有引用高德吗,看下README里的黑名单

duguos330 commented 2 years ago

有引用高德吗,看下README里的黑名单

黑名单配置过了,gradle文件里 image

duguos330 commented 2 years ago

这个报错解决了,看之前有个issue提到的方式,执行 ./gradlew app:assembleDebug -i 的时候,把异常停止时的包加到黑名单就可以了。这个包是我们自己开发的,后面有类似报错应该都可以这样排查

allenymt commented 2 years ago

这个包加了什么~~~~

allenymt commented 2 years ago

一直想尝试复现这个问题,都没有场景。

duguos330 commented 2 years ago

异常触发时的日志: deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/AutoSizeViewFlipper$AdapterWrapper.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/AutoSizeViewFlipper$setAdapter$adapterInternal$1.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/AutoSizeViewFlipper.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/ChronometerFormatFix$Companion.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/ChronometerFormatFix.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/HitchClearEditText$Companion.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/HitchClearEditText.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/HitchTextView.class deal with jar file is: /Users/.../Documents/code/...Android...App/app/build/intermediates/transforms/PrivacyCollectTransform/debug/7.jar.absolutePath entryName is com/.../hitchplatform/widget/MaxHeightLinearLayout.class :app:transformClassesWithPrivacySentryPluginForDebug took 71050ms Task :app:transformClassesWithPrivacySentryPluginForDebug in app Finished

Task :app:transformClassesWithPrivacySentryPluginForDebug FAILED

最后一个class文件内容: image

allenymt commented 2 years ago

没什么特殊的