我的 Android SDK 目录下的文件“tools/ant/build.xml”包含以下内容:
<property name="java.compilerargs" value="" />
也许由于警告被视为错误而失败的构建使用的Android SDK在编译器参数中包含“-Werror”?(如果没有,在有问题的 Android SDK 实例的目录中“compilerargs”的递归 grep 可以找到罪魁祸首。)
更新:
另一方面,在我的 Android SDK 中,该属性本身并不是强制性的——它恰好在这里被使用:
<!-- Compiles this project's .java files into .class files. -->
<target name="-compile" depends="-pre-build, -build-setup, -code-gen, -pre-compile">
<do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
<!-- merge the project's own classpath and the tested project's classpath -->
<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>
必须存在的元素是倒数第二行的“compilerarg”,因此“compilerarg”而不是“compilerargs”的 grep 将是更好的选择。