eclipse 无法解析 Landroid/support/v4/app/FragmentActivity 的超类

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11764195/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 18:43:35  来源:igfitidea点击:

Unable to resolve superclass of Landroid/support/v4/app/FragmentActivity

androideclipseactionbarsherlock

提问by nhaarman

I have a project which uses a WelcomeActivitywhich extends FragmentActivity. I use the support library, so android-support-v4.jaris in the libsfolder. When I run this app, there are no problems.

我有一个使用WelcomeActivity扩展名的项目FragmentActivity。我使用支持库,所以android-support-v4.jarlibs文件夹中。当我运行这个应用程序时,没有问题。

However, I want to add ActionBarSherlock to the project. In the ABS project I use actionbarsherlock-plugin-maps-4.1.0.jarand android-support-v4-r6-googlemaps.jarin the libsfolder. In my app project I add the ABS library, and when I try to run the app, this error occurs:

但是,我想将 ActionBarSherlock 添加到项目中。在ABS项目中,我使用actionbarsherlock-plugin-maps-4.1.0.jar,并android-support-v4-r6-googlemaps.jar在在libs文件夹中。在我的应用程序项目中,我添加了 ABS 库,当我尝试运行该应用程序时,出现此错误:

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

To solve this, I removed the android-support-v4.jarfrom my app's libsfolder. When I now start my app, the app crashes with this logcat:

为了解决这个问题,我android-support-v4.jar从我的应用程序libs文件夹中删除了。当我现在启动我的应用程序时,该应用程序因以下 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.access00(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)

How can I fix this?

我怎样才能解决这个问题?

Edit
I have another project which uses the same ABS library, and runs fine. I have no idea what I've done differently, or which settings are wrong.

编辑
我有另一个项目,它使用相同的 ABS 库,并且运行良好。我不知道我做了什么不同的事情,或者哪些设置是错误的。

回答by nhaarman

It seems this error occurred because I didn't have this line in the AndroidManifest.xml file, in the <application>tag:

似乎发生此错误是因为我在 AndroidManifest.xml 文件中的<application>标记中没有这一行:

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

回答by wagyaoo

Click here

点击这里

I think it is the same problem at the Build Path-> Configure Build Path -> Order and Export, the "android-support-v4.jar" needs to be checked.

我认为在构建路径->配置构建路径->订购和导出中也是同样的问题,需要检查“android-support-v4.jar”。

Hope it is useful to you.

希望对你有用。

回答by Drake Clarris

Have you set the compiler compliance for the actionbarsherlock library project? Right click on the library project, go to properties. Under java compiler, make sure compliance is set to 1.6. I had a similar issue, and found the compliance set to 1.5.

您是否为 actionbarsherlock 库项目设置了编译器合规性?右键单击库项目,转到属性。在 java 编译器下,确保将合规性设置为 1.6。我遇到了类似的问题,发现合规性设置为 1.5。

回答by Jon O

I haven't run into it myself, but I think the docfor ActionBarSherlocksays you need to extend SherlockFragmentActivityrather than FragmentActivity. It may not be theproblem, but it's aproblem.

我自己还没有遇到它,但我认为文档forActionBarSherlock说你需要扩展SherlockFragmentActivity而不是FragmentActivity. 它可能不是问题,但它是一个问题。