8

現在、ユーザーから報告された私のアプリの最も重大なクラッシュは以下のとおりです。システムがファイル res/drawable-hdpi/scrollbar_handle_vertical.9.png を見つけられないようです。以下の例は、webview を描画するときに問題が発生することを示していますが、アプリの他のアクティビティでも発生します。時間。

これは、心配する必要のない Android リソースだと思います。ただし、テストのために、sdk からファイルを取得し、アプリの最新リリース用にプロジェクトの drawable-hdpi フォルダーに配置しました。ただし、Google Play でクラッシュ レポートを確認しています。

何が起こっているのかについて何か考えはありますか?

また、現在progaurdを使用していないため、ファイルを削除する方法はありません。

android.view.InflateException: Binary XML file line #26: Error inflating class com.android.internal.app.AlertController$RecycleListView
at android.view.LayoutInflater.createView(LayoutInflater.java:513)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at android.webkit.WebView$InvokeListBox.run(WebView.java:8308)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at com.android.internal.app.AlertController$RecycleListView.<init>(AlertController.java:703)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
at android.view.LayoutInflater.createView(LayoutInflater.java:500)
... 14 more
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-hdpi/scrollbar_handle_vertical.9.png from drawable resource ID #0x0
at android.content.res.Resources.loadDrawable(Resources.java:1714)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.widget.AbsListView.<init>(AbsListView.java:630)
at android.widget.ListView.<init>(ListView.java:230)
at android.widget.ListView.<init>(ListView.java:226)
... 18 more
Caused by: java.io.FileNotFoundException: res/drawable-hdpi/scrollbar_handle_vertical.9.png
at android.content.res.AssetManager.openNonAssetNative(Native Method)
at android.content.res.AssetManager.openNonAsset(AssetManager.java:405)
at android.content.res.Resources.loadDrawable(Resources.java:1706)
... 22 more
4

2 に答える 2

2

このリソースが 1 つ (または複数のデバイス) で欠落している可能性があります。つまり、そのデバイスの Android のビルドにはこのファイルがありません。問題が非常に特定のデバイスに影響を与えているかどうかを確認することは興味深いでしょう.

解決策は、(Android に依存するのではなく) アプリ自体でドローアブルを使用し、特定のデバイスにないドローアブルではなく、自分のドローアブルが参照されるようにすることだと思います。

BugSense などのツールを使用して、このような問題を追跡し、影響を受けるデバイスとプラットフォームのバージョンに関するデータを収集できます。これは、Google Play ストアのレポートからこの情報を取得できない場合に役立ちます。

于 2012-04-24T22:30:54.627 に答える
0

これが発生するもう 1 つのケース - 後の Android バージョンで導入された属性/リソースを使用する場合。インデックスへの複雑なマッピング属性がいくつかあり、appt が R.java を生成すると、古い ID が重複する可能性があり、この非常に奇妙なエラーが発生します。

私にとっては、ビューが設定されているときに同じエラーが表示さ
android:foreground="?android:attr/selectableItemBackground"

selectableItemBackgroundれ、api 11 で導入されましたが、api 7 でエミュレーターで起動されました。

そのため、minSdkVersion より後に導入されたいくつかのリソースを使用するためのレイアウトを確認してください。R.javaリファレンスで確認できます

于 2015-08-06T17:42:55.600 に答える