【问题标题】:Creating R files fails in ADT 22 when bulding from ant and modifing the manifest file从 ant 构建并修改清单文件时,在 ADT 22 中创建 R 文件失败
【发布时间】:2013-06-30 20:17:02
【问题描述】:

我有一个项目,里面有一个库。该项目没有自己的资源,所有资源都在库中 在我的构建机器上,我使用 ant 构建项目。
直到从 eclipse 和 ant 构建都可以升级到 ADT22 构建。
升级后,当我在 ant build.xml 中修改主项目清单时,构建失败。如果我不修改 ant build.xml 中的清单,那么构建就会顺利通过。我看到的问题是,在这种情况下,R$ 文件不会在我的主项目中生成,而只是在我的 lib 项目中生成。
编辑:
问题是因为我在 ant 构建期间更改了清单中的包名称。
我有两个 build.xml 文件。一个用于我的主项目,一个用于我的 lib 项目。
我将修改包名称的 ant 任务移动到主应用程序 build.xml 成为第一个 -compile 目标依赖。

<target name="-compile" depends="-backupFiles,-replaceManifestgName,-build-setup, -pre-build, -code-gen, -pre-compile>  


这解决了我的问题。
我猜 ADT22 处理 ant 构建的方式发生了变化,这就是导致问题的原因,因为 previes ADTI 没有问题

【问题讨论】:

  • 试试这个刚刚问了一个stackoverflow.com/questions/17440595/…
  • 这与从 Eclipse 构建有关,但我从 Eclipse 构建没有问题。仅在从 ant 构建并在 build.xml 期间修改清单时

标签: android ant build adt


【解决方案1】:

尝试关闭 ecplise 并再次运行

【讨论】:

  • 尝试 joel answer clean and refresh 项目
  • 我试过了,没用。请注意,奇怪的是只有当我的蚂蚁修改清单时才会出现问题。如果我在运行 ant 之前手动修改清单,一切正常
  • 那么您应该跟踪 ant 写入清单的内容,可能与 android 最低 sdk 版本或一些小修改有关
  • 它会写下我要求它修改的内容。蚂蚁失败后如果不做任何改变我尝试从 Eclipse 构建构建是好的
【解决方案2】:

在 ant 和 Eclipse 之间切换时,您需要先清理项目。所以要么ant clean要么Eclipse&gt;Project&gt;Clean...

运行android update project -p ./ 也可能有所帮助。这种行为似乎从 ADT 22 开始出现。

【讨论】:

  • 在构建之前我会清理所有目录,所以这不是问题。
    运行 android 更新也没有改变我的 build.xml 中的任何内容
  • 你的项目是库吗?似乎 ADT 不再与老蚂蚁兼容了。除非在滚动版本中,否则存储库中的 Ant 似乎位于 1.8.x。清理项目通常会修复 ant/ADT 恶作剧
  • 是的。我的大部分代码都在库中。我使用的是 ant 1.8.3 。在开始之前,我会清理蚂蚁内部的所有目录。
【解决方案3】:

问题是因为我在 ant 构建期间更改了清单中的包名称。
我有两个 build.xml 文件。一个用于我的主项目,一个用于我的 lib 项目。
我将修改包名称的 ant 任务移动到主应用程序 build.xml 成为第一个 -compile 目标依赖。

<target name="-compile" depends="-backupFiles,-replaceManifestgName,-build-setup, -pre-build, -code-gen, -pre-compile>  


这解决了我的问题。
我猜 ADT22 处理 ant 构建的方式发生了变化,这就是导致问题的原因,因为 previes ADTI 没有问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 2017-02-09
    • 2018-04-30
    相关资源
    最近更新 更多