Поскольку я обновил ADT до 19, я начал получать следующую ошибку. Проблема возникает, когда я запускаю свои приложения. Я проверил все предыдущие сообщения, связанные с этим, но, похоже, никто из них не помогает. любая идея была бы ВЕЧНО оценена...
Моя настройка
- В настоящее время у меня есть ADT 18, SDK 19, elcipse в Windows 7 64bit.
- Я использую проект библиотеки, который делает ashare.jar и все мои внешние банки (т.е. dropbox, commons codec) находятся в папке "libs" в проекте Library (Ashare).
- Я не использую proguard.
Как мы видим эту проблему.
- Создать apk в eclipse > {MyProject} > Щелкните правой кнопкой мыши > Инструменты Android > Экспорт подписанного пакета приложений
- установите apk в эмуляторе или dev.phone с помощью "adb install XXX.apk"
- Запустите приложение. Затем, BOOM. он выдает ошибку.
Некоторые заметные вещи
- Это началось после того, как я обновил ADT в своем затмении до версии 18.
- Это происходит только тогда, когда я делаю подписанный apk и запускаю его в эмуляторе или dev.phone.
- Я не вижу проблемы, если я запускаю свое приложение с помощью {MyProject} > Щелкните правой кнопкой мыши > Запустить как > Приложение для Android
- Когда я проверил внутри 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
ОБНОВЛЕНИЕ 5/7/2012
- Все мои банки находятся в папке "libs" проекта Library, и я вижу, что все они включены в "Android Dependencies"
ОБНОВЛЕНИЕ 5/18/2012 - ВРЕМЕННОЕ РЕШЕНИЕ
- Я нашел временное решение. Перед запуском "Экспорт подписанного пакета приложений" я установил параметр "Очистить" БЕЗ "сборки автоматически". Тогда я больше не вижу ошибки. Я не знаю, почему это работает. Если у вас есть какие-либо идеи, сообщите мне.