1

当我尝试编译任何 Android RenderScript 示例代码(SDK 版本 11)时,我收到以下错误。

[2012-02-03 16:49:33 - CarouselExample] /Library/android-sdk-macosx/platforms/android-13/renderscript/include/rs_core.rsh:35:33: error: unknown type name 'rs_matrix4x4'
[2012-02-03 16:49:33 - CarouselExample] /Library/android-sdk-macosx/platforms/android-13/renderscript/include/rs_core.rsh:40:33: error: unknown type name 'rs_matrix3x3'
[2012-02-03 16:49:33 - CarouselExample] /Library/android-sdk-macosx/platforms/android-13/renderscript/include/rs_core.rsh:45:33: error: unknown type name 'rs_matrix2x2'
[2012-02-03 16:49:33 - CarouselExample] /Library/android-sdk-macosx/platforms/android-13/renderscript/include/rs_core.rsh:55:27: warning: declaration specifier missing, defaulting to 'int'
[2012-02-03 16:49:33 - CarouselExample] /Library/android-sdk-macosx/platforms/android-13/renderscript/include/rs_core.rsh:88:71: error: unknown type name 'float2'; did you mean 'float'?
...

我四处寻找,看看其他人是否有类似的问题。

这篇文章Renderscript samples build errors例如提到 Android-11 到 Android-13 中的 /renderscript 目录需要使用 Android-14+ 中的 /renderscript 目录的内容进行更新。我拥有从 2.1 到 4.0.3 的所有 SDK 版本,但没有:

 /platforms/android-14/renderscript

目录。我能够构建和运行不使用 RenderScript 的项目。

有没有人找到解决方案?或者有人可以告诉我我在这里做错了什么吗?我只需选择 File>New>Android Project>Create project from existing sample。如果我选择任何 RenderScript 示例,我将无法编译该项目。

我还注意到 /raw 目录(布局、drawable 等的兄弟目录)最初带有一个文件(在我的情况下为 carousel.bc),但是当我编译时,这个文件被删除了——这似乎没有对我来说。

谢谢你的帮助!

4

1 回答 1

1

所以经过一些更多的挖掘。我决定为 Android-11 SDK 安装 Google API,这似乎可以解决问题。我必须在 carousel.rs 文件中修复一个语法错误。

cards[i].cardVisible = (p >= visibleFirst && p < visibleLast)
                    || (p <= visibleFirst && p > visibleLast);

最后两个括号需要添加。

希望我能够从 Android 开发者网站上找到它。它没有说需要下载“Google API's by Google”才能编译 RenderScript。

于 2012-02-04T17:04:56.067 回答