Voglio usare "divide" con "abi", ma solo per la versione di rilascio. È possibile? Provo ad usare ext variabile e variabile da "def" anche che è impostato su false di default. Questa variabile è impostata su true in buildTypes per releaseWithLog (e release).Gradle Android - si usa split solo per la versione possibile?
Ma non so come funziona Gradle, perché quando aggiungo writeln() con messaggio di test a "debug", "releaseWithLog" e "release" ed eseguo build, tutti i messaggi sono in uscita, quindi questo mi conferma quella variabile "splitsEnabled" è impostata su true sebbene io costruisca per debug - e prevedo il valore "false" per il debug (e non usando le spaccature per il debug quindi).
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
ext {
splitsEnabled = false
}
defaultConfig {
...
}
buildTypes {
debug {
...
}
releaseWithLog {
...
splitsEnabled = true
}
release.initWith(releaseWithLog)
release {
...
}
}
...
splits {
abi {
println(splitsEnabled)
enable splitsEnabled
reset()
include 'x86', 'armeabi-v7a', 'armeabi'
exclude 'x86_64', 'mips64', 'arm64-v8a', 'mips'
universalApk true
}
}
...
Dal 'splits' è un pari di' buildTypes', ho il sospetto che divide non può essere fatto su una base per-tipo, ma sarò felice di essere smentiti. Ma tieni presente che 'enable splitsEnabled' viene eseguito molto prima che venga scelto un tipo di build. Le istruzioni in 'build.gradle' stanno principalmente costruendo un modello a oggetti. Questo non è uno script interpretato. Solo dopo che il modello dell'oggetto è stato creato, Gradle inizia a capire quali sono i tipi di build necessari per le attività da eseguire. – CommonsWare
Anche io sono interessato - mi piacerebbe risparmiare tempo di costruzione e basta creare una divisione in Debug –
Ho finito per tornare al vecchio modo di fare build ABI per risolvere questo problema! https://twitter.com/silentnuke/status/619501266646003713 –