最近使用魅族真机测试 App 时,发现 LogCat 不显示项目工程中通过 Log.d()
和 Log.v()
打印的 debug 和 verbose 级别的日志,甚是奇怪,通过 debug 模式断点调试也没看出有什么问题,无奈之下,Google 一番,终于找到了答案。
原来国内的部分厂商定制的手机对于应用中的 Log 日志默认做了打印限制,需要手动设置才能打印出特殊级别的日志。目前发现有魅族和华为手机存在这样的问题,并且设置方式有所不同,遂纪录一下,以免后续再遇到这样的问题又要四处查阅。
MEIZU
实测 MEIZU PRO 6 :打开【设置】中的【开发者选项】,页面底部找到【性能优化】,打开【高级日志输出】,勾选【全部允许】即可:
可能其他部分魅族手机中不称为【高级日志输出】,而是【禁止D及以下级别LOG的输出】,道理一样,设为不可用即可。
HUAWEI
华为手机设置方式较为特殊,不是在【开发者选项】中,而是打开拨号界面的拨号盘,输入*#*#2846579#*#*
,系统会自动打开【工程菜单】界面,依次打开【后台设置】 -> 【LOG设置】,勾选【AP日志】即可:
至于其他厂商的手机有没有类似的问题,暂且不知,但至少知道不是程序的问题,权当记录。不得不感概,对于 Android 程序员,面对各种厂商,各种 ROM,开发中总会遇到各种各样奇奇怪怪的问题,也真是难为了我们,好在我们善于纪录,懂得分享。