Я хотів би запропонувати просте вирішення, якщо ви використовуєте proguard під час експорту APK.
Proguard забезпечує спосіб видалення дзвінків до певних функцій у режимі випуску. Будь-які виклики для налагодження журналів можна видалити, виконавши наступне налаштування в proguard-project.txt
.
# Remove debug logs
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
І налаштування оптимізації в project.properties
.
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
З цим вам не потрібно стосуватися жодних непотрібних обчислень String, що переходять до журналу налагодження, на який @Jeremyfa вказував. Обчислення просто видаляються при складанні випусків.
Таким чином, вирішення для BuildConfig.DEBUG використовує таку ж функцію proguard, як наступна.
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;
}
}
І після налаштування в proguard-project.txt
.
-assumenosideeffects class com.neofect.rapael.client.DebugConfig {
private static *** setDebug();
}
Я вважаю за краще використовувати це для відключення цієї Build Automatically
опції, оскільки це не залежить від індивідуального налаштування IDE розробника, але зберігається як закріплений файл, який спільним для розробників.