带有Gradle的Android Renderscript

带有Gradle的Android Renderscript,第1张

概述我正在构建一个Renderscript处理程序,为了我的一生,我无法使其通过Gradle在姜饼上运行.该处理同时使用内部和自定义内核.使用renderscriptTargetApi18和renderscriptSupportModetrue以及最新的构建工具buildToolsVersion“19.0.1”和类路径’com.android.tools.build:gradle:0

我正在构建一个Renderscript处理程序,为了我的一生,我无法使其通过Gradle在姜饼上运行.

该处理同时使用内部和自定义内核.

使用renderscriptTargetAPI 18和renderscriptSupportMode true以及最新的构建工具buildToolsversion“ 19.0.1”和类路径’com.android.tools.build:gradle:0.8. ‘和gradle 1.10可以正常编译,并且可以在ICS设备上正常运行,但是在Gingerbread上使用以下堆栈跟踪崩溃:

 Caused by: androID.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfIEdlinkError: Couldn't load RSSupport: findlibrary returned null        at androID.support.v8.renderscript.RenderScript.create(RenderScript.java:945)        at androID.support.v8.renderscript.RenderScript.create(RenderScript.java:982)        at androID.support.v8.renderscript.RenderScript.create(RenderScript.java:968)

我还尝试了以下各种版本:

buildToolsversion:18.1.1、18.1

类路径:0.7. ,0.7.1

其中一些需要gradle 1.9才能运行,而我对此进行了更改,然后运行并崩溃了.

我还尝试在build.gradle中包括以下几行

dependencIEs {    compile files('libs/renderscript-v8.jar')}androID {    tasks.withType(com.androID.build.gradle.tasks.PackageApplication) {        pkgTask -> pkgTask.jniFolders = new HashSet<file>();            pkgTask.jniFolders.add(new file(projectDir, 'libs'));    }}

并根据此问题How to use the Renderscript Support Library with Gradle添加所有相关的二进制文件,有时(取决于我尝试的版本)它会编译并以相同的错误崩溃,或者由于renderscript v8程序包中方法名称的重复声明而无法编译(多个dex文件定义了androID / support / v8 / renderscript / Allocations)

仅供参考,这是我的模块build.gradle:

apply plugin: 'androID'androID {    compileSdkVersion 18    buildToolsversion "19.0.1"    defaultConfig {        minSdkVersion 9        targetSdkVersion 18        versionCode 1        versionname "1.0"        renderscriptTargetAPI 18        renderscriptSupportMode true    }    buildTypes {        release {            runProguard false            proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.txt'        }    }}dependencIEs {}

这是顶层build.gradle:

// top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositorIEs {        mavenCentral()    }    dependencIEs {        classpath 'com.androID.tools.build:gradle:0.8.+'    }}allprojects {    repositorIEs {        mavenCentral()    }}

所以问题是:

什么是正确的组合才能使它成功编译并在ICS和Gingerbread上运行?

解决方法:

我不认为这是Gradle的错误-我认为这是Gingerbread及其以下的已知动态链接问题.尝试将以下内容添加到您的活动中:

static {    System.loadlibrary("RSSupport");    System.loadlibrary("rsjni");}

您可能需要重新排序,我忘记了链接问题的确切性质.

总结

以上是内存溢出为你收集整理的带有Gradle的Android Renderscript全部内容,希望文章能够帮你解决带有Gradle的Android Renderscript所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存