我正在構建一個Renderscript處理過程,對於我來說,我無法通過Gradle使它在薑餅上工作。Android Renderscript與Gradle
該處理使用Intrinsics和定製的內核。
使用renderscriptTargetApi 18
和renderscriptSupportMode true
與最新版本的工具buildToolsVersion "19.0.1"
和classpath 'com.android.tools.build:gradle:0.8.+'
和gradle這個1.10它編譯罰款,並在其上運行ICS +設備很好,但它崩潰的薑餅以下堆棧跟蹤:
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'));
}
}
,並添加所有相關的二進制文件以下行按這個問題How to use the Renderscript Support Library with 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 +和薑餅運行?
我想你必須先加載rsjni,然後加載RSSupport。我們可以將它們壓縮到單個庫中,以簡化在GB上的構建/運行。 –
感謝球員,但仍然無法正常工作。獲取'UnsatisfiedLinkError:無法加載rsjni:findLibrary返回null或'RSSupport',具體取決於我先放哪個。額外信息:我在Nexus 5上試了一下,它運行良好,這意味着它找到了庫,沒有問題。我也確保解壓縮.apk和雙重檢查,* .so肯定在那裏。還有什麼想法? – Budius
我仍在調查用戶,只是發現我在這裏的GB設備是Qualcomm MSM7227,它是ARMv6處理器,正如您當然知道的那樣,我們只有armeabi-v7a,mips或x86庫。任何機會ARMv6將被支持? – Budius