android - RenderScript 支持库 V8 编译失败

标签 android android-support-library renderscript

我的平台信息 操作系统:Windows 7 32 位 ADT 版本:构建:v22.2.1-833290 SDK工具版本:22.2.1 SDK内置工具版本:18.1

我试图让新的 Renderscript 支持库 v8 工作。我使用 API 级别 18 作为目标 SDK 创建了一个 android 应用程序并编译 SDK,API 级别 17 作为最低要求的 SDK。然后我按照以下链接中的步骤配置我的项目,http://android-developers.blogspot.hk/2013/09/renderscript-in-android-support-library.html , http://developer.android.com/guide/topics/renderscript/compute.html#access-rs-apis .

我添加后

renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=18.1.0

在文件“project.properties”中,我将一个空的 .rs 文件添加到 src 文件夹(在我的包下,就像往常一样)。然后我收到以下错误消息。

[2013-09-22 22:32:32 - aaaaa] <invalid>: error: missing pragma for version in source file
[2013-09-22 22:32:32 - aaaaa] <invalid>: error: missing "#pragma rs java_package_name(com.foo.bar)" in source file
[2013-09-22 22:32:32 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\arm-linux-androideabi-ld.exe: fatal error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\armeabi-v7a\test.o: attempt to map 40 bytes at offset 1616 exceeds size of file; the file may be corrupt
[2013-09-22 22:32:32 - aaaaa] C:\Users\rensijie\workspace\aaaaa\bin\rsObj\mips\test.o: file not recognized: File format not recognized
[2013-09-22 22:32:32 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\i686-linux-android-ld.exe: error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\x86\test.o: section name section has wrong type: 2097152
[2013-09-22 22:32:32 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\i686-linux-android-ld.exe: fatal error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\x86\test.o: attempt to map 46661632 bytes at offset 0 exceeds size of file; the file may be corrupt

由于理解了前两条错误信息的意思,所以补充了

#pragma version(1)
#pragma rs java_package_name(com.example.aaaaa)

到文件。

虽然前两条错误消息消失了,但以下错误消息再次出现,我无法通过添加/修改脚本的内容来摆脱它(例如,我复制了一个以前工作的脚本,但它不会工作现在)。但是,我观察到 gen 文件夹中相应的 .java 脚本文件已正确创建(带有 import android.support.v8.renderscript.*; 内部)。

[2013-09-22 22:34:29 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\arm-linux-androideabi-ld.exe: fatal error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\armeabi-v7a\test.o: attempt to map 40 bytes at offset 1616 exceeds size of file; the file may be corrupt
[2013-09-22 22:34:30 - aaaaa] C:\Users\rensijie\workspace\aaaaa\bin\rsObj\mips\test.o: file not recognized: File format not recognized
[2013-09-22 22:34:30 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\i686-linux-android-ld.exe: error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\x86\test.o: section name section has wrong type: 2097152
[2013-09-22 22:34:30 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\i686-linux-android-ld.exe: fatal error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\x86\test.o: attempt to map 46661632 bytes at offset 0 exceeds size of file; the file may be corrupt
[2013-09-22 22:34:30 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\arm-linux-androideabi-ld.exe: error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\armeabi-v7a\test2.o: section name section has wrong type: 469762048
[2013-09-22 22:34:30 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\arm-linux-androideabi-ld.exe: fatal error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\armeabi-v7a\test2.o: attempt to map 3103784960 bytes at offset 0 exceeds size of file; the file may be corrupt
[2013-09-22 22:34:30 - aaaaa] C:\Users\rensijie\workspace\aaaaa\bin\rsObj\mips\test2.o: file not recognized: File format not recognized
[2013-09-22 22:34:30 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\i686-linux-android-ld.exe: error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\x86\test2.o: section name section has wrong type: 7168
[2013-09-22 22:34:30 - aaaaa] C:\Work\SDK\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\i686-linux-android-ld.exe: fatal error: C:\Users\rensijie\workspace\aaaaa\bin\rsObj\x86\test2.o: attempt to map 39168 bytes at offset 0 exceeds size of file; the file may be corrupt

在eclipse中,项目名上有红叉,说明项目有问题。如果我尝试运行该应用程序,eclipse 将提示“您的项目包含错误,请在运行您的应用程序之前修复它们”。然而,除了我收到的错误消息和项目名称上的红叉之外,任何 java 文件都没有错误(java 文件上没有红叉)

最佳答案

关于android - RenderScript 支持库 V8 编译失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18945533/

相关文章:

java - 打开通知设置页面 android oreo

android - Android : battery usage? 下的 Websockets 与 GCM

android - 支持库中的 RecyclerView 在哪里?

android - 从 0.57.8 升级到 0.59.10 后,使用 'No virtual method isStateSaved()...' 调用 Alert.alert(...) 时,android 崩溃

android - 使用 Android Renderscript v8 支持库导致与其他共享库的链接错误

java - 如何使具有一定RGB范围的像素点透明

Android HTC One Bottom 操作栏

android - 如何以编程方式添加子项和父项 [ExpandableRecyclerView]?

java - 在 android 中实现支持库 v7 中的样式

android-studio - Android Studio 2.0 稳定版中的 Renderscript 错误