将Android SDK工具更新到版本14后的Ant问题

时间:2011-10-21 17:21:27

标签: android ant

安装Android SDK工具版本14(ant-version时为ant版本1.8.2)在Android 4.0(ICS)上安装和测试我们的应用程序后,我注意到我们的自动构建脚本现在失败了。构建脚本正在执行一个ant命令来构建apk,在修改更新后抱怨build.xml文件已过期并执行ant更新项目-p来修复此问题。我们的项目有一个顶级项目和它引用的两个图书馆项目,都是用IntelliJ开发的。在删除旧的build.xml文件后,我在每个项目文件夹中运行了update project命令。现在我收到以下消息:

<SDK_DIR>/tools/ant/build.xml:466: The following error occurred while executing this line:
<SDK_DIR>/tools/ant/build.xml:539: The following error occurred while executing this line:
<SDK_DIR>/tools/ant/build.xml:568: null returned: 1

我在下面列出了主项目和库项目build.xml文件的代码(每个都相同):

<?xml version="1.0" encoding="UTF-8"?>
<project name="LaunchActivity" default="help">
    <loadproperties srcFile="local.properties" />
    <property file="ant.properties" />
    <loadproperties srcFile="project.properties" />
    <fail 
        message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
        unless="sdk.dir"
/>
    <import file="${sdk.dir}/tools/ant/build.xml" />
</project>

使用新的project.properties文件(如下): AppMain(非图书馆项目):

android.library.reference.1=../Common
android.library.reference.2=../facebook
# Project target.
target=Google Inc.:Google APIs:8

Common(图书馆项目):

android.library=true
# Project target.
target=Google Inc.:Google APIs:8

facebook(图书馆计划):

android.library=true
# Project target.
target=Google Inc.:Google APIs:8

寻找一种方法来查找错误消息中的行号和/或运行中的问题。我还有一个build.properties文件,我已经将其包含在AppMain build.xml文件中,以指定用于创建签名apk的key.store key.alias值,我假设我可以在之后添加回build.xml这个问题已经解决了。

2 个答案:

答案 0 :(得分:7)

我发布的错误非常模糊。再深入挖掘一下,我发现有一种方法可以指定一个Ant logFile。我这样做了,发现它在编译时爆炸了。事实证明,新的编译器并不像生成R类中的一些资源名称是相同的。我重命名了那些冲突的问题,并且在涉及更多编译问题之后(R.id。的案例陈述显然是在这个编译器版本中是禁止的)我能够让它工作。 Ant LogFile绝对是调试此问题的方法。以下是我在发出ant release命令时用来生成logFile的内容:

ant -logfile //antLogFile.txt release -f ./AppMain/build.xml

答案 1 :(得分:1)

在我的情况下,发生此错误只是因为我的一个资源在文件名中有一个大写字母。我重命名了资源并引用了它,错误就消失了。