Android build.xml renderscript不支持includepath

时间:2012-07-25 15:27:39

标签: android ant hudson

我正在使用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(OS I&m; m支持)进行了更新。我已经完成了问题所在的想法,任何帮助或指针都会令人惊讶。

谢谢!

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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