Ich möchte eine Variable test
überreichen, die ich pro Geschmack als Definition zum NDK anders einstelle. Aber aus irgendeinem Grund übergibt er immer den Wert des letzten Geschmacks. HierWie man Variable nach Gradararomen einstellt
ist die build.gradle:
apply plugin: 'com.android.library'
def test
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultPublishConfig "flavorARelease"
publishNonDefault true
defaultConfig {
minSdkVersion 15
targetSdkVersion 17
ndk {
moduleName "test"
ldLibs "log"
}
}
productFlavors {
flavorA {
test = 1
}
flavorB {
test = 2
}
}
buildTypes {
debug {
ndk {
if (cFlags == null) { cFlags = "" }
cFlags = cFlags + " -DLOGGING=1 -DTEST="+test+" "
}
minifyEnabled false
}
release {
ndk {
if (cFlags == null) { cFlags = "" }
cFlags = cFlags + " -DLOGGING=0 -DTEST="+test+" "
}
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}
Und hier sind die CFLAG Linien aus dem erzeugten Android.mk
build/Zwischenprodukte/NDK/Flavora/debug/Android.mk:
LOCAL_CFLAGS := -DLOGGING=1 -DTEST=2
Ich erwartete -DTEST=1
hier
build/Zwischenprodukte/NDK/flavorB/debug/Android.mk:
LOCAL_CFLAGS := -DLOGGING=1 -DTEST=2
Also, wo ist mein Fehler? Oder wie kann ich mein Ziel erreichen? Bitte beachten Sie auch, dass das eigentliche Problem komplexer ist und ich diese, wenn möglich, im Segment "BuildTypes" definieren möchte.
** Test-ConventionTask erstreckt **. Daher werden Ihre productFlavors nicht erstellt, da Sie ein reserviertes Schlüsselwort als Variable verwenden. –
Ich bin mir nicht sicher, ob Sie auf die Frage oder die Lösung verweisen. In meinem realen Projekt ist es nicht "Test", sondern eine Menge verschiedener Variablen. Wenn dieses Beispiel wegen der Verwendung von "test" fehlerhaft ist, können Sie es beheben? Da ich schon wieder mit Gradle verrostet bin, habe ich mit diesem Problem schon wieder Probleme gehabt. - Würden alle Vorkommen von "test" zu "dTest" schon den Trick machen? – Torge
Ich bezog mich auf die ** productFlavors **, wo Sie 'Test' erklärten. Ich ging voran und benannte die Variable um. Vielen Dank! –