Sto sviluppando in Eclipse utilizzando ADT per Android.
Nella mia applicazione ho alcune costanti che mi aiutano a eseguire il debug della mia app facilmente.
Come esempio:
public static final boolean DEBUG_TOAST_LOGS = true;
che mi aiutano a tostare alcuni registri sullo schermo.
Ogni volta che intendo creare una versione, devo passare attraverso le mie costanti e impostare i loro valori su ciò che è appropriato per l'edizione di rilascio, che è in qualche modo doloroso.
Ora quello che voglio è un modo per costruire la mia app, utilizzando due configurazioni: una per la modalità di debug e l'altra per la modalità di rilascio . La modalità di rilascio dovrebbe impostare le mie costanti sui valori appropriati. Come posso farlo? Qual è il tuo suggerimento? Qual è il modo migliore per realizzare il mio bisogno?
Qualsiasi aiuto sarebbe apprezzato.Modifica valori costanti durante la creazione di un'edizione release
5
A
risposta
9
Non sono sicuro se si utilizza Gradle come sistema di generazione. Se lo fai, puoi impostare risorse specifiche del tipo di build, ad es. un valore booleano debug
sarà true
per il tipo di build di debug e false per il tipo di build di rilascio.
build.gradle
android {
defaultConfig {
...
resValue "bool", "debug", "true"
}
buildTypes {
release {
...
resValue "bool", "debug", "false"
}
}
...
}
Application.java
public class Application extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
if (getResources().getBoolean(R.bool.debug)) {
... // debug logic here
}
...
}
}
4
@ La soluzione di Hidro va bene, ma richiede una inutile getResources()...
chiamata ogni volta che si desidera accedere al valore.
un'altra possibilità:
build.gradle
android {
buildTypes {
debug {
buildConfigField "boolean", "DEBUG_TOAST_LOGS", "true"
}
release {
buildConfigField "boolean", "DEBUG_TOAST_LOGS", "false"
}
}
}
Poi, nel codice, è possibile scrivere:
if (BuildConfig.DEBUG_TOAST_LOGS) {
// ... enjoy your toasts ...
}
Problemi correlati
- 1. AngularJS: costanti vs valori
- 2. durante la creazione di GTest
- 3. Solo firmare gli assembly con un nome sicuro durante la creazione del release
- 4. Valori mancanti durante la creazione di un dizionario con due valori
- 5. Rilevamento di errori lato server durante la modifica o la creazione di voci Kendo Grid
- 6. Errore durante la generazione di variabili localizzate (come costanti)
- 7. modifica dell'immagine durante la traduzione
- 8. DataGridView: Modifica Modifica Dimensione controllo durante la modifica
- 9. Problema durante la modifica di innodb_log_file_size
- 10. errore durante la creazione di uno StreamingContext
- 11. outofmemoryerror durante la creazione di bitmap
- 12. Fill mappa di hash durante la creazione
- 13. NAudio InvalidOperationException durante la creazione di WaveIn
- 14. Errore di Eclipse visualizzato costantemente durante la modifica di Javascript
- 15. NullPointerException durante la creazione di una matrice di oggetti
- 16. Modifica il file gitignore predefinito durante la creazione di un nuovo progetto
- 17. Rilascio di target non valido durante la creazione con Maven
- 18. Come ottenere l'intervallo di input durante la modifica con jquery?
- 19. Come definire i valori costanti - Best Practice
- 20. segnali Collegare le slot con valori costanti
- 21. Preservazione dei valori bitmap durante la creazione di una nuova bitmap da System.Drawing.Image
- 22. Valori predefiniti impliciti durante la deserializzazione di JSON utilizzando Jackson
- 23. Riempimento errato durante la modifica di Yaml in Vim
- 24. Modifica la durata dell'animazione di jQuery durante l'animazione
- 25. Android: Problemi nella creazione di apk con Ant Release
- 26. Il rubino non ha valori costanti?
- 27. enumerazioni con valori costanti a Rust
- 28. IntelliJ - Accesso negato durante la creazione di manufatti
- 29. Come cambio returnKeyType durante la modifica?
- 30. Come risolvere java.lang.AssertionError durante la creazione di OkHttpClient in mockito?