2013-05-27 114 views
6

我已经注意到,图书馆ActionBarSherlock在我的应用程序显示大量的调试信息的,只是因为有很多线路是这样的:删除ActionbarSherlock日志时BuildConfig.DEBUG

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

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

我知道2级的解决方案,以避免:

  1. 删除/编辑所有的库日志
  2. 过滤器在 Eclipse中logcat的。

有没有更简单的方法来实现这一点,并通过告诉它我们不在调试设备上来“伪造”库? 我真的想避免上述两个解决方案。

+0

你尝试设置BuildConfig.DEBUG =假?改变BuildConfig文件并不是一个好习惯,但在开发 – Ethan

+0

时应该没问题你有哪个版本的Sherlock?我找不到任何参考BuildConfig.DEBUG – Blackbelt

+0

@blackbelt只需看看这里:https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock/src/com/actionbarsherlock/ActionBarSherlock.java –

回答

0

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

创建生产版本后,它不会显示。

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

这就是说,它可能不会帮助你很多,因为你的应用程序不会在调试模式下运行,您无法连接调试器。

你可以像下面这样替换your.package.name.SherlockConfig.DEBUG所有参考BuildConfig.DEBUG并定义调试变量有自己。这样你可以启用和禁用ActionbarSherlock自己调试。

4

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

+0

作为一个自动生成和自动重新生成的文件,这不会很有帮助,不幸的是。 –

+0

@Gábor在做出更改后不重建库项目 – valerio