1

我正在使用 ant 运行我的 android 项目,以便使用 Hudson 持续运行它。我在我的 Mac 上创建了 build.xml,而不是导入生成的 android build.xml,我复制/粘贴了它,因为我必须自定义一些东西。

但是,当我在位于服务器上的 hudson 上运行它时,它在我的本地机器上运行良好。我遇到了 Renderscript 属性错误。

renderscript doesn't support the "includePath" attribute

因此,我决定在转换此代码的 xml 中删除该行:

 <renderscript executable="${renderscript}"
                includePath="${android.renderscript.include.path}"
                genFolder="${gen.absolute.dir}"
                resFolder="${out.res.absolute.dir}/raw"
                targetApi="${project.minSdkVersion}"
                optLevel="${renderscript.opt.level}"
                buildType="${build.is.packaging.debug}"
                previousBuildType="${build.last.is.packaging.debug}">
            <source path="${source.absolute.dir}"/>
        </renderscript>

对此:

 <renderscript executable="${renderscript}"
                genFolder="${gen.absolute.dir}"
                resFolder="${out.res.absolute.dir}/raw"
                targetApi="${project.minSdkVersion}"
                optLevel="${renderscript.opt.level}"
                buildType="${build.is.packaging.debug}"
                previousBuildType="${build.last.is.packaging.debug}">
            <source path="${source.absolute.dir}"/>
        </renderscript>

然后可笑地得到这个错误:

RenderScriptTask's 'includePath' is required.

我在两台机器上运行相同的 ant,在服务器上下载了特定于 linux 的 SDK,基于工具、平台工具和 android-7(我支持的操作系统)进行了更新。我对问题可能是什么想法已经用完了,任何帮助或指示都会很棒。

谢谢!

4

2 回答 2

2

发生此错误是因为您将 android sdk 工具更新为 20.0.1。

renderscript 需要属性 includePathRefId 并且它的路径已更改。所以你的代码应该是:

<renderscript executable="${renderscript}"
            includePathRefId="android.renderscript.include.path"
            genFolder="${gen.absolute.dir}"
            resFolder="${out.res.absolute.dir}/raw"
            targetApi="${project.minSdkVersion}"
            optLevel="${renderscript.opt.level}"
            buildType="${build.is.packaging.debug}"
            previousBuildType="${build.last.is.packaging.debug}">
        <source path="${source.absolute.dir}"/>
    </renderscript>

其中 includePathRefId 应该这样定义:

<path id="android.renderscript.include.path">
    <pathelement location="${android.platform.tools.dir}/renderscript/include" />
    <pathelement location="${android.platform.tools.dir}/renderscript/clang-include" />
</path>
于 2012-07-27T11:25:19.087 回答
0

这最终发生了,因为我有一些文件要通过类路径被忽略。这是一个简单但被忽视的错误。

于 2012-08-21T20:33:27.660 回答