有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 安卓supportv4。jar在Eclipse中未正确导入

我正在尝试编译一个应用程序,它使用它包含的安卓-support-v4.jarFragmentation类,但是每当我尝试编译代码时,我总是收到消息说代码中有错误。所有错误都与.JAR中的不同Fragmentation类有关。我已尝试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/安卓-support-v4.jar

为什么它要在Eclipse的包内容中寻找.JAR?我进入了项目属性,进入了Java构建路径,从MainActivity/libs文件夹导入了.JAR,但不起作用,然后我尝试从SDK目录导入它,但没有起作用。我修复了项目属性,清理并构建了无数次,重新启动了Eclipse、我的计算机,重新下载并安装了Eclipse、Android SDK和ADT,但仍然一无所获。我完全被难住了


编辑


我已经完成了构建路径并导入了。来自MainActivity/libs和我的SDK目录的JAR。该死的,我加了一个。JAR在目录中,它一直出现在错误中,但不起作用。是什么让Eclipse在其应用程序包内容中寻找它


更新


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

像nyah:

enter image description here


修改


因此,我认为问题可能是“为什么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 安卓.view.MenuItem.setOnActionExpandListener

共 (6) 个答案

  1. # 1 楼答案

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

    android-support-v4。罐子在<;sdk>/附加功能/android/compatibility/v4

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

  2. # 2 楼答案

    我在Ubuntu上运行时也遇到了同样的问题。转到工具->;选项。 制衡力量https://...到http:// 打开Android SDK管理器。检查附加功能->;Android支持库

  3. # 3 楼答案

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

  4. # 4 楼答案

    我可以通过 1.从lib中删除“android-support-v4.jar” 2.右键点击项目名称,选择“Android工具”和“添加支持库”

  5. # 5 楼答案

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

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

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

  6. # 6 楼答案

    如果问题仍未解决: 如前所述,在Eclipse中转到您的项目属性>;Java构建路径>;Libs>;添加外部并从adk目录中获取一个

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