0

好的,我正在用 ant 构建一个 android 项目。我已经构建了数百次没有问题的项目,但是突然间 Ant 正在播放,我不知道为什么(我在构建项目的最后半小时内没有更新它。)

似乎是这个 javac 语句:

<javac srcdir="./" classpath="../external-deps/OUYA/ouya-sdk.jar" />

当我删除它时,它构建得很好。

我得到的错误是:

warning: 'includeantruntime' was not set defaulting to build.sysclasspath=last; set to false for repeatable builds

但是,我已将 includeantruntime 值设置为 false 和 true ,但是当我这样做时,似乎 ant 通过不断抛出此错误来忽略我的 Android 库:

error: package android.content does not exist
error: package android.hardware.input does not exist
error: package android.util does not exist
etc.

所以,我不知道发生了什么。同样,我根本没有更改任何配置,它只是突然出现在我身上。

我在 32 位 Ubuntu 13 机器上。我一直在玩 git,但是我从非 git 备份中检查了我的所有文件,并且文件是相同的。

谢谢你的时间。

这是我的 build.xml: http: //pastebin.com/H5019R6E

4

1 回答 1

0

我看不出如何工作,因为您没有在 build.xml 中引用任何 Android 库。

看看 android-sdk/tools/ant/build.xml :

        <path id="project.javac.classpath">
            <path refid="project.all.jars.path" />
            <path refid="tested.project.classpath" />
            <path path="${java.compiler.classpath}" />
        </path>
        <javac encoding="${java.encoding}"
                source="${java.source}" target="${java.target}"
                debug="true" extdirs="" includeantruntime="false"
                destdir="${out.classes.absolute.dir}"
                bootclasspathref="project.target.class.path"
                verbose="${verbose}"
                classpathref="project.javac.classpath"
                fork="${need.javac.fork}">
            <src path="${source.absolute.dir}" />
            <src path="${gen.absolute.dir}" />
            <compilerarg line="${java.compilerargs}" />
        </javac>

您需要在 build.xml 中至少具有相同的内容。

我建议你不要定义 <javac />。如果必须,请按照提示“复制/粘贴整个目标”到 build.xml 并对其进行自定义。

但相反,我只需将 ouya-sdk.jar 复制到 libs/ 目录,它将自动包含在标准 build.xml 中

于 2013-09-08T21:56:16.363 回答