我想將Renderscript支持庫加入到我的項目中。我收到以下錯誤。Android - Renderscript支持庫 - 加載RS jni庫時出錯
android.support.v8.renderscript.RSRuntimeException: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Couldn't load rsjni: findLibrary returned null
我沒有使用任何Renderscript jar文件,我試圖通過Gradle使用它。
這裏是我的Gradle.build文件
頂級
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
ext {
compileSdkVersion="Google Inc.:Google APIs:22"
buildToolsVersion="23.0.1"
playStoreMinSdkVersion=16
amazonStoreMinSdkVersion=8
targetSdkVersion=22
versionCode=20
versionName="3.3.0"
runProguard=true
zipAlign=true
proguardConfiguration='../proguard.config'
}
allprojects {
repositories {
jcenter()
}
}
專用
defaultConfig {
applicationId "**REMOVED**"
//noinspection GroovyAssignabilityCheck
targetSdkVersion rootProject.ext.targetSdkVersion
//noinspection GroovyAssignabilityCheck
versionCode rootProject.ext.versionCode
//noinspection GroovyAssignabilityCheck
versionName rootProject.ext.versionName
renderscriptTargetApi 23
renderscriptSupportModeEnabled true
}
一切我嘗試&發現作爲計算器可能的解決方案是行不通的。我也有這個包括在我的ProGuard配置
#RenderScript
-keepclasseswithmembernames class * {
native <methods>;
}
-keep class android.support.v8.renderscript.** { *; }
編輯:這是我實際使用的renderScript的實施,也這是它使我的應用程序崩潰時調用。
public static BitmapDrawable Blur (View view){
Bitmap image = GetScreenshot(view);
int width = Math.round(image.getWidth() * DEFAULT_BITMAP_SCALE);
int height = Math.round(image.getHeight() * DEFAULT_BITMAP_SCALE);
Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);
Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);
RenderScript rs = RenderScript.create(view.getContext());
ScriptIntrinsicBlur intrinsicBlur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
intrinsicBlur.setRadius(DEFAULT_BLUR_RADIUS);
intrinsicBlur.setInput(tmpIn);
intrinsicBlur.forEach(tmpOut);
tmpOut.copyTo(outputBitmap);
inputBitmap.recycle();
rs.destroy();
return new BitmapDrawable(outputBitmap);
}
這是確切的行
RenderScript rs = RenderScript.create(view.getContext());
你應該張貼相關的實際問題,更多的代碼:在哪裏以及你如何加載RS庫,例如。此外,你的項目配置(RS庫的定義,其來源等)也可能幫助 – wasyl
當然,有一刻。 –
您是否試圖在設備上或仿真器上運行應用程序? – wasyl