【问题标题】:Is there a way to generate ant file local.properties without overwriting build.xml?有没有办法在不覆盖 build.xml 的情况下生成 ant 文件 local.properties?
【发布时间】:2012-02-06 02:21:06
【问题描述】:

我已经为我的 android 项目生成了 ant build.xml,使用 android update project --name <project_name> --target <target_ID> --path path/to/your/project/ (根据http://developer.android.com/guide/developing/other-ide.html)然后修改了我的build.xml(那里有一些自定义代码)。所以我的 build.xml 在 VCS 中。

但为了执行构建,我需要 local.properties 文件,该文件也是由 android update project 生成的,因此 build.xml 会被覆盖。

local.properties 不会被检入 VCS。

有没有办法只生成 local.properties 以便开发人员(或构建服务器)可以检查代码并使用来自 VCS 的 build.xml 构建项目?

谢谢!

【问题讨论】:

    标签: android ant


    【解决方案1】:

    如果只指定路径参数(例如从项目目录调用时android update project --path .),似乎只有 local.propertiesproguard.cfg 文件会被更新.

    【讨论】:

    • ...破坏 proguard.cfg 有点问题。
    • android update project --path . 答案有误。请修复它。命令是对的。
    【解决方案2】:

    鉴于它(通常)只包含一个属性 sdk.dir,指向开发人员的 Android SDK 根目录,我倾向于说开发人员手动创建它并没有太多要求。

    【讨论】:

    • 感谢您的回复,但实际上我在我们的构建服务器上遇到了这个问题,所以要求它创建文件而不告诉它如何做到这一点有点问题 :) 当然我可以创建该文件,而不仅仅是从某个地方将其复制到项目文件中,但是由于我们可能有多个构建从站,我想让它更易于配置。无论如何andorid update project --path . 对我来说效果很好。
    • 对不起,当我写下我的答案时,我完全掩盖了你所说的“或构建服务器”。
    【解决方案3】:

    不要将 local.properties 放入 VCS:只要它不存在就生成它(例如,在干净签出之后),通过运行

    android update project -p .
    

    所以 android 可以使用正确的 sdk 路径生成它。 ant.properties 或 project.properties 旨在放入 VCS,并在每个可能的构建环境中固定您需要的任何内容。

    如果您不想修改 build.xml,请将 version-tag 条目更改为与其默认值不同的值,即 1。例如:

    <!-- version-tag: custom -->
    

    如果您查看 build.xml cmets,它会说:

     ***********************
     ****** IMPORTANT ******
     ***********************
         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
         in order to avoid having your file be overridden by tools such as "android update project"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2023-03-08
      • 2019-06-29
      相关资源
      最近更新 更多