我注意到ActionBarSherlock库在我的应用程序中显示了很多调试信息,因为有很多这样的行:
if (BuildConfig.DEBUG)
Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu);
幸运的是,日志仅显示在我的调试设备上。感谢if
声明
最大的问题是我想删除调试设备上的所有日志以专注于我的代码。
我知道有两种解决办法可以避免这种情况:
是否有更简单的方法来实现这一点,并通过告诉它我们不在调试设备上来“伪造”库? 我真的想避免上述两种解决方案。
答案 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调试。