Android SDK 工具 R20,第 3 方库和 Ant 构建的 javadoc

标签 android ant

自从昨天发布 SDK API 16 和 SDK 工具 R20 以来,我一直无法使用新工具的组合,能够在 Eclipse 中看到 javadoc 悬停并能够从命令进行 Ant 构建行。

当 R17 工具发布时,有必要将所有第 3 方 jar 放在新的 libs 目录中。不幸的是,这意味着您无法在其中指定 jar 的 javadoc 的位置。广泛使用的解决方法是将 jars 放在另一个文件夹中,在构建属性中指定并导出它。在 R20 出现之前,这对我一直有效。

在最简单的示例中,我的 build.xml 是来自新创建的示例项目的标准文件,只是从属性文件中传递了项目名称。 (我将 jar 放在“lib”目录中)

我有一个 ant.properties 文件,格式如下:

projectname=MyProject

jar.libs.dir=lib

build.sysclasspath=last
workspace.dir=/dev/projects/EclipseIndigo/AndroidWorkTwo
outbasebase.dir=/dev/projects/AntBuilds
base.dir=${workspace.dir}/${projectname}

source.dir=${base.dir}/src
outbase.dir=${outbasebase.dir}/${projectname}
ant.project.name=${projectname}
out.dir=${outbase.dir}/bin
layout.dir=${base.dir}/res/layout

key.store=<hidden>
key.alias=<hidden>
key.store.password=<hidden>
key.alias.password=<hidden>

这现在在 Ant 命令行构建(ant 发布)中的编译目标失败,因为它找不到 jar 中的类。 设置 project.all.jars.pathtested.project.classpath 的各种组合也不会使其工作。

有没有人对恢复旧功能有任何建议?

尽管 this issue 的评论 21 中有评论,如果 jars 在库中,则添加 .properties 文件不会启用 javadoc。 (尽管将 jars 放在 libs 中仍然可以使我的自定义 build.xmls 与 Ant 一起工作,所以这就是问题所在!)似乎修复库项目和测试机制的复杂集成被认为很重要,同时破坏了基本功能,如 javadocs 支持可以安全地忽略 IDE。

最佳答案

我发现唯一有效的是答案 here . 我将它添加到我的 custom_rules.xml 模板中,它似乎工作正常。 在我们得到更好的解决方案之前,我认为它只比向 ant.properties 文件添加路径多几行。

<target name="-pre-compile">
    <path id="project.all.jars.path">
    <path path="${toString:project.all.jars.path}"/>
    <fileset dir="${jar.libs.dir}">
        <include name="*.jar"/>
    </fileset>
    </path>
</target>

关于Android SDK 工具 R20,第 3 方库和 Ant 构建的 javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11251438/

相关文章:

Java,通过反射记录方法名称

android wifi应用程序崩溃

android - 显示android :dialogMessage in a ListPreference dialog

eclipse - 如果 SSL 被激活,Ant 使用默认的 SMTP 端口而不是正确的端口

android - 在 C# 应用程序中构建 apk?

java - 如何在使用 ANT 运行类或套件中的所有测试时打印当前正在执行的 JUnit 测试方法?

java - 折叠工具栏问题标题停留在屏幕顶部并且不折叠 Android

java - 为什么类型转换对象是多余的

java - 如何在 IntelliJ 和 Ant 中指定 java 编译器选项

java - 如何在我的 Java 代码中使用 Apache Ant 的任务