在BuildConfig.DEBUG中删除ActionbarSherlock日志

时间:2013-05-27 09:56:43

标签: android actionbarsherlock logcat

我注意到ActionBarSherlock库在我的应用程序中显示了很多调试信息,因为有很多这样的行:

if (BuildConfig.DEBUG)
   Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu);

幸运的是,日志仅显示在我的调试设备上。感谢if声明 最大的问题是我想删除调试设备上的所有日志以专注于我的代码。

我知道有两种解决办法可以避免这种情况:

  1. 删除/编辑库中的所有日志
  2. 过滤logcat 蚀。
  3. 是否有更简单的方法来实现这一点,并通过告诉它我们不在调试设备上来“伪造”库? 我真的想避免上述两种解决方案。

2 个答案:

答案 0 :(得分:4)

打开ActionBarSherlock项目
打开文件/gen/com/actionbarsherlock/BuildConfig.java
并设置DEBUG = false

答案 1 :(得分:0)

只有当您的应用程序在调试模式下运行时,才会显示调试消息。这意味着,如果您未在AndroidManifest.xml中定义,它将仅显示在调试版本上。

创建生产构建后,它将不会显示。

您可以通过手动设置androidmanifest文件中的debuggable标志并运行它来测试它。 另请参阅http://developer.android.com/guide/topics/manifest/application-element.html以获取有关清单文件中选项的详细信息。

也就是说,它可能对您没有多大帮助,因为您的应用程序无法在调试模式下运行,也无法连接调试器。

您可以使用类似your.package.name.SherlockConfig.DEBUG的内容替换对BuildConfig.DEBUG的所有引用,并自己定义调试变量。这样您就可以自己启用和禁用ActionbarSherlock调试。