2

本番アプリからクラッシュ レポートを受け取りました。これは、アクティビティの 1 つに NoClassDefFound 例外があることを示しています。

例外は次の行でスローされます。

final Intent i = new Intent(MainActivity.this, SomeActivity.class);

「SomeActivity」クラスが見つからないと主張する場所。

何千人ものユーザーから報告されたインスタンスは 1 つだけです。(Samsung Note Mini の場合) つまり、コンパイルや間違ったライブラリが含まれているという問題ではありません。

調査を続けるための手がかりはありますか?

p/s: アクティビティはマニフェストで明確に定義されています。そうしないと、他のユーザーの電話でも機能しません。

スタック:

java.lang.NoClassDefFoundError: com.sensored.SomeActivity
at com.sensored.MainActivity$2.onItemClicked(MainActivity.java:920)
at com.sensored.adapter.SomeListAdapter$2.onClick(SomeListAdapter.java:115)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3697)
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:853)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
at dalvik.system.NativeStart.main(Native Method)
4

1 に答える 1

0

1) すべてのアクティビティを同じパッケージ [たとえば、com.compname.proj.views] の下に保持します。

2) マニフェストで、パッケージ属性が上記のパッケージ [つまり、com.compname.proj.views] に設定されていることを確認します。

3) マニフェストのすべてのアクティビティ タグの下で、android:name 属性に以下のパターンに一致する値があることを確認します。

        android:name=".<your activity class name>"

例: android:name=".SomeActivity"

私のポイントは、マニフェスト アクティビティ宣言にパッケージ名 + アクティビティ クラス名を使用しないことです。

于 2013-06-11T15:33:41.483 に答える