Da quando ho aggiornato ADT a 19, ho iniziato a ottenere l'errore seguente. Il problema si verifica ogni volta che avvio le mie app. Ho controllato tutto il post precedente relativo a questo, ma sembra che nessuno di loro aiuti. qualsiasi idea sarebbe molto apprezzato ...ClassNotFoundException dopo l'aggiornamento a ADT 18
La mia configurazione
- Al momento ho ADT 18, SDK 19, elcipse in Windows 7 a 64 bit.
- Uso il progetto di libreria che rende ashare.jar e tutti i miei jar esterni (cioè dropbox, codec di commons) sono nella cartella "libs" nel progetto Library (Ashare).
- Non uso proguard.
Come vediamo questo problema.
- Crea apk in Eclipse> {} MyProject> clic destro> Strumenti Android> Esporta pacchetto di applicazioni firmate
- installare l'apk in emulatore o dev.phone usando "adb installare XXX.apk"
- Avviare il app. Quindi, BOOM. genera l'errore.
Alcune cose evidenti sono
- ha cominciato ad accadere dopo ho aggiornato a ADT nella mia eclissi alla versione 18
- Succede solo quando faccio apk firmato e eseguo in emulatore o dev. Telefono.
- Non vedo alcun problema se eseguo la mia app utilizzando {MyProject}> Clic destro> Esegui come> Applicazione Android
- Quando ho controllato all'interno di classes.dex, vedo che mancano alcune classi. Non sono sicuro, ma mi sento processo di costruire non sta comprendendo tutte le classi in classes.dex
- durante l'esportazione, non c'è errore nella console di Eclipse (io uso l'opzione verbose in Android> Crea> Crea impostazione dell'uscita)
Java Exception
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
AGGIORNAMENTO 5/7/2012
- Tutti i miei vasi sono nella cartella "libs" della Biblioteca progetto e vedo tutti incluso nella voce "Dipendenze Android"
UPDATE 5/18/2012 - TEMPORANEAMENTE RISOLTI
- ho trovato soluzione temporanea. Subito prima dell'esecuzione di "Esporta pacchetto applicativo firmato", ho eseguito l'opzione "Pulisci" SENZA "Crea automaticamente" selezionata. Quindi, non vedo più l'errore. Non so perché funzioni. Se avete qualche idea, per favore fatemelo sapere.
Pubblica l'origine delle classi che hai trovato mancanti dal tuo file dex. Prova anche a catturare il logcat generato durante il processo odex mentre l'apk è installato. –
Ho avuto un problema simile ... Le librerie sono incluse in una cartella chiamata lib? O libs? Dovresti andare con il secondo ... – Shine
Ho avuto la stessa eccezione generata quando ho aggiornato le versioni dell'SDK. La domanda e la risposta è ([qui] (http://stackoverflow.com/questions/9831019/updated-sdk-version-getting-classnotfoundexception-android-support-v4-view-vie)) – wdziemia