我正在使用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支持)进行了更新。我已经完成了问题所在的想法,任何帮助或指针都会令人惊讶。
谢谢!
答案 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)
这最终发生了,因为我有一些文件要通过类路径被忽略。这是一个简单但却被忽视的错误。