Log工具在手机中的隐藏权限

作者: 梦想编织者灬小楠 | 来源:发表于2017-01-01 15:44 被阅读0次

摘要:

前几天,终于买到了期待已久的《第一行代码》(第2版)。但因工作太忙了,一直没时间看。元旦这两天终于有时间看了,却没想到刚上来就踩到坑了......

Log级别简介

相信用过Log日志工具的Android程序员都知道,Log的打印级别有5个,分别是:

  • verbose(琐碎级别)
  • debug(调试级别)
  • info(信息级别)
  • warn(警告级别)
  • error(错误级别)

问题引入

看到书中介绍了有关Log的快捷输入,之前没有使用过,就忍不住尝试了一下,下方是完成后的测试代码:

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.v(TAG, "onCreate: ");
        Log.d(TAG, "onCreate: ");
        Log.i(TAG, "onCreate: ");
        Log.w(TAG, "onCreate: ");
        Log.e(TAG, "onCreate: ");
    }
}

估计各位看到这样的代码,大脑不用转就知道会输出什么了。

然后我们运行下程序,看看是不是和你想的一样。(看下方输出结果)

log_hide.png

看到这样的日志信息,相信很多人和我的反应一样『纳尼…(⊙_⊙)???』

我们的调试级别已经是Verbose了,为什么只有两条日志信息,不应该是5条吗?

调试结果分析

从Android Monitor信息栏中,我们可以得到的信息:

  • 测试机型号:QiKU 8681-M02
  • 系统版本:Android 5.1(API 22)
  • 调试级别:Verbose
  • Log日志信息:
    • ...... W/MainActivity: onCreate:(Warn级别日志信息)
    • ...... E/MainActivity: onCreate:(Error级别日志信息)

从这样的信息中我们只能分析出打印了Warn级别和Error级别的日志信息,其他好像也分析不出什么东西。那换成Android模拟器再试试......

换成模拟器后却惊奇的发现5条日志信息都打印出来了。那看来问题的原因应该是出在手机上了。

寻找解决办法

之后,blogger通过在网上查阅资料,终于找到了针对『奇酷360手机』日志级别的设置方法:

需要在手机拨号界面输入 *20121220#,进入工程模式,对Log打印级别进行设置(如下图所示):

log_setting.gif

设置成LOGV级别后,再用手机跑一下程序,发现已经能正常打印了,如下图所示:

log_normal.png

问题拓展与思考

对于这个问题,我只能说我的手机已经解决了,但还是要对看博客的各位给些细节补充:

  • 在网上查阅资料的时候,发现部分华为、小米、酷派等手机也有这个问题,有这些手机的朋友可以试试。
  • 另外,这也让我想起一件事:几个月前,有位同事的手机一行日志也打印不出来,最后认为是手机坏了,不知道有没有朋友也遇到过这样的问题。接下来,各位再细心的看看上面的动态gif图,留意一下这个选项:Log print enable(工程模式二级页面的第1个选项),这个选项如果设置成Disable,那就真的一行日志都打印不出来了。
  • 看来,这个问题是由于手机厂商在生产手机后进行了一系列默认设置造成的。这样设置Log的原因应该在于减少不必要的日志信息打印,提高系统运行效率。当然,这只是个人推测,有知道原因的小伙伴可以在评论区留言,我们一起讨论讨论...O(∩_∩)O~
  • 最后,提醒一句,如果手机关机或重启,我们之前的Log设置会被系统重置,需要去重新设置Log的打印级别。

相关文章

  • Log工具在手机中的隐藏权限

    摘要: 前几天,终于买到了期待已久的《第一行代码》(第2版)。但因工作太忙了,一直没时间看。元旦这两天终于有时间看...

  • 用户身份与文件权限---文件的隐藏属性

    用户身份与文件权限---文件的隐藏属性 Linux系统中的文件除了具备一般权限和特殊权限外,还有一种隐藏权限,即被...

  • 一些命令

    正确的命令放在access.log里错误的放在error,log中 ACL权限 给一些不属于所属组的用户特别的授予权限

  • iOS 逆向基础总结

    步骤简化工具 MJAppTools 编译放在手机目录,usr —> bin中 MJAppTools 如果没有权限...

  • Android入门(4.5)| 技能总结篇(1)

    日志工具的使用 Android中为我们提供了Log类来作为日志工具,Log类中有以下5个方法: Log.v()对应...

  • 菜单工具栏隐藏功能按钮的小例子

    菜单工具栏隐藏功能按钮的小例子 业务场景:根据用户权限判断或功能按钮进行隐藏部分功能菜单,本质都是一样的:隐藏不可...

  • SELinux 权限

    如何根据log 信息修改SELinux 权限 当出现 SELinux 权限不足时,可根据LOG 信息提示进行相应的...

  • 如何通过log查看UE支持的3G频段-band

    分FDD手机和TDD手机 1.FDD手机: 1)抓取从开机到最后正常注册3G网络的log: 2)在log中查找 P...

  • Android - wifi 扫描

    主要流程:通过广播中获取信息 初始化、发起扫描: 在广播中接收信息: 注销广播: 需要的权限: log 显示: ​...

  • 权限相关的测试方法

    1. 在权限系统中配置权限 2. 让RD配合测试 3. 可以利用抓包工具,修改权限

网友评论

    本文标题: Log工具在手机中的隐藏权限

    本文链接:https://www.haomeiwen.com/subject/lsrivttx.html