一直在和Proguard一起战斗,并在官方的Proguard网站和StackOverflow上尝试了很多示例和解决方案.
我有一个需要混淆的大型项目,它有许多引用的库项目和Jars.
我从2个libs,com.google.common和twitter4j收到来自proguard的725个警告.
如果我添加以下内容,我很乐意让项目编译:
-dontwarn com.google.common.**
-dontwarn twitter4j.**
Run Code Online (Sandbox Code Playgroud)
然而,应用程序在打开时立即崩溃,所以这似乎只是一种隐藏问题的方式,而不是修复它.
proguard-project.txt位于项目根目录中,其配置位于project.properties文件中,如下所示.
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)
这是我的proguard-project.txt文件
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dontshrink
-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
-keep class javax.** { *; }
-keep class org.** { *; }
-keep …Run Code Online (Sandbox Code Playgroud)