Gradle Swap JniLibs-Ressourcen basierend auf Build-Flavour

Ich versuche, einige Ressourcen im @ zu tauscheres/raw Ordner und dasjniLibs/armeabi Ordner basierend darauf, ob es ein @ irelease buildType oder eindebug buildType. Derzeit habe ich auch zwei Produktvarianten.

Die build.gradle-Datei:

apply plugin: 'com.android.application'

android {
    dexOptions {
        preDexLibraries = false
    }

    compileSdkVersion 21
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.test"
        minSdkVersion 17
        targetSdkVersion 22
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

    productFlavors{
        phone{
            applicationId "com.example.testPhone"
        }
        tablet{
            applicationId "com.example.testTablet"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    sourceSets{
        release{
            res.srcDirs = ['androidRelease/res/raw']
        }
    }
}

dependencies {
    compile project(':facebook')

}

BenutztsourceSet der richtige Weg dazu? Wenn dies der Fall ist, welcher Ordner sollte erstellt werden, damit die entsprechenden Ressourcen basierend auf dem @ ausgetauscht werdebuildType nur und unabhängig vomproductFlavors?

EDIT: Ist es überhaupt möglich, @ zu tauschejniLibs undraw Ordnerressourcen?

Ordnerstruktur:

src/main/jniLibs/armeabi
phoneRelease/jniLibs/armeabi
tabletRelease/jniLibs/armeabi 

Ist die Ordnerstruktur korrek

EDIT 2: Basierend auf Xaviers Antwort sollte der Gradle so aussehen:

android {

      sourcesets {
        phone {
          jniLibs.srcDirs = ['phoneRelease/jniLibs/']
          res.srcDirs = ['androidRelease/res/raw']
        }
        tablet {
          jniLibs.srcDirs = ['tabletRelease/jniLibs/']
          res.srcDirs = ['androidRelease/res/raw']
        }
      }
    }

Ich lese immer wieder viele widersprüchliche Antworten. Einige erwähnen, dass Sie nur separate Ordner benötigen, die auf der Build-Variante basieren, und andere erwähnen, dass Sie @ verwenden müssesourceSet? Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage