如何仅通过优化功能使用 Android proguard
How to use Android proguard only with the optimize function
我的 gradle 配置是:
minifyEnabled true
shrinkResources true
proguardFile 'proguard-rules.pro'
我想缩小我的应用程序的大小。因此,我使用 proguard 来实现这一点。但是,我不想更改我的 class 名称和方法名称。因此,我尝试关闭除混淆之外的所有 Android ProGuard 功能。
而我的proguard-rules.pro如下:
-dontshrink
-dontusemixedcaseclassnames
-dontpreverify
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
但是,-dontshrink 似乎没有效果。因此,我 - 保留了许多 classes 并且 -donwarn 他们。
但是还是有问题,比如:
错误:任务“: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 找不到引用的类 org.apache.thrift.TEnum
看来android Dalvik 有自己的优化规则。因此,在 android sdk 中,建议使用 -dontoptimze。因此,我的临时解决方案是现在禁用它。
我的 gradle 配置是:
minifyEnabled true
shrinkResources true
proguardFile 'proguard-rules.pro'
我想缩小我的应用程序的大小。因此,我使用 proguard 来实现这一点。但是,我不想更改我的 class 名称和方法名称。因此,我尝试关闭除混淆之外的所有 Android ProGuard 功能。
而我的proguard-rules.pro如下:
-dontshrink
-dontusemixedcaseclassnames
-dontpreverify
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
但是,-dontshrink 似乎没有效果。因此,我 - 保留了许多 classes 并且 -donwarn 他们。
但是还是有问题,比如:
错误:任务“: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 找不到引用的类 org.apache.thrift.TEnum
看来android Dalvik 有自己的优化规则。因此,在 android sdk 中,建议使用 -dontoptimze。因此,我的临时解决方案是现在禁用它。