① Tinker loader classes are found in old secondary dex 错误 和②groovy.lang.MissingPropertyException: Co

① Tinker loader classes are found in old secondary dex 错误 和②groovy.lang.MissingPropertyException: Could not get unknown property ‘packageForR’ for task 错误

②错误网上一堆的butterknife 降级的办法,但更有可能的是,你用了butterknife 8.5以上的版本,但又在app的build.gradle里添加了apply plugin: ‘com.jakewharton.butterknife’
这个是8.5以下版本的做法。在gradle 3.0.1 的时候不报错,但gradle 3.2.0之后,就会报错 butterknife 8.5 以后的版本,只要是引用是有注解处理器的annotationProcessor ,比如类似
implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'就删掉apply plugin: ‘com.jakewharton.butterknife’

①错误一开始是tinker 死活打补丁包不成功,各种研究。升级gradle 到3.2.0,gradle.properties 又需要加
#gradle 3.2.0 需要添加 android.enableD8.desugaring= true #gradle 3.2.0 需要添加 android.useDexArchive= true
来支持,结果support包冲突,因为3.2.0 自带的databingding中用的support包26.1.0 ,结果又在manifest指定
xmlns:tools="http://schemas.android.com/tools"

这时候出现②错误,看提示似乎是gradle 升级到3.2.0之后,tinker相关的引导加载类,被分包在了非main dex 中,失去了主导权, 于是在app 的gradle 中手动添加 multiDexKeepProguard file(‘tinker_multidexkeep.pro’) , tinker_multidexkeep.pro文件在tinker生成的build文件中有。终于问题解决。我现在怎么感觉原生的坑越来越多。

你可能感兴趣的:(android)