Od czasu aktualizacji ADT do 19, zacząłem otrzymywać następujący błąd. Problem pojawia się za każdym razem, gdy uruchamiam aplikacje. Sprawdziłem cały poprzedni post związany z tym, ale wygląda na to, że żaden z nich nie pomaga. Każdy pomysł, byłoby bardzo mile widziane ...Wyjątek ClassNotFoundException po aktualizacji do ADT 18
Moja konfiguracja
- Obecnie mam ADT 18 SDK 19, elcipse w Windows 7 64bit.
- Używam projektu biblioteki, który powoduje, że ashare.jar i wszystkie moje zewnętrzne słoiki (tj. Dropbox, commons codec) znajdują się w folderze "libs" w projekcie Library (Ashare).
- Nie używam proguard.
Jak widzimy ten problem.
- Załóż apk w Eclipse> {} myproject> prawy przycisk myszy> Narzędzia Android> Export podpisał pakiet aplikacji
- zainstalować apk w emulatorze lub dev.phone używając "adb install XXX.apk"
- rozpocząć aplikacja. Następnie BOOM. rzuca błąd.
Niektóre zauważalne rzeczy są
- To zaczęło się dziać po I zaktualizowany do ADT w moim Eclipse do wersji 18
- Zdarza się tylko wtedy, gdy robię podpisaną apk i uruchomić go w emulatorze lub dev. telefon.
- Nie widzę problemu, jeśli uruchomię swoją aplikację za pomocą {MyProject}> Kliknij prawym przyciskiem myszy> Uruchom jako> Aplikacja Android
- Po sprawdzeniu w klasie classes.dex widzę, że brakuje niektórych klas. Nie jestem pewien, ale czuję, że proces budowania nie jest tym wszystkich klas classes.dex
- podczas eksportu, nie ma błędu w konsoli Zaćmienie (używam opcji opisowy w Android> Budowanie> Budowanie ustawienie wyjścia)
Java Wyjątek
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
AKTUALIZACJA 5/7/2012
- Wszystkie moje słoiki są w "libs" folder Biblioteki projekt i widzę je wszystkie zawarte w "Android współzależności"
UPDATE 18.05.2012 - Tymczasowe SOLVED
- znalazłem rozwiązanie tymczasowe. Tuż przed uruchomieniem "Eksportuj podpisanego pakietu aplikacji" zrobiłem "Wyczyść" BEZ opcji "kompiluj automatycznie". Wtedy nie widzę już błędu. Nie wiem, dlaczego to działa. Jeśli masz jakiś pomysł, daj mi znać.
Umieść źródło brakujących klas w swoim pliku dex. Spróbuj także przechwycić logcat wygenerowany podczas procesu odeks, gdy apk jest zainstalowany. –
Miałem podobny problem ... Czy biblioteki są zawarte w folderze o nazwie lib? Lub libs? Powinieneś pójść z drugim ... – Shine
Po aktualizacji wersji SDK miałem ten sam wyjątek zgłoszony. Pytanie i odpowiedź brzmi ([tutaj] (http://stackoverflow.com/questions/9831019/updated-sdk-version-getting-classnotfoundexception-android-support-v4-view-vie)) – wdziemia