16

我正在尝试编译一个使用android-support-v4.jarFragmentation它包含的类的应用程序,但是每当我尝试编译代码中存在错误时,我都会不断收到消息。所有错误都Fragmentation.JAR. 我已经尝试ctrl-clicking了项目文件夹,然后选择Android Tools -> Add Compatibility Library,我不断收到此错误:

[2011-12-20 11:55:31 - Android Compatibility JAR not found:]
/Applications/eclipse/Eclipse.app/Contents/MacOS/v4/android-support-v4.jar

为什么要.JAR在 Eclipse 的 Package Contents 中查找?我已经进入项目属性并进入Java Build Path,并.JARMainActivity/libs文件夹中导入了它,但没有成功,然后我尝试从我的SDK目录中导入它,但没有成功。我已经修复了项目属性并清理和构建了无数次,我重新启动了 Eclipse、我的计算机、重新下载并安装了 Eclipse、Android SDK 和 ADT,但仍然没有。我完全被难住了。


编辑


我已经浏览了构建路径并从MainActivity/libs我的 SDK 目录和我的 SDK 目录中导入了 .JAR。对于它的地狱,我在目录中添加了 .JAR 一直出现在错误中并且没有工作。是什么让 Eclipse 在它的应用程序包内容中寻找它?


更新


所以在修改项目内容后没有显示任何错误,但 MainActivity 文件夹仍然说有一个,我仍然无法编译。

像尼亚:

在此处输入图像描述


修订


所以我认为问题可能是“为什么 Eclipse 在 Eclipse 应用程序的包内容中寻找 .JAR 而不是libs我用来将其作为外部 .JAR 导入的项目目录或 Android SDK 目录?”


更新#2


修修补补后,我现在只收到一个错误,就在这个方法上:

@Override
public MenuItem setOnActionExpandListener(OnActionExpandListener onActionExpandListener) {
    // Noop
    return this;
}

快速修复说我应该删除 @Override 注释,但该方法必须覆盖超类方法。

这些是它显示的错误:

Multiple markers at this line
- The method setOnActionExpandListener(MenuItem.OnActionExpandListener) of type SimpleMenuItem must override a superclass method
- implements android.view.MenuItem.setOnActionExpandListener
4

12 回答 12

19

看起来它在这里寻找 jar:/Applications/eclipse/Eclipse.app/Contents/MacOS/v4/android-support-v4.jar

android-support-v4.jar 位于 <sdk>/extras/android/compatibility/v4

请确保将其添加为 java 构建路径中的外部 jar

于 2011-12-20T18:19:11.303 回答
12

我可以通过 1- 从库中删除“android-support-v4.jar” 2-右键单击项目名称选择“Android 工具”和“添加支持库”来解决这个问题

于 2013-12-28T12:45:58.580 回答
4

如果这仍然没有解决:就像已经说过的那样,在 Eclipse 中转到您的 Project Properties > Java Build Path > Libs > Add External 并从 adk 目录中获取一个。

如果你还没有设置 Java 1.6 作为你的默认编译版本。这应该可以解决您描述的覆盖错误。

于 2012-01-01T21:52:11.970 回答
2

事实证明,我的调试证书已经过期,所以我只需要删除~/.android/debug.keystore并重新启动 Eclipse,一切正常。

于 2012-01-11T15:48:02.107 回答
1

我意识到这个问题已经得到解答,但这是一个已知问题,应该根据此处的评论 9 在 ADT-17 插件版本中修复:http ://code.google.com/p/android/issues/详细信息?id=21488

另外,遇到这个问题的人可以将兼容性JAR复制到它说找不到的位置。很明显它找错了地方(因为它检查的是 Eclipse 目录而不是 android-sdk 目录),所以现在的简单修复就是把包放在它想找到的地方,即使它没有属于。

对我来说,这就像将 C:/android-sdk/extras/android/support/ 中的 v4 目录复制到 C:/eclipse/ 目录中一样简单。

于 2012-02-15T22:53:03.380 回答
1

类似的事情发生在我身上。在 MainActivity.java 的顶部,我有下一个导入给出错误:

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

在左边的每一行中,他们都有灯泡提出一些建议。如果单击它,选项之一将是“修复项目设置”。然后,您将能够在修复导入的多个选项之间进行选择,您应该选择指定 android-support-v4.jar 的选项。

于 2013-07-01T23:01:09.703 回答
1

右键单击您的项目->选择android工具->选择添加支持库并简单地安装支持库。

于 2014-12-17T11:33:55.027 回答
1

我在 Ubuntu 中运行时遇到了同样的问题。转到工具-> 选项。检查强制 https://... 到 http:// 打开 Android SDK 管理器。检查 Extras->Android 支持库。

于 2013-02-16T06:10:59.080 回答
0

解决方案:确保在 Android 项目创建期间(或在创建后的 Manifest 文件中)为“Target SDK”和“Compile with”输入相同的 API。

于 2014-02-22T19:03:47.090 回答
0

我有同样的问题。

在项目属性:Java Build Path:Order and Export 选项卡下,android-support-v4.jar 旁边的框没有被选中。我选中了该框,错误消失了。

于 2012-04-09T00:22:36.957 回答
0

您是否尝试不做Android Tools -> Add Compatibility Library,而只在java build path library中添加jar?。

我以这种方式使用这个 jar 库,它可以正常工作。

于 2011-12-20T20:45:34.720 回答
0

另一个警告是在没有管理员权限的情况下在 Windows 7 中运行 Android SDK Manager。它会尝试安装支持包,但总是会失败,并且实际的包从未下载到

C:\Program Files (x86)\Android\android-sdk\extras\android\support\v4\android-support-v4.jar

于 2012-02-13T16:05:55.297 回答