在我们的应用上,我从Google Play上看到的下载次数超过50万次报告了以下堆栈跟踪:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/trans_button_bg.xml from drawable resource ID #0x7f02020b
at android.content.res.Resources.loadDrawable(Resources.java:1961)
at android.content.res.TypedArray.getDrawable(TypedArray.java:653)
at android.view.View.<init>(View.java:1961)
at android.widget.TextView.<init>(TextView.java:458)
at android.widget.Button.<init>(Button.java:108)
at android.widget.Button.<init>(Button.java:104)
... 38 more
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-hdpi/transdark_active.9.png from drawable resource ID #0x7f02020c
at android.content.res.Resources.loadDrawable(Resources.java:2008)
at android.content.res.Resources.getDrawable(Resources.java:601)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
at android.content.res.Resources.loadDrawable(Resources.java:1936)
... 43 more
Caused by: java.io.FileNotFoundException: res/drawable-hdpi/transdark_active.9.png
at android.content.res.AssetManager.openNonAssetNative(Native Method)
at android.content.res.AssetManager.openNonAsset(AssetManager.java:409)
at android.content.res.Resources.loadDrawable(Resources.java:1970)
... 48 more
对我来说,似乎说它试图加载drawable/trans_button_bg.xml
这是一个简单的选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/transdark_active" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/transdark_active" /> <!-- focused -->
<item android:drawable="@drawable/trans_button" /> <!-- default -->
</selector>
调用mdpi,hdpi和xhdpi上可用的9补丁transdark_active.9.png:
这只是一个例子,堆栈,因为我有其他类似的堆栈,其他资产无法加载。
此错误报告的设备明细如下:
所以我的问题:
三星像往常一样搞砸了,还是我在代码上遗漏了什么?