Я хотел бы предложить простой обходной путь, если вы используете 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 конструктора, а сохраняется как зафиксированный файл, который совместно используется разработчиками.