8

我想为我的项目设置一个 ant 构建。我发现一个教程说我需要编写以下命令才能为 ant build 做准备:

android update project -p 

然后我得到结果

Updated local.properties
Updated file ./proguard-project.txt
It seems that there are sub-projects. If you want to update them
please use the --subprojects parameter.

所以如果我尝试

android update project -p . --subprojects

然后我得到:

Updated local.properties
Updated file ./proguard-project.txt
Error: The project either has no target set or the target is invalid.
Please provide a --target to the 'android update' command.

如果我尝试

ant release

我明白了

sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var

有人可以帮我用蚂蚁建立项目吗?谢谢

4

2 回答 2

14

我也有同样的问题。
我的问题问题已通过以下命令解决。

android update project --path . --subprojects --target android-19


ANT 会自动将您的sdk.dir设置为正确的。
不要在local.properties 中放置任何内容。

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.

# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
于 2014-07-22T08:02:39.083 回答
0

确保在您的项目中设置了目标(主项目和库也是如此)。

在 Eclipse 上:右键单击项目 -> 属性 -> Android 并选择您的目标 SDK。这意味着您要定位的 Android SDK 版本。如果您查看 manifest.xml,您应该会在开头看到它:

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="17" />

这是您项目的目标版本,通常建议尽可能高(最新)。

之后,请确保该文件project.properties具有与此类似的一行:

target=Google Inc.:Google APIs:17

ANT 将读取该文件以了解您项目的目标。您可以手动添加该行。实际上,如果您在运行之前为 Eclipse 中的项目设置目标(如上所述),我很确定它会自动包含在内android update project -p . --subprojects

关于这个错误:

sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var

这意味着您没有定义 sdk.dir 属性,该属性应指向文件系统中的 android sdk 根目录。运行后,android update project -p . --subprojects它应该为您的所有项目自动生成。这可能不是由于先前的错误造成的。因此,请检查您的所有项目中是否有名为的文件local.properties,并确保其中包含类似于以下的行:

sdk.dir=/home/path/to/android/sdk/android-sdk-linux
于 2013-04-25T16:43:13.307 回答