[Android] [Renderscript]将'rs_script'(又名'struct rs_script')传递给不兼容类型'rs_kernel'(又名'void *')的参数
问题描述:
当试图在Android N设备上使用渲染脚本运行应用程序时 - 只有这个错误[Android] [Renderscript]将'rs_script'(又名'struct rs_script')传递给不兼容类型'rs_kernel'(又名'void *')的参数
error:passing 'rs_script' (aka 'struct rs_script') to parameter of incompatible type 'rs_kernel' (aka 'void *')
但同样的项目在Android 6中运行没有任何错误。此外,我可以生成apk文件,但在Android N它崩溃。
这里是它给人的问题 -
rs_script gScript;
void filter() {
rsForEach(gScript, gIn, gOut);
}
...
gradle这个配置
defaultConfig {
.....
minSdkVersion 16
targetSdkVersion 25
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
和proguard相关规则
-keep class public
-keep class android.support.v8.renderscript.** { *; }
我试图用不同的renderscriptTargetApi
24或22,但会将给出同样的错误。
答
在默认配置中,我更改了targetSdkVersion 21
。因为我试图在7.0.0(android 24)中运行应用程序。有效。