android - javac 错误 "error: warnings found and -Werror specified"在 ant 中禁用 "-Werror"

标签 android ant adb javac build-server

这是一个 android 项目,当我决定在运行 javac 程序时将警告视为错误时,我的 ant 构建脚本有时会失败。说真的,它只是有时会这样做,这是我可能会问的另一个问题。

它将打印错误并突然取消构建

[javac] 1 error

[javac] 9 warnings

当我做的更深入时,我看到“错误”是

error: warnings found and -Werror specified

这不是我明确设置的任何内容。现在这可能是一个深藏在 build.xml 文件中的论点,或者可能是在我目前不知道的特定情况下这个特定子库的 build.xml 文件中的论点

有时是 android facebook sdk 导致的。但是 ant build.xml 文件中没有 Werror 参数,但我想禁用它或解决它

这是一个构建服务器,我有其他条件可以停止构建。不一致的 ant 和 javac 问题真的没有立足之地。

但任何关于它的见解都是值得赞赏的。

最佳答案

我的 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 将是更好的选择。

关于android - javac 错误 "error: warnings found and -Werror specified"在 ant 中禁用 "-Werror",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18661621/

相关文章:

android - 如何通过 ADB 关闭振动(在所有应用程序中)?

android - 内存转储Android中的应用程序

java - 在 Android Studio 中添加元数据提取器库

android - 如何流式传输法律音频?

ant - 只要满足条件就执行 Ant 任务

svn - 使用 gradle 结帐 svn

android - 通过 adb 命令启用蓝牙 HCI 监听日志

Android:错误:使用未声明的标识符 'fseeko'

android - ViewPager 内的 ConstraintLayout 包装内容不起作用

java - 获取最后提交者的用户名?