Vorrei proporre una semplice soluzione alternativa se utilizzi proguard durante l'esportazione dell'APK.
Proguard fornisce un modo per rimuovere le chiamate a funzioni specifiche in modalità di rilascio. Qualsiasi chiamata per i log di debug può essere rimossa con la seguente impostazione in proguard-project.txt
.
# Remove debug logs
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
E l'impostazione dell'ottimizzazione project.properties
.
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
Con questo, non è necessario preoccuparsi di alcun calcolo String non necessario che passa al log di debug a cui puntava @Jeremyfa. I calcoli vengono rimossi solo nella build di rilascio.
Quindi la soluzione alternativa per BuildConfig.DEBUG utilizza la stessa funzionalità di proguard come segue.
public class DebugConfig {
private static boolean debug = false;
static {
setDebug(); // This line will be removed by proguard in release.
}
private static void setDebug() {
debug = true;
}
public static boolean isDebug() {
return debug;
}
}
E dopo l'impostazione proguard-project.txt
.
-assumenosideeffects class com.neofect.rapael.client.DebugConfig {
private static *** setDebug();
}
Preferirei usarlo per disabilitare l' Build Automatically
opzione, perché questo non dipende dall'impostazione IDE individuale del builder ma viene mantenuto come file di commit condiviso tra gli sviluppatori.