2011-09-30 1 views
8

私は1日に数千人のユーザーを獲得するアプリを持っています。私は、エントリー活動がレイアウトxmlリソースを読み込めないという市場を通じた報告をいくつか得ています。私はこれを可能にできる方法が表示されない?:ユーザーの1%未満のレイアウトIDが見つかりませんか?

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.me.app/com.me.app.MyActivity}: **android.content.res.Resources$NotFoundException: Resource ID #0x7f030065** 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675) 
at android.app.ActivityThread.access$1500(ActivityThread.java:121) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3701) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030065 
at android.content.res.Resources.getValue(Resources.java:896) 
at android.content.res.Resources.loadXmlResourceParser(Resources.java:1873) 
at android.content.res.Resources.getLayout(Resources.java:735) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:318) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 
at android.app.Activity.setContentView(Activity.java:1657) 
at com.me.app.MyBaseActivity.setContentView(MyBaseActivity.java:50) 
at com.me.app.MyActivity.onCreate(MyActivity.java:116) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623) 
... 11 more 

例外ポイントこの行に:

setContentView(R.layout.my_layout); 

任意のアイデア私がここで間違っていることができるもの?再び、ユーザーの99%は問題ありません。

はあなた、私はトラブルシューティングのリソースID 0x7f030065が、これらのエラーレポートを理解する鍵であることを疑問についてのコメントに同意

+1

私は似たようなことを経験しています。これまでのところ、約5,000人のユーザーに対して1回しか発生していません(少なくとも1回しか報告されていません)。なぜ誰かがこれがなぜ知っているか聞くことに非常に興味があります。 –

+0

使用するデバイスやソフトウェア/ OSのバージョンとの関連性はありますか? –

+2

my_layout.xmlはどこにありますか?複数の画面をサポートしていますか? – Selvin

答えて

1

ありがとうございます。

私はリソースがmy_layoutファイルではないと仮定しています。 my_layoutが問題の行として指摘されているにもかかわらず、根本的な問題ではない可能性が最も高いです。 my_layoutファイル内の何かがリソース0x7f030065を参照しています。レイアウトインフレータは、これらのエラーを非常にはっきりと報告しないことがよくあります。

既定のフォルダー(drawable-landscapeではなくdrawableなど)に0x7f030065のバージョンがない場合、おそらく1%が非プレースメントにフォールバックしていない構成で実行されている可能性があります存在するデフォルト。これは、アプリが横長の向きでロックされている場合でも可能です。エンドユーザーが見ることができない場合でもポートレートの引き出しが起こることがあります。

常に同じリソースIDですか?それは注意を払うのが良いことです。

私の経験では、メモリ不足のような他の問題は、これらの種類の時間を膨らませる可能性があります。リソース0x7f030065がカスタムレイアウトクラスを参照している場合、そのクラスのコンストラクタで発生するものは、リソース$ NotFoundExceptionになる可能性があります。

1

私は同様のことを経験しました。 私はランドスケープでのみ表示したいという活動をしていました。したがって、AndroidManifest.xmlにはアンドロイド:screenOrientation = "landscape"がありました。 フォルダのレイアウトより、レイアウトファイルがあります。

ランダムに、アクティビティがメインレイアウトを読み込もうとしているときに、リソース$ NotFoundExceptionが発生していました。

レイアウトにフォルダレイアウトの名前を変更して解決しました。

しかし私はアンドロイドで何らかのバグを起こしたと思います。

関連する問題