[Android][Renderscript], передавая rs_script (он же struct rs_script) параметру несовместимого типа rs_kernel (он же void *')

При попытке запустить приложение со скриптом рендеринга на устройстве Android N - я получаю только эту ошибку

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, но он продолжает выдавать ту же ошибку.

1 ответ

В конфигурации по умолчанию я изменил targetSdkVersion 21, Потому что я пытался запустить приложение в 7.0.0 (Android 24). Это сработало.

Другие вопросы по тегам