AutoRegister
AutoRegister copied to clipboard
基于字节码插桩,在Android中实现跨module自动注册的gradle插件,可用于模块解耦。已应用于ARouter和CC
升级google pay v3 报错如下: * What went wrong: Execution failed for task ':app:transformClassesWithAuto-registerForDebug'. > This feature requires ASM6
auto-register cost time: 4 ms to scan jar file:D:\lszx\app\build\intermediates\transforms\auto-register\debug\23.jar Execution failed for task ':app:transformClassesWithAuto-registerForDebug'. > This feature requires ASM6
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithAuto-registerForRatio_19_9Rom_9_0DemesticAndroid_30Debug'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:151) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:148) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:141) at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108) at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67) at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)...
希望可以支持Android Library工程build出来的aar里也能自动插入代码
有一种场景,我只想扫描scanSuperClasses的子类,而不需要扫描scanInterface的实现类,这种场景下我不设置scanInterface就会报错 我觉得合理的应该是scanInterface和scanSuperClasses设置其一就可以了吧,不需要限制必须设置scanInterface吧
不支持com.android.dynamic-feature
> Task :App:transformClassesWithAuto-registerForFlavorAppRelease FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':App:transformClassesWithAuto-registerForFlavorAppRelease'. > java.lang.RuntimeException (no error message) * Try: Run with --info or...
增量编译的处理,对于遍历 JarInput 有判断状态,读取缓存等操作 ``` if (jarInput.status != Status.NOTCHANGED && cacheMap) { cacheMap.remove(jarInput.file.absolutePath) } if (!scanProcessor.scanJar(src, dest) //直接读取了缓存,没有执行实际的扫描 //此jar文件中不需要被注入代码 //为了避免增量编译时代码注入重复,被注入代码的jar包每次都重新复制 && !scanProcessor.isCachedJarContainsInitClass(src.absolutePath)) { //不需要执行文件复制,直接返回 return } ``` 但在遍历目录的时候,没有特殊的处理,没有使用到 DirectoryInput.getChangedFiles(),也没有缓存相关的操作 小白求助,可以请问一下是出于什么考虑吗