0

私のアプリケーションは、デバイスで「残念ながらアプリが動作を停止しました」というメッセージを出し続けます。コードを確認しましたが、エラーは表示されませんが、logcat ファイルで問題が発生していることを特定できたと思います。

これが私のlogcatです:

    09-06 14:38:20.974: D/AndroidRuntime(28710): Shutting down VM
09-06 14:38:20.974: W/dalvikvm(28710): threadid=1: thread exiting with uncaught exception (group=0x41573700)
09-06 14:38:20.974: E/AndroidRuntime(28710): FATAL EXCEPTION: main
09-06 14:38:20.974: E/AndroidRuntime(28710): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.bluetooth.le/com.example.bluetooth.le.DeviceScanActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.bluetooth.le.DeviceScanActivity" on path: DexPathList[[zip file "/data/app/com.example.bluetooth.le-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.bluetooth.le-1, /vendor/lib, /system/lib]]
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.os.Looper.loop(Looper.java:137)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.ActivityThread.main(ActivityThread.java:5103)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at java.lang.reflect.Method.invokeNative(Native Method)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at java.lang.reflect.Method.invoke(Method.java:525)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at dalvik.system.NativeStart.main(Native Method)
09-06 14:38:20.974: E/AndroidRuntime(28710): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.bluetooth.le.DeviceScanActivity" on path: DexPathList[[zip file "/data/app/com.example.bluetooth.le-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.bluetooth.le-1, /vendor/lib, /system/lib]]
09-06 14:38:20.974: E/AndroidRuntime(28710):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
09-06 14:38:20.974: E/AndroidRuntime(28710):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
09-06 14:38:20.974: E/AndroidRuntime(28710):    ... 11 more

私は、このインポートについて不平を言うだろうと強く感じています:

import com.example.bluetooth.le.R;

インポートがそのエラーの生成を停止するには、アプリケーション名を .le の代わりに配置する必要があると思います。したがって、私の場合は次のようになります。

import com.example.bluetooth.samplebletest.R;

しかし、インポートを解決できないというエラーが表示されます。

クラッシュはこのインポートに関連していますか? どうすれば修正できますか?

4

1 に答える 1

1

以下を確認してください。

  1. あなたの Android プロジェクトは として宣言com.example.bluetooth.lelibraryます。プロジェクトのプロパティ -> Android -> ライブラリ +
  2. Android の依存関係がエクスポートされています。プロジェクトのプロパティ -> Java ビルド パス -> 注文とエクスポート
  3. プロジェクトで使用するアクティビティは、プロジェクト マニフェストにあります。
  4. 最後に、作成しようとしているアクティビティが、コンパイル時に解決するために使用されている jar だけでなく、ライブラリ apk に実際に含まれていることを確認します。
于 2013-09-06T14:06:12.007 に答える