Zusatz von Renderscript in Android Studio 1.0.1 mit API @ 21 und SDKTools @ 21.1.2 führt zu Buildfehlern

Ich versuche, ein Android 4.4 auf Android 5.0 zu portieren. Meine Anwendung verwendet Renderscript. Derzeit ist die Renderscript-Anwendung sehr einfach

#pragma version(1) // RenderScript version, 1 is the only one for now
#pragma rs java_package_name(com.example.andriod.rs_android_5) // our package
#pragma rs_fp_relaxed
uint16_t *output;
const uint16_t *input;
void __attribute__((kernel)) encrypt(uint16_t In, uint32_t x, uint32_t y){
    output[in] = x*input[in]; 
}

my build.gradle sieht so aus:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.example.andriod.rs_android_5"
        minSdkVersion 21
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        renderscriptSupportModeEnabled true
        renderscriptTargetApi 21
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Der Fehler, den ich erhalte, ist: Fehler: Die Ausführung ist für die Aufgabe ': app: compileDebugRenderscript' fehlgeschlagen.

com.android.ide.common.internal.LoggedErrorException: Befehl konnte nicht ausgeführt werden: /Users/user/Documents/sdk/build-tools/21.1.2/bcc_compat -O3 -o / Users / user / Documents / Android / rs_android_5 /app/build/intermediates/rs/debug/obj/armeabi-v7a/encrypt.o -fPIC -shared -rt-path /Users/user/Documents/sdk/build-tools/21.1.2/renderscript/lib/bc /armeabi-v7a/libclcore.bc -mtriple armv7-none-linux-gnueabi /Users/user/Documents/Android/rs_android_5/app/build/generated/res/rs/debug/raw/bc64/encrypt.bc Fehlercode: 1 Ausgabe: WARNUNG: Das Verknüpfen von zwei Modulen mit unterschiedlichen Datenlayouts: '/Users/user/Documents/sdk/build-tools/21.1.2/renderscript/lib/bc/armeabi-v7a/libclcore.bc' ist 'em: ep : 32: 32-i64: 64-v128: 64: 128-n32-S64 'while' / Benutzer / Benutzer / Dokumente / Android / rs_android_5 / app / build / generated / res / rs / debug / raw / bc64 / encrypt. bc 'is' em: e-i64: 64-i128: 128-n32: 64-S128 'WARNUNG: Verknüpfung von zwei Modulen mit unterschiedlichen Zieltripeln: /Users/user/Documents/sdk/build-tools/21.1.2/rendercript /lib/bc/armeabi-v7a/libclcore.bc 'is' armv7-none-linux-gnueabi 'während' /Users/user/Documents/Android/rs_android_5/app/build/generated/res/rs/debug/raw/bc64/encrypt.bc '' aarch64-none-linux-gnueabi 'ist 'E / bcc (27923): Die Quelle kann nicht in die Datei /Users/user/Documents/Android/rs_android_5/app/build/intermediates/rs/debug/obj/armeabi-v7a/encrypt.o kompiliert werden! (Fehler beim Laden des Eingabebitcodes) Fehler beim Kompilieren des Skripts!

Wenn ich mein build.gradle auf Ziel 20 oder niedriger ändere, verschwindet der Fehler. Hat jemand erfolgreich eine Renderscript-Anwendungs-Targeting-API 21 erstellt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage