1
从appcompat-v7版本20升级到21.0.3后,我的Android应用程序在运行Android 4.3的三星Galaxy Nexus上启动时崩溃。 (它可以在安卓5.0的Galaxy S5上正常运行)。proguard在Android 4.3上如何防止我的NoClassDefFoundError for v7.appcompat?
这里是我的堆栈跟踪的顶部:
java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr
at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:263)
at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:225)
at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
at com.xxx.ui.LoginChoiceActivity.onCreate(LoginChoiceActivity.java:39)
我相信这个问题被报告,并讨论了弹尽粮绝here。 在这个问题上的几位评论者设法在他们的proguard配置文件中使用各种不同的咒语。所以我尝试了同样的事情,并设法摆脱崩溃,但我不明白是什么导致了修复。
我正在使用Android Studio 1.1.0。我增加了以下内容的build.gradle:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
minifyEnabled true
这是我proguard-rules.pro文件:
# Works regardless of whether this is commented out or not.
#-keep class ** {*;}
# We know these reference classes that we don't have. It's ok.
-dontwarn com.flurry.**,com.millennialmedia.**
-dontoptimize
-dontshrink
-dontobfuscate
我不开心的bug修正/解决方法,我不明白,那么任何人都知道ProGuard正在为我做什么?
http://stackoverflow.com/questions/24096416/error-in-eclipse-with -appcompat-v7/24096452#24096452 – Apurva 2015-03-13 15:11:45
@apurva我看不出有什么相关的。 – 2015-03-13 15:15:19