1

Ich entwickle eine Anwendung für Android in der Bildverarbeitung. Daher brauche ich eine hohe Leistung. Ein Teil des Codes wird in NDK und anderswo in Renderscript geschrieben. Allerdings kann ich die Anwendung nicht kompilieren, da ScriptC_ Dateien nicht generiert werden.Verwendung pigscript mit gradle experimental

Meine rs-Dateien sind im Ordner ... \ app \ src \ main \ rs

Und der rohe Ordner wurde in den \ res

Folgen Sie der gradle Datei (app) erstellt:

apply plugin: 'com.android.model.application' 

model { 
    android { 
     compileSdkVersion = 22 
     buildToolsVersion = "22.0.1" 

     defaultConfig.with { 
      applicationId = "com.google.sample.helloandroidjni" 
      minSdkVersion.apiLevel = 18 
      targetSdkVersion.apiLevel = 23 
      versionCode = 1 
      versionName = "1.0" 

      //habilita o renderscript no projeto 
      renderscriptTargetApi = 18 
      renderscriptSupportModeEnabled = true 
     } 

    } 

    android.buildTypes { 
     release { 
      minifyEnabled = false 
      proguardFiles.add(file('proguard-android.txt')) 
     } 
    } 

//  ldLibs = ["android", "jnigraphics", <other ndk libraries you might need>] --> Compila as classe necessarias no codigo c 
    android.ndk { 
     moduleName = "ibmphotophun" 
     ldLibs.addAll(["android", "EGL", "GLESv2", "dl", "log", "z", "jnigraphics"]) //adicao de bibliotecas nativas em c do NDK android 
     debuggable = true 
    } 

    android.productFlavors { 
     create("arm") { 
      ndk.abiFilters.add("armeabi") 
     } 
     create("arm7") { 
      ndk.abiFilters.add("armeabi-v7a") 
     } 
     create("arm8") { 
      ndk.abiFilters.add("arm64-v8a") 
     } 
     create("x86") { 
      ndk.abiFilters.add("x86") 
     } 
     create("x86-64") { 
      ndk.abiFilters.add("x86_64") 
     } 
     create("mips") { 
      ndk.abiFilters.add("mips") 
     } 
     create("mips-64") { 
      ndk.abiFilters.add("mips64") 
     } 
     create("all") 
    } 
} 

//repositories { 
// maven { 
//  url 'https://raw.github.com/vRallev/mvn-repo/master/' 
// } 
//} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:22.2.0' 
    compile 'com.android.support:support-v4:22.2.0' 
    compile files('libs/droidText.0.4.jar') 
    compile files('libs/brimage.jar') 
} 

Antwort

1

Versuchen Sie, den Ordner "rs" in "rigscript" umzubenennen. Es sieht so aus, als ob gradle-experimental diesen Ordner für den Render-Code benutzt. Hat mir geholfen, dieses Problem mit Gravel-Experimental zu lösen: 0.7.0-beta1

+0

Besser angeben, warum die Änderung die Frage hilft. – fluter

+0

Vielen Dank. Ich machte die folgenden Operationen und arbeitete für mich, benannte den "rs" -Ordner in "rendscript" um, kommentierte die Anweisung (rendscriptTargetApi = 18) und änderte die minSdkVersion in 19. –