我在发布模式下构建apk时遇到问题。无论我做什么,我总是将BuildConfig.DEBUG标志设置为true。
我尝试了以下
在清单文件中设置android:debuggable =“false”。
使用导出选项(通过右键单击eclipse中的项目)创建签名的apk。
使用Android工具 - >导出未签名的apk来创建apk。
但是当我使用dex2jar和JD反编译代码时,我看到BuildConfig.DEBUG设置为true。
另外,当我在app中使用以下代码检查调试标志时,我总是得到结果'true'(在调试和发布模式下)
Toast t=Toast.makeText(this, String.valueOf(BuildConfig.DEBUG), Toast.LENGTH_LONG);
t.show();
请告诉我在发布模式下构建apk并保护代码免于反编译的正确方法。
请帮帮我。
答案 0 :(得分:2)
这是ADT的一个错误,我仍然能够重现 https://code.google.com/p/android/issues/detail?id=27940
作为一种解决方法,您可以使用自己的布尔值来切换(true / false)日志记录,如下所示:
public final class AppConfig {
public static final boolean DEBUG = false;
}
// and later use it as
if (AppConfig.DEBUG) {
Log.d(TAG, "lorem ipsum..");
}