Android Renderscript с Gradle
Я создаю обработку Renderscript, и я не могу заставить ее работать с пряниками через Gradle.
В обработке используются как встроенные, так и пользовательские ядра.
с помощьюrenderscriptTargetApi 18
а такжеrenderscriptSupportMode true
с последними инструментами сборкиbuildToolsVersion "19.0.1"
а такжеclasspath '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
classpath
: 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'));
}
}
и добавьте все соответствующие двоичные файлы в соответствии с этим вопросомКак использовать библиотеку поддержки Renderscript с Gradle и иногда (в зависимости от того, какие версии я пробую) он компилируется и вылетает с той же ошибкой или не компилируется из-за дублирования объявления имен методов в пакете renderscript v8 (multiple dex files define 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?