2

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

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

在最简单的示例中,我的 build.xml 是新创建的示例项目中的标准版本,除了从属性文件中传入项目名称。(我把罐子放在一个'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的各种组合也不会使其工作。

有人对恢复旧功能有什么建议吗?

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

4

1 回答 1

0

我发现唯一有效的是这里的答案。我将此添加到我的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>
于 2012-12-29T09:00:54.543 回答