Error:com.android.dx.cf.code.SimException

背景:

开发项目公共library,编译时出现该问题

 

原因:

proguard 添加优化后的自身的一个bug导致

解决:

方案一:去除proguard优化,proguard文件中添加 -dontoptimize

方案二:优化算法中添加 !code/allocation/variable(推荐)

方案三:在项目根目录中的gradle.properties文件中添加android.enableD8=true,使用D8编译器编译,适合studio3.0以上

 

参考:

参考1:https://stackoverflow.com/questions/5701126/compile-with-proguard-gives-simexception-local-variable-type-mismatch/7985786

参考2:https://sourceforge.net/p/proguard/bugs/462/

 

 

你可能感兴趣的:(android,studio,Gradle)