Il metodo resValue
(o come si chiama) consente di impostare un valore di risorsa in buildTypes
o productFlavors
. C'è un modo corrispondente per ottenere un valore di risorsa che è stato impostato da resValue
?Come ottenere un valore di risorsa in build.gradle?
Sembra che productFlavors
viene valutata prima buildTypes
, quindi un insieme resValue
in buildTypes
ha la precedenza. Voglio aggiungere "Debug" al nome dell'app in build di debug, ma ho bisogno di ottenere il valore che è stato impostato nel flavor del prodotto per poterlo aggiungere.
Edit: Ho provato il suggerimento di Marcin Kozinski di utilizzare una variabile, ma tutti sapori dei prodotti vengono valutate prima qualsiasi tipo build. Pertanto, questo non funziona:
android {
String appName = ""
productFlavors {
Foo {
appName = "Foo"
}
Bar {
appName = "Bar"
}
}
buildTypes {
release {
resValue "string", "app_name", appName
}
debug {
resValue "string", "app_name", appName + " Debug"
}
}
}
In buildTypes
, appName
ha sempre il valore dal sapore del prodotto scorso. Quindi, in questo esempio, tutte le build ricevono il nome "Bar"
o "Bar Debug"
.
Fondamentalmente, ho bisogno di un resValueSuffix
analogo a applicationIdSuffix
. Apparentemente nessun animale del genere esiste. Il plug-in com.android.application
espone tutto ciò che è possibile utilizzare per ottenere questo risultato?
http://stackoverflow.com/questions/17275461/how-to-replace-strings-resources-with-android-gradle –
@TimCastelijns Quel Q & A riguarda le risorse da 'strings.xml'. La mia risorsa è creata con 'resValue'. –
"app_name" è utilizzato nella tua app oltre al manifest? – cyroxis