In C++ würde ich normalerweise 2 Builds - debuggen und release mit jeweils DEBUG
und RELEASE
vordefiniert. Ich würde dann diese Definitionen verwenden, um konstante Werte zu bestimmen, wie Protokollierung aktiviert/deaktiviert, Server-URL und etc.Release-Debug Builds für Android-Anwendung
Im Moment, in Java/Android kommentieren ich einige Sachen vor der Erstellung der Veröffentlichung. Das ist kein guter Weg, kann ich sagen. Ich kann etwas vergessen.
Wie ist es üblich sicherzustellen, dass beim Erstellen einer Release-Version (signiert) oder einer Debug-Version (unsigniert) nichts vergessen wird?
Ich würde BuildConfig.DEBUG empfehlen, da dies in der Kompilierzeit passiert, arbeitet Ihre Lösung Laufzeit. Daher befindet sich der Protokollierungscode im Paket. Zur Kompilierzeit berücksichtigt der Java-Compiler den Code innerhalb der if-Anweisung nicht. –
Bitte überprüfen Sie meine aktualisierte Antwort. Dies wird klarstellen, dass es wahr ist =) –
Sie können auch überlegen, wie Sie Ihren eigenen globalen 'public static final boolean DEBUG = false;' für eine bessere Kontrolle über das Ergebnis definieren ... (es gab Fälle, in denen 'BuildConfig.DEBUG 'war nicht wirklich den Zustand des Systems widerspiegeln). –