Saya ingin mengusulkan solusi sederhana jika Anda menggunakan proguard selama ekspor APK.
Proguard menyediakan cara untuk menghapus panggilan ke fungsi tertentu dalam mode rilis. Semua panggilan untuk log debugging dapat dihapus dengan pengaturan berikut di proguard-project.txt
.
# Remove debug logs
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
Dan pengaturan optimasi di project.properties
.
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
Dengan ini, Anda tidak perlu mengkhawatirkan komputasi String yang tidak perlu yang meneruskan ke log debug yang ditunjuk oleh @Jeremyfa. Perhitungan baru saja dihapus dalam rilis build.
Jadi solusi untuk BuildConfig.DEBUG menggunakan fitur proguard yang sama seperti berikut.
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;
}
}
Dan mengikuti pengaturan di proguard-project.txt
.
-assumenosideeffects class com.neofect.rapael.client.DebugConfig {
private static *** setDebug();
}
Saya lebih suka menggunakan ini untuk menonaktifkan Build Automatically
opsi, karena ini tidak tergantung pada pengaturan IDE individu pembuat tetapi dipertahankan sebagai file yang berkomitmen yang dibagikan di antara pengembang.