使用Ant编译我的应用程序时,我可以看到详细的Proguard输出,并且我已经设置了删除日志语句(见下文),但是当我运行发行版apk时,我试图删除的所有日志语句都在那里.
我有2个项目,每个项目都包含一个共同的项目. 2个主项目和公共项目都有一个proguard.cfg文件,所有这些文件都包含删除日志语句的代码段.
有什么东西我错过了吗?
**我的所有日志语句都是Log.d(…)
proguard.cfg
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dontobfuscate
-forceprocessing
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native
最佳答案
这里你的proguard文件没问题,但是你可能会遗漏一些细节.
原文链接:https://www.f2er.com/android/430560.html在你的gradle文件中你可能有这样的东西:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt),'proguard-rules.pro'
}
}
检查getDefaultProguardFile(‘proguard-android’),所以如果你打算优化它,你应该把它改成getDefaultProguardFile(‘proguard-android-optimize.txt’).
我花了一些时间来实现它,看到了你的问题,但仍然无法删除我的代码上的日志调用.所以我发现这个链接解释了必须更改为优化文件才能进行优化.
https://developer.android.com/tools/help/proguard.html#enabling-gradle