0

Android アプリに関して問題が発生しています。エラーメッセージは次のとおりです。

06-29 16:07:28.263: E/AndroidRuntime(196): Uncaught handler: thread main exiting due to uncaught exception
06-29 16:07:28.463: E/AndroidRuntime(196): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.androidcalc/com.calc.AndroidCalc}: java.lang.ClassNotFoundException: com.calc.AndroidCalc in loader dalvik.system.PathClassLoader@44c067c8
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.os.Looper.loop(Looper.java:123)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.ActivityThread.main(ActivityThread.java:4363)
06-29 16:07:28.463: E/AndroidRuntime(196):  at java.lang.reflect.Method.invokeNative(Native Method)
06-29 16:07:28.463: E/AndroidRuntime(196):  at java.lang.reflect.Method.invoke(Method.java:521)
06-29 16:07:28.463: E/AndroidRuntime(196):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
06-29 16:07:28.463: E/AndroidRuntime(196):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
06-29 16:07:28.463: E/AndroidRuntime(196):  at dalvik.system.NativeStart.main(Native Method)
06-29 16:07:28.463: E/AndroidRuntime(196): Caused by: java.lang.ClassNotFoundException: com.calc.AndroidCalc in loader dalvik.system.PathClassLoader@44c067c8
06-29 16:07:28.463: E/AndroidRuntime(196):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
06-29 16:07:28.463: E/AndroidRuntime(196):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
06-29 16:07:28.463: E/AndroidRuntime(196):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-29 16:07:28.463: E/AndroidRuntime(196):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
06-29 16:07:28.463: E/AndroidRuntime(196):  ... 11 more

私はいくつかの助けを求めて Google をチェックし、SO でこれに関する他のいくつかのスレッドを見つけましたが、それらのどれも私のケースと一致していないようです。何が起こったかは次のとおりです。

約1年ほど前に書き始めたアプリがあります。しばらくの間、別のことがあったので未完成のままお蔵入りしました。タブレット用の UI を実装しようとして約 6 か月間活動がなかったのですが、今日戻ってきました (現在、タブレット UI は小さい画面の UI から借用していて、非常に醜いです)。これが私がしたことです:

1) 新しい UI 要素を格納するためのフォルダー layout-large を作成し、操作するベースとして小さいレイアウト フォルダーの UI 要素で CTRL-C CTRL-V を押しました。

2) タブレットが実際には特大に分類されていることに気付いたので、layout-xlarge を除いて手順 1 を繰り返しました。

3) layout-xlarge の UI ドレッシングの一部を変更しました (テキスト サイズと要素サイズのみで、コードには触れていません)。

4) タブレットをエミュレートするために必要な SDK をインストールしていないことに気付きました (4.0.3 までしかなく、4.1.2 が必要でした)。SDK Manager を使用して SDK を更新しました。

5) SDK を更新した後、Tablet VM を作成しました。

6) 私は Eclipse に多くのことを更新する必要があると言われたので、それを実行しました。

7) Eclipse を更新した後、SDK マネージャーに戻り、さらにいくつかのもの (具体的には Build-tools と呼ばれるもの) を更新する必要があると言われたので、それを行いました。

8) タブレット VM でプログラムを実行したところ、上記のエラーが発生しました。

9) 電話 VM (以前のバージョンで動作していた) でプログラムを実行したところ、上記のエラーが発生しました。

どういうわけか、コードの 1 行にも触れず、新しいアクティビティ要素 (追加の UI を除く) を追加せずに、上記の手順を進めていくと、アプリケーションが実行されなくなるまでバグを修正することができました。私はすでに次のことを試しました:

1) Android マニフェストを確認しました。その中の唯一のものは、そこにあるはずの唯一のActivityアプリケーションです。

2) Project Clean を実行しました。

3)私が読んだ以前のスレッドでは、「bin」および「gen」ディレクトリを削除して再構築することを提案しました。私はそれをしました。

これら3つのことのどれもうまくいきませんでした。他に何か提案はありますか?ありがとう。

4

1 に答える 1

1

パッケージに問題があるようです。アプリケーション パッケージは として宣言されてcom.androidcalcいますが、インスタンス化しようとしているクラスは ですcom.calc.AndroidCalc。したがって、実際のクラス名と宣言された名前の間に不一致があると思います。これは、次のことを行う必要があることを意味します。

  • プロジェクト内のパッケージ名を確認して、com.androidcalcまたはに変更しcom.calcます。
  • AndroidManifest.xml を確認し、アプリケーションとアクティビティの宣言の両方で、パッケージをまったく同じものに設定します。
于 2013-06-29T07:59:37.370 に答える