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.
Il 'WelcomeActivity' non ha bisogno di un ActionBar, quindi' FragmentActivity' è sufficiente. Tuttavia, l'ho provato con 'SherlockFragmentActivity', che non funzionava. – nhaarman
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. –