【问题标题】:android-support-v4.jar isn't importing correctly in Eclipseandroid-support-v4.jar 没有在 Eclipse 中正确导入
【发布时间】:2012-01-24 16:19:34
【问题描述】:

我正在尝试编译一个使用 android-support-v4.jar 和它包含的 Fragmentation 类的应用程序,但每当我尝试编译代码中存在错误时,我都会不断收到消息。所有错误都与.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/android-support-v4.jar

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


编辑


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


更新


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

喜欢 nyah:


修订


所以我认为问题可能是“为什么 Eclipse 在 Eclipse 应用程序的包内容中寻找 .JAR 而不是项目的 libs 目录或我用来将其作为外部导入的 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

【问题讨论】:

    标签: java android jar compatibility android-support-library


    【解决方案1】:

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

    android-support-v4.jar 位于 /extras/android/compatibility/v4

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

    【讨论】:

    • 是的,我想我已经提到了,我会添加它。就像我说的我已经从 MainActivity/libs 添加了 .JAR 并作为我的 SDK 中的外部 .JAR目录并没有做任何我能看到的事情。
    • 那个路径还有效吗?当我将它添加为 Gradle 中的依赖项时,它最终出现在:/extras/android/m2repository/com/android/support/support-v4
    【解决方案2】:

    你是不是尽量不做Android Tools -> Add Compatibility Library,只在java build path library中添加jar?

    我用这种方式的这个jar库,运行没有任何问题。

    【讨论】:

    • 我做到了,我的同事在他的机器上运行良好,我真的很难过
    • 对我来说,当我使用 Android Tools > Add Compatibility Library 时,它会在 Eclipse 文件夹中查找。我不知道为什么,看起来很傻。
    【解决方案3】:

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

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

    【讨论】:

    • 嗨 Juke,欢迎来到 stackoverflow 并感谢您提供的答案!
    • 感谢尝试,问题仍未解决。我已经确保构建路径指向我的 SDK 目录中的外部 JAR,并且 Eclipse 使用 1.6 进行编译。
    • 嗯,您是否尝试过设置全新的 Eclipse 安装?比起与这个错误争论这么久,可以节省你更多的时间和精力。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

        我意识到这个问题已经得到解答,但这是一个已知问题,应该根据此处的评论 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/ 目录中一样简单。

        【讨论】:

          【解决方案7】:

          我遇到了同样的问题。

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

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

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

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

              【讨论】:

                【解决方案10】:

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

                【讨论】:

                  【解决方案11】:

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

                  【讨论】:

                    【解决方案12】:

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

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-05-11
                      • 2013-10-28
                      • 2013-06-03
                      相关资源
                      最近更新 更多