2012-08-01 2 views
7

Ho un progetto che utilizza uno WelcomeActivity che si estende FragmentActivity. Io uso la libreria di supporto, quindi android-support-v4.jar è nella cartella libs. Quando eseguo questa app, non ci sono problemi.Impossibile risolvere superclasse di Landroid/support/v4/app/FragmentActivity

Tuttavia, desidero aggiungere ActionBarSherlock al progetto. Nel progetto ABS uso actionbarsherlock-plugin-maps-4.1.0.jar e android-support-v4-r6-googlemaps.jar nella cartella libs. Nel mio progetto app aggiungo la biblioteca ABS, e quando provo a fare funzionare l'applicazione, questo errore si verifica:

UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl; 

Per risolvere questo problema, ho rimosso il android-support-v4.jar dalla cartella di mia app libs. Quando ora comincio la mia app, l'applicazione va in crash con questo logcat:

08-01 18:59:11.182: W/dalvikvm(13338): Unable to resolve superclass of Landroid/support/v4/app/FragmentActivity; (620) 
08-01 18:59:11.182: W/dalvikvm(13338): Link of class 'Landroid/support/v4/app/FragmentActivity;' failed 
08-01 18:59:11.182: W/dalvikvm(13338): Unable to resolve superclass of Lcom/myapp/welcome/WelcomeActivity; (109) 
08-01 18:59:11.182: W/dalvikvm(13338): Link of class 'Lcom/myapp/welcome/WelcomeActivity;' failed 
08-01 18:59:11.182: E/dalvikvm(13338): Could not find class 'com.myapp.welcome.WelcomeActivity', referenced from method com.myapp.MainDispatcherActivity.startWelcomeActivity 
08-01 18:59:11.182: W/dalvikvm(13338): VFY: unable to resolve const-class 690 (Lcom/myapp/welcome/WelcomeActivity;) in Lcom/myapp/MainDispatcherActivity; 
08-01 18:59:11.182: D/dalvikvm(13338): VFY: replacing opcode 0x1c at 0x0002 
08-01 18:59:11.182: D/dalvikvm(13338): VFY: dead code 0x0004-000b in Lcom/myapp/MainDispatcherActivity;.startWelcomeActivity()V 
08-01 18:59:11.182: D/AndroidRuntime(13338): Shutting down VM 
08-01 18:59:11.182: W/dalvikvm(13338): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
08-01 18:59:11.182: E/AndroidRuntime(13338): FATAL EXCEPTION: main 
08-01 18:59:11.182: E/AndroidRuntime(13338): java.lang.NoClassDefFoundError: com.myapp.welcome.WelcomeActivity 
08-01 18:59:11.182: E/AndroidRuntime(13338): at com.myapp.MainDispatcherActivity.startWelcomeActivity(MainDispatcherActivity.java:33) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at com.myapp.MainDispatcherActivity.startProperActivity(MainDispatcherActivity.java:26) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at com.myapp.MainDispatcherActivity.onCreate(MainDispatcherActivity.java:19) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.os.Handler.dispatchMessage(Handler.java:99) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.os.Looper.loop(Looper.java:130) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at java.lang.reflect.Method.invokeNative(Native Method) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at java.lang.reflect.Method.invoke(Method.java:507) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
08-01 18:59:11.182: E/AndroidRuntime(13338): at dalvik.system.NativeStart.main(Native Method) 

Come posso risolvere questo problema?

Modifica
ho un altro progetto che utilizza la stessa libreria ABS, e funziona bene. Non ho idea di cosa ho fatto in modo diverso, o quali impostazioni sono sbagliate.

risposta

13

Sembra verificato questo errore perché non ho avuto questa riga nel file AndroidManifest.xml, nella <application> tag:

<uses-library android:name="com.google.android.maps" /> 
0

Non mi sono imbattuto personalmente, ma penso che il doc per ActionBarSherlock indichi che è necessario estendere SherlockFragmentActivity anziché FragmentActivity. Esso non può essere il problema , ma è un problema .

+0

Il 'WelcomeActivity' non ha bisogno di un ActionBar, quindi' FragmentActivity' è sufficiente. Tuttavia, l'ho provato con 'SherlockFragmentActivity', che non funzionava. – nhaarman

+0

Ci scusiamo per non essere più utile! Forse questo tutorial sull'ABS (http://www.youtube.com/watch?v=4GJ6yY1lNNY) ti sarà utile? Ho trovato un post nel gruppo google di ABS con qualcuno che ha riscontrato un problema simile: il supporto standard di lib vs quello di googlemaps: (https://groups.google.com/forum/?fromgroups#!searchin/actionbarsherlock/library/ actionbarsherlock/UlmlYAyUruY/rFGrA86gVx0J) ma non ha risposta. Temo che questo sia tutto ciò che ho. –

2

È stata impostata la conformità del compilatore per il progetto della libreria actionbarsherlock? Fai clic con il tasto destro del mouse sul progetto della libreria, vai alle proprietà. Sotto il compilatore java, assicurati che la conformità sia impostata su 1.6. Ho riscontrato un problema simile e ho trovato la conformità impostata su 1.5.

+0

Questo è effettivamente impostato su 1.6. – nhaarman

9

Clicca here

credo che sia lo stesso problema il percorso di costruzione-> Configura percorso di costruzione -> Ordina ed esporta, è necessario controllare "android-support-v4.jar".

Spero che sia utile a voi.

+0

Questo commento è stato di grande aiuto. –

+0

Grazie amico! Questo è. Il supporto Jar è stato incluso nell'elenco, ma NON è stato controllato. – asgs

+0

Grazie mille, ha funzionato come un fascino :). grazie mille –