2012-08-01 87 views
7

的超我的系統使用WelcomeActivity延伸FragmentActivity的項目。我使用支持庫,因此android-support-v4.jarlibs文件夾中。當我運行這個應用程序時,沒有問題。無法解析Landroid /支持/ V4 /應用/ FragmentActivity

不過,我想ActionBarSherlock添加到項目中。在ABS項目中,我使用libs文件夾中的actionbarsherlock-plugin-maps-4.1.0.jarandroid-support-v4-r6-googlemaps.jar。在我的應用項目,我添加了ABS庫,當我嘗試運行應用程序時,會出現此錯誤:

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

爲了解決這個問題,我從我的應用程序的libs文件夾中刪除的android-support-v4.jar。當我現在開始我的應用程序,該應用程序崩潰,與此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) 

我該如何解決這個問題?

編輯
我有一個使用相同的ABS庫,並運行良好另一個項目。我不知道我做了什麼不同,或者哪些設置是錯誤的。

回答

13

這似乎是因爲我沒有在AndroidManifest.xml文件中這一行,在<application>標籤出現此錯誤:

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

我自己還沒有碰到它,但我認爲對於ActionBarSherlock說你需要延長SherlockFragmentActivity而不是FragmentActivity。它可能不是問題,但它是一個問題

+0

的'WelcomeActivity'並不需要一個動作條,所以'FragmentActivity'就夠了。然而,我已經用'SherlockFragmentActivity'試過了,它沒有工作。 – nhaarman 2012-08-01 17:22:30

+0

對不起,更有幫助!也許這個ABS教程(http://www.youtube.com/watch?v=4GJ6yY1lNNY)會對你有用嗎?我確實在ABS的google group上發現了一個帖子,其中有人遇到類似的問題:標準支持lib和googlemaps:(https://groups.google.com/forum/?fromgroups#!searchin/actionbarsherlock/library/ actionbarsherlock/UlmlYAyUruY/rFGrA86gVx0J),但沒有回答。恐怕這就是我所擁有的一切。 – 2012-08-01 17:30:24

2

有您爲actionbarsherlock庫項目的編譯器合規?右鍵單擊庫項目,轉到屬性。在java編譯器下,確保合規性設置爲1.6。我有類似的問題,並發現合規性設置爲1.5。

+0

這確實設置爲1.6。 – nhaarman 2012-08-01 17:58:25

9

點擊here

我認爲這是同樣的問題Build Path-> Configure Build Path - > Order and Export,需要檢查「android-support-v4.jar」。

希望這是對你有用。

+0

這個評論是非常有幫助的。 – 2013-06-17 22:59:48

+0

謝謝你!就是這個。支持Jar包含在列表中,但未被檢查。 – asgs 2013-07-16 04:23:43

+0

非常感謝你,它的作品像魅力:)。非常感謝 – 2013-10-20 08:07:39

相關問題