Android BuildConfig.DEBUG时删除ActionbarSherlock日志

Android BuildConfig.DEBUG时删除ActionbarSherlock日志,android,actionbarsherlock,logcat,Android,Actionbarsherlock,Logcat,我注意到,库ActionBarSherlock在我的应用程序中显示了大量调试信息,原因很简单,因为有很多行是这样的: if (BuildConfig.DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); 幸运的是,日志只显示在我的调试设备上。感谢if语句。 最大的问题是,我想删除调试设备上的所有日志,以便专注于我的代码 我知道有两种方法可以避免这种情况: 删除/编辑库中的

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

if (BuildConfig.DEBUG)
   Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu);
幸运的是,日志只显示在我的调试设备上。感谢
if
语句。
最大的问题是,我想删除调试设备上的所有日志,以便专注于我的代码

我知道有两种方法可以避免这种情况:

  • 删除/编辑库中的所有日志
  • 过滤日志 日蚀
  • 有没有更简单的方法来实现这一点,并通过告诉库我们不在调试设备上来“伪造”库?
    我真的希望避免使用上述两种解决方案。

    调试消息仅在应用程序以调试模式运行时才会显示。这意味着,如果您没有在AndroidManifest.xml中定义,它将只显示在调试构建中

    一旦创建了生产构建,它就不会显示

    您可以通过手动在androidmanifest文件中设置可调试标志并运行它来测试这一点。 有关清单文件中选项的详细信息,请参见

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


    您可以使用类似于your.package.name.SherlockConfig.DEBUG的内容替换对BuildConfig.DEBUG的所有引用,并在其中自己定义调试变量。通过这种方式,您可以自己启用和禁用ActionbarSherlock调试。

    打开ActionbarSherlock项目
    打开文件
    /gen/com/actionbarsherlock/BuildConfig.java


    设置
    DEBUG=false

    是否尝试设置BuildConfig.DEBUG=false?更改BuildConfig文件不是一个好的做法,但在开发过程中应该可以。您有哪个版本的Sherlock?我找不到BuildConfig的任何引用。DEBUG@blackbelt请看这里:所有的Android项目都应该生成BuildConfig,它应该在gen文件夹下,而不是一个自动生成和自动重新生成的文件,不幸的是,这并没有多大帮助。@Gábor在进行此更改后不要重建库项目