【问题标题】:Latest ant in Fedora 14 is 1.7 but I need ant 1.8Fedora 14 中最新的 ant 是 1.7,但我需要 ant 1.8
【发布时间】:2011-03-09 03:05:46
【问题描述】:

所以我在我的 Fedora 14 PC 上运行 Android SDK。在昨天之前,我一切正常 - Ant 1.7Eclipse 3.6.1 (Helios),并且我正在构建我的 Android 应用程序没有问题。

然后我进入 Eclipse 并安装了更新。现在我正在运行一个更新的 Android SDK,它需要更高版本的 Ant (1.8)。 Fedora 14 中可用的最新版本的 ant 是 Ant 1.7 。我看不到回到旧 SDK 的方法。

据我所知,我需要做的是删除 Ant 1.7,然后手动安装 Ant 1.8(以及随之而来的所有依赖项,见下文)。

如果我只是重新安装所有东西,我最终会回到同一个地方,因为 Android SDK 仍然需要 Ant 1.8 而 Fedora 仍然只提供 Ant 1.7 .

还有其他人遇到或解决过这个问题吗?有什么建议吗?

hfollowing sn-p 显示 yum remove 命令的输出,它显示了我必须手动安装的所有 ant 依赖项:

===============================================================================
 Package                  Arch        Version              Repository     Size
===============================================================================
Removing:
 ant                      i686        1.7.1-13.fc13        @fedora       5.4 M
Removing for dependencies:
 ant-antlr                i686        1.7.1-13.fc13        @fedora        34 k
 ant-apache-bcel          i686        1.7.1-13.fc13        @fedora        34 k
 ant-apache-bsf           i686        1.7.1-13.fc13        @fedora        23 k
 ant-apache-log4j         i686        1.7.1-13.fc13        @fedora        18 k
 ant-apache-oro           i686        1.7.1-13.fc13        @fedora       169 k
 ant-apache-regexp        i686        1.7.1-13.fc13        @fedora        19 k
 ant-apache-resolver      i686        1.7.1-13.fc13        @fedora        20 k
 ant-commons-logging      i686        1.7.1-13.fc13        @fedora        23 k
 ant-commons-net          i686        1.7.1-13.fc13        @fedora       196 k
 ant-javamail             i686        1.7.1-13.fc13        @fedora        33 k
 ant-jdepend              i686        1.7.1-13.fc13        @fedora        72 k
 ant-jsch                 i686        1.7.1-13.fc13        @fedora       124 k
 ant-junit                i686        1.7.1-13.fc13        @fedora       387 k
 ant-nodeps               i686        1.7.1-13.fc13        @fedora       1.6 M
 ant-swing                i686        1.7.1-13.fc13        @fedora        35 k
 ant-trax                 i686        1.7.1-13.fc13        @fedora        95 k
 eclipse-jdt              i686        1:3.6.1-4.fc14       @updates       25 M
 eclipse-pde              i686        1:3.6.1-4.fc14       @updates       90 M
 eclipse-platform         i686        1:3.6.1-4.fc14       @updates       34 M
 jetty                    noarch      6.1.24-1.fc14        @fedora       2.7 M

Transaction Summary
===============================================================================
Remove       21 Package(s)

尝试使用 ant 编译时观察到错误:

build.xml:121: The Android Ant-based build system requires Ant 1.8.0 or later. Current version is 1.7.1

Eclipse 处于“软管”状态

An internal error occurred during: "Refreshing external folders".
java.lang.NullPointerException
java.lang.NullPointerException at org.eclipse.jdt.internal.core.ExternalFoldersManager$RefreshJob.run(ExternalFoldersManager.java:387)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

【问题讨论】:

  • 升级可能是最好的选择
  • 我不会弄乱供应商 Ant,而是在 /home/me/local/bin 中安装我自己的。
  • 我下载了 Ant 1.8 并将其“安装”到 /opt 中,但是现有的 ant 与现有的系统交织在一起,以至于我无法切换到新的系统。这就是为什么我认为我必须完全删除 Ant 1.7 才有机会?
  • 嗯。应该有办法在某处设置 $PATH 以使本地 ant 优先。

标签: android eclipse ant compilation fedora


【解决方案1】:

您可以从ant rpm package获取最新的ant包
获取所需的所有 rpm,然后使用 yum 安装它。
类似的东西:
$ wget -r -A.rpm k -nc -l1 -e robots=off http://kojipkgs.fedoraproject.org/packages/ant/1.8.2/3.fc15/noarch/
$ su -c ' yum --nogpgcheck install $(find kojipkgs.fedoraproject.org/ -name "*.rpm") '

【讨论】:

  • 它似乎工作了!我使用了您提供的构建目录,并使用该目录中的 rpm 暂存了我自己的 ant 1.8 存储库(使用 wget 下载,使用 createrepo 使其成为存储库,将其添加到 /etc/yum.repos.d/mynewrepo.repo,然后运行 ​​yum --nogpgcheck update ant)。非常感谢!
【解决方案2】:

在 Fedora 14 上一个很好的替代方案是使用 rawhide 存储库,只需使用 yum 安装/更新 ant。我更详细地回答了你的问题here

【讨论】:

  • 我试过了,但 ant 1.7 仍然是最新的 - “yum --enablerepo=* update ant” - 没有返回任何结果。
  • 你确定你有 rawhide repo 吗?在尝试启用所有 repos 之前,您是否安装了 fedora-release-rawhide 软件包(如我所述)?
  • 哇,太棒了。我也在使用 Fedora 14,但我为 Fedora 17 安装了 ant 1.8.2-7 :-) 谢谢 JRa。
【解决方案3】:

也许您可以尝试在 Eclipse -> Window -> Preferences -> Ant -> Runtime 中将 Ant Home... 属性设置为您已安装的 ant 1.8。

【讨论】:

  • 其他 20 个依赖项是我接下来要担心的——这就是我所说的被编织的意思——需要更新的不仅仅是 ant,还有与之配套的所有小 ant 插件。 ..
【解决方案4】:

我之前使用 Ant 1.8.2 构建了 Android APK,但只能从命令行构建,从未在 Eclipse 中构建。我让它从 Android SDK 导入 main_rules.xml,以便自动包含所有 Proguard 目标。我运行的是 Windows 而不是 Linux,并且我的路径中有 Ant。

我想看看它是否可以使用 Eclipse 插件构建。我已经成功地做到了以下几点:

1) 正如 Raghuram 所建议的,将 Eclipse Ant 首选项运行时设置为 1.8 所在的文件夹。如果您尝试构建一个 Android build.xml(导入 Eclipse),它将失败,说它找不到 Ant 设置任务。

2) 然后我将 AndroidSDK/tools/lib/antasks.jar 添加到 Eclipse/Preferences/Ant/Runtime 首选项下的类路径的全局条目中。 Eclipse 中的 Ant 视图仍然说找不到类路径,但我忽略它并选择目标并运行它。它构建得很好。唯一的障碍是 Ant 视图没有告诉我它是什么特定的 build.xml。这可能是因为我的 build.xmls 中没有项目名称,因为我在 build.properties 文件中有它,所以我可以在不同的项目中使用相同的 build.xml。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-19
    • 2019-02-09
    • 2011-05-29
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 2017-04-20
    相关资源
    最近更新 更多