ADT を 19 に更新してから、次のエラーが発生し始めました。アプリを起動するたびに問題が発生します。これに関連する以前の投稿をすべて確認しましたが、どれも役に立たないようです。どんなアイデアでも大歓迎です...
私のセットアップ
- 現在、Windows 7 64 ビットで ADT 18、SDK 19、elcipse を使用しています。
- ashare.jar を作成するライブラリ プロジェクトを使用し、すべての外部 jar (つまり、ドロップボックス、コモンズ コーデック) はライブラリ プロジェクト (Ashare) の「libs」フォルダにあります。
- 私はプロガードを使用しません。
この問題をどのように見るか。
- Eclipse で apk を作成 > {MyProject} > 右クリック > Android ツール > 署名済みアプリケーション パッケージのエクスポート
- 「adb install XXX.apk」を使用して、エミュレーターまたは dev.phone に apk をインストールします。
- アプリを起動します。次に、ブーム。それはエラーをスローします。
いくつかの注目すべき点は
- バージョン18にEclipseでADTに更新した後に発生し始めました
- 署名付き apk を作成し、エミュレータまたは dev.phone で実行した場合にのみ発生します。
- {MyProject} > 右クリック > Run As > Android Application を使用してアプリを実行しても問題はありません
- classes.dex の内部を確認すると、いくつかのクラスが欠落していることがわかります。よくわかりませんが、ビルドプロセスが classes.dex のすべてのクラスを含んでいないと感じています
- エクスポート中、Eclipse コンソールにエラーはありません (Android > Build > Build output 設定で詳細オプションを使用します)。
Java 例外
05-07 08:52:48.336: D/AndroidRuntime(3055): Shutting down VM
05-07 08:52:48.336: W/dalvikvm(3055): threadid=1: thread exiting with uncaught exception (group=0x40a3e1f8)
05-07 08:52:48.340: E/AndroidRuntime(3055): FATAL EXCEPTION: main
05-07 08:52:48.340: E/AndroidRuntime(3055): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.acj0.barcodeexpdemo/com.acj0.barcodeexpdemo.Launcher}: java.lang.ClassNotFoundException: com.acj0.barcodeexpdemo.Launcher
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.os.Handler.dispatchMessage(Handler.java:99)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.os.Looper.loop(Looper.java:137)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-07 08:52:48.340: E/AndroidRuntime(3055): at java.lang.reflect.Method.invokeNative(Native Method)
05-07 08:52:48.340: E/AndroidRuntime(3055): at java.lang.reflect.Method.invoke(Method.java:511)
05-07 08:52:48.340: E/AndroidRuntime(3055): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-07 08:52:48.340: E/AndroidRuntime(3055): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-07 08:52:48.340: E/AndroidRuntime(3055): at dalvik.system.NativeStart.main(Native Method)
05-07 08:52:48.340: E/AndroidRuntime(3055): Caused by: java.lang.ClassNotFoundException: com.acj0.barcodeexpdemo.Launcher
05-07 08:52:48.340: E/AndroidRuntime(3055): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
05-07 08:52:48.340: E/AndroidRuntime(3055): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-07 08:52:48.340: E/AndroidRuntime(3055): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
05-07 08:52:48.340: E/AndroidRuntime(3055): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
05-07 08:52:48.340: E/AndroidRuntime(3055): ... 11 more
2012 年 5 月 7 日更新
- 私のすべてのjarファイルはLibraryプロジェクトの「libs」フォルダーにあり、それらはすべて「Android Dependencies」に含まれていることがわかります
2012 年 5 月 18 日更新 - 一時的に解決済み
- 一時的な解決策を見つけました。「署名済みアプリケーション パッケージのエクスポート」を実行する直前に、「自動ビルド」オプションをチェックせずに「クリーン」を実行しました。その後、エラーは表示されなくなりました。なぜ機能するのかわかりません。ご不明な点がございましたら、お知らせください。