CodeLocator
CodeLocator copied to clipboard
fix compat for android 12
版本2.0.3,使用lancet的插件1.0.6时在transform中报错@ClassOf 's origin type should be parent in value
很多view的点击事件和 findview 和 XML 跳转似乎都不可用
distributionUrl=http\://maven.temu.team/repository/distributions/gradle-7.4.2-bin.zip ilationFailedException: Compilation failed to complete, origin: /Users/suny/repo/baogong/app/build/intermediates/transforms/lancet/debug/1526.jar:androidx/activity/ComponentActivity$_lancet.class at Version.fakeStackEntry(Version_4.0.28.java:0) at com.android.tools.r8.utils.ExceptionUtils.failWithFakeEntry(ExceptionUtils.java:139) at com.android.tools.r8.utils.ExceptionUtils.failCompilation(ExceptionUtils.java:89) at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:83) at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:64) at com.android.tools.r8.D8.run(D8.java:125) at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:115) ... 40 more Caused by: java.lang.IllegalArgumentException at com.android.tools.r8.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1843)...
 
具体原因是 Android 25 版本以下 LayoutInflater 实现不同 ,args[0] 为 context 的初始化方式不同,最后导致new view的时候报 NullPointerExeception,我找不到修复的办法,目前是简单关闭了HookInflater 功能来绕过的 绕过代码如下 ```java if(Build.VERSION.SDK_INT