Ogni volta che rilascio la mia app, cambio tutte le mie stringhe di e alcune chiavi dal dal testing alla produzione. Il modo in cui lo faccio è solo commentare le stringhe prima di rilasciare. C'è un modo migliore per gestire le stringhe in base al tipo di build?Valori stringa separati per Android per build di debug e release
risposta
Supponendo di utilizzare Android Studio, per impostazione predefinita il sistema crea un aroma base release
e debug
. Quindi se aggiungi una cartella debug
e release
nella cartella app/src
del tuo progetto puoi dichiarare valori separati lì.
Quindi la tua struttura dovrebbe essere come questo:
project
-app
-src
-debug
-java
...
-res
-values
-strings.xml
-release
-java
...
-res
-values
-strings.xml
-main
-java
...
-res
-values
-strings.xml
Vorrei anche aggiungere che se si dispone di una stringa che non è definito in una delle cartella debug
o release
che eseguirà il fallback per il vostro main
cartella.
quindi ogni volta che lavoro su qualcosa devo aggiornare tutte e 3 le cartelle? – spaceMonkey
cosa dire di separare le stringhe url specifiche in un "url-strings.xml" separato e quindi avere 'project/app/src/main/res/values / strings.xml' ' project/app/src/debug/res/valori/url-strings.xml' 'project/app/src/release/res/values / url-strings.xml' – k3b
no, hai solo la tua app nella cartella predefinita' main'. Qualsiasi risorsa che deve essere differente in 'debug' o' release' crea semplicemente aggiungendo a strings.xml (o come @ k3b menziona un file diverso). Android Studio ricadrà sempre nella cartella 'main' in modo da poter avere 1 stringa url nelle cartelle' debug'/'release' e prenderà solo quelle. –
Basta fare due sapori in build.gradle. Quindi due directory, sempre come indicato nel link (developer.android.com/tools/building/configuring-gradle.html). Dal momento che è necessario solo stringhe da alterati, basta copiare i file strings.xml nelle nuove directory (cioè dev e produzione) cancellare i tuoi strings.xml originale
E questo è tutto. :)
Non è necessario spostare i file java o altri file di layout.
In breve, lasciare tutto nella directory "principale" che dovrebbe essere coerente in tutti i sapori di build. Sovrascrive i valori dipendenti da build flavor nella rispettiva directory.
? intendi "tipi di costruzione" o "sapori di prodotto"? – spaceMonkey
scusa. sì sapori del prodotto come test e produzione –
- 1. Uso di diverse DLL per build di debug e release
- 2. Usa versioneCodice diversa per Debug/Release build gradle android
- 3. Release vs Debug Build Times
- 4. Migliori pratiche e strumenti per il debug delle differenze tra le build di debug e release?
- 5. Build di debug di rilascio per l'applicazione Android
- 6. Android - icona app per la modalità debug e release
- 7. Gestione di una stringa di connessione di debug e release
- 8. Dipendenza CocoaPods solo su build debug/release
- 9. Rimuovi il riferimento NUnit per Release build
- 10. Android OrderedBroadcast non funziona in Release Build
- 11. Riferimenti del framework entità mancanti tra debug e release build
- 12. XCode debug vs release build durante il debug
- 13. Analizzatore APK per Android Studio per build di debug
- 14. Configurazioni di debug e release
- 15. Msbuild riconosce eventuali configurazioni di build diverse da DEBUG | RELEASE
- 16. come configurare CruiseControl per due build separati?
- 17. CMake variabile o proprietà per discernere tra debug e release build
- 18. C# Debug vs Release
- 19. Riga XML separata per la modalità di debug o release nel manifest Android
- 20. È sicuro sovrascrivere `release` per il debug?
- 21. Elenco di riferimenti diversi in .NET per Debug/Release
- 22. Override android: attributo vmSafeMode per build di debug
- 23. Codice diverso/config in Release & Debug build (Obj-C)
- 24. Come identificare se una libreria è DEBUG o RELEASE build?
- 25. Classe FileProvider Android non trovata nelle build di release
- 26. Visual Studio: differenzia app.config per la modalità debug e release
- 27. Web.config Build vs Release transform non funziona
- 28. Q_ASSERT release semantics build
- 29. Android: impossibile installare release build sull'emulatore; ottenendo mancata [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
- 30. Virgola separati Valori stringa da un vettore
http://stackoverflow.com/questions/17197636/is-it-possibile-per-declare-a-variabile-in-grado-usabile-in-java – CommonsWare
cercavo questo .. ottima domanda e risposta .. – DJphy
Non farlo. Le probabilità di avere stringhe errate nel codice di produzione con il tuo approccio sono piuttosto alte. In questo modo: http://developer.android.com/tools/building/configuring-gradle.html –