如何使用Android的ProGuard只能与优化功能

问题描述:

我gradle这个配置是:如何使用Android的ProGuard只能与优化功能

minifyEnabled true 
shrinkResources true 
proguardFile 'proguard-rules.pro' 

我要来缩小我的应用程序的大小。因此我使用proguard来实现这一点。但是,我不想更改我的类名称和方法名称。因此,我尝试关闭除混淆外的所有Android ProGuard功能。

而我的proguard-rules.pro如下: -dontshrink -dontusemixedcaseclassnames -dontpreverify -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* -optimizationpasses 5 但是,-dontshrink似乎没有效果。因此,我保留了很多班级,并且还要告诫他们。 但仍存在问题,如:

错误:执行任务':app:proguardDefaultConfigDebug'失败。

Can't find common super class of [org/luaj/vm2/script/LuaScriptEngine$LuajCompiledScript] (with 1 known super classes) and [java/lang/Object] (with 1 known super classes)

和:

警告:a.a.a.a.a找不到CALSS org.apache.thrift.TEnum

+0

你能否让你的问题更清楚一点? – anthonymonori

引用看来,Android的Dalvik的有自己的优化规则。因此,在android sdk中,建议使用-dontoptimze。因此,我的临时解决方案是现在禁用它。