使用shrinkResources时,AppCompat V7崩溃

时间:2014-11-03 10:42:45

标签: android gradle proguard android-appcompat

我在我的gradle项目中启用了新工具 shrinkResources ,但由于找不到AppCompat颜色xml而失败,可能已被该工具删除。

11-03 11:30:19.095: E/AndroidRuntime(24797): Caused by: android.content.res.Resources$NotFoundException: File res/color/abc_primary_text_material_dark.xml from color state list resource ID #0x7f090192 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.loadColorStateList(Resources.java:2247) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.getColor(Resources.java:812) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintManager.getThemeAttrColor(TintManager.java:325) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintManager.tintDrawable(TintManager.java:178) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:146) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:248) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:190) 11-03 11:30:19.095: E/AndroidRuntime(24797): ... 27 more 11-03 11:30:19.095: E/AndroidRuntime(24797): Caused by: android.content.res.Resources$NotFoundException: File res/color/abc_primary_text_material_dark.xml from xml type colorstatelist resource ID #0x7f090192 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2351) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.loadColorStateList(Resources.java:2241) 11-03 11:30:19.095: E/AndroidRuntime(24797): ... 34 more 11-03 11:30:19.095: E/AndroidRuntime(24797): Caused by: java.io.FileNotFoundException: res/color/abc_primary_text_material_dark.xml 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.AssetManager.openXmlAssetNative(Native Method) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:488) 11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2333) 11-03 11:30:19.095: E/AndroidRuntime(24797): ... 35 more

我添加到我的proGuard文件(请记住,proGuard必须运行shirnkResources工具)AppCompat V7但似乎是shirnkResources的问题

# support-v7 -dontwarn android.support.v7.** -keep class android.support.v7.internal.** { *; } -keep interface android.support.v7.internal.** { *; }

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我只使用了带有v21的colors.xml,而我正在测试API 19设备。为所有修复问题创建colors.xml。

答案 1 :(得分:0)

这必须是appcompat中的错误。我在使用abc_screen_simple.xml

时遇到了类似的问题 在棒棒糖发布破坏之前,收缩资源工作了大约一个月。

答案 2 :(得分:0)

这可能与这些错误有关:

我不得不将shrinkResources变为false