Android Studio----- 无法打印---log----问题总结----华为坑深(转)
问题描述:安卓真机调试时 System.out.println 无法输出, err则可以;Log.e,w可以,但其他不行。
解决方法,按如下方式查看酷派手机默认设置日志未warn方式。
酷派手机: *20121220# 进入安卓的通用工程模式,再按下文的日志设置方式修改手机的日志默认方式
摘要(Abstract)
必备技能,使用日志工具 LogCat,并尝试解决真机调试没有日志的问题。
日志工具(LogCat)
日志在任何项目的开发过程中都会起到非常重要的作用,在 Android 项目中如果你想要查看日志则必须要使用 LogCat 工具。
在 Android Studio 最下方的 Status Bar 中找到 6:Android,点击她。如下图

LogCat 出现了,如下图

- 这里选择 Devices,当然一般来说不需要选择,如果只连接了一个设备的话。
- 这里选择 Log level,日志级别。包括:Verbose、Debug、Info、Warn、Error、Assert。以上级别依次升高。
- 这里选择过滤器,默认会自动生成一个过滤条件是 Package name 是项目包名的过滤器。
使用 LogCat
Android 中的日志工具类是 Log(android.util.Log),提供了如下的几个方法供我们打印日志。
- Log.v() 对应 Verbose
- Log.d() 对应 Debug
- Log.i() 对应 Info
- Log.w() 对应 Warn
- Log.e() 对应 Error
- Log.wtf() 在输出日志的同时,会把此处代码此时的执行路径(调用栈)打印出来。
介绍完毕,我们来演戏一下吧。打开 HelloWorldActivity,在 onCreat()方法中添加一行打印日志的语句,为了让日志明显一点我加了一些下划线,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_world);
Log.d("HelloWorldActivity","______________onCreate execute______________");
}
Log.d() 方法中传入了两个参数,第一个参数是 tag,一般传入当前的类名就好,主要用于对打印信息进行过滤。第二个参数是 msg,即想要打印的具体内容。
现在重新运行一下项目,点击工具栏中的绿色小箭头,或者按 Shift+F10。等程序运行完毕,使用模拟器的战友可能已经能看到日志了,如下图

使用真机的战友,可能看到的还是空荡荡的LogCat。需要做这么一件事,菜单栏 Tools → Android → Enable ADB Integration 把这个勾上,然后再次运行。
这次应该能看到日志了吧?看看能不能找到我们想要打印出来日志信息。过滤器中一定要选中 app:com.xxxx.helloworld 哦。如果有日志,但是找不到我们想要打印的日志 HelloWorldActivity: ______________onCreate execute______________,那么恭喜你,你用的真机貌似跟我的一样比较高端,是不是有什么黑科技。
我们来尝试解决这个问题。
- 手机的开发人员选项打开了么,其中的 USB 调试打开了么?搞定他们并重新运行,是否能找到我们的日志?否,转到 2。
- 日志中是否有这样
could not disable core file generation for pid 3963: Operation not permitted的信息么? 是,转到 3;否,那我也不知道怎么搞,或者你可以把日志贴到评论中我看看。 - 是华为手机么?是,转到 4;否,你可以参考 4 自己 Google Baidu 一下。
- 在拨号界面输入:
*#*#2846579#*#*进入测试菜单界面,然后
Project Menu → 后台设置 → LOG设置
LOG 开关 → LOG 打开 LOG 级别设置 → VERBOSE
Dump&Log → 全部选中
重启手机,重启 Android Studio。
PS:根据系统版本的不同,可能会有些许差异。
重启完毕,打开 Android Studio,运行项目,这下应该能找到我们的日志了。如果还没找到,对不起洗洗睡吧,我只能帮到这儿了。(或者你可以换个手机)
定制过滤器(Filter)
点击过滤器那个下拉框,选择 Edit Filter Configuration,在弹出的对话框中点击左上角的加号新创建一个 Filter。如下图

含义如下:
- Name:Filter 名称
- by Log Tag: 通过日志的 tag 过滤
- by Log Message:通过日志的 msg 内容过滤
- by Package Name:通过包名过滤
- by PID:通过PID过滤
- by Log Level:通过日志等级过滤
- regex:表示可以使用正则表达式进行匹配
以上过滤条件可以组合。
我建了一个data的过滤器,过滤条件是 tag 等于 data。将 Filter 选择为 data,我们的日志不见了,因为匹配不到 tag 等于 data 的日志。
现在去把我们在 onCreate() 方法中的日志的 tag 改为 data。如下所示:
Log.d("data","______________onCreate execute______________");
然后重新运行,将 Filter 选择为 data,我们的日志出现了。当然还可能会有一些奇奇怪怪的日志也出现了,仔细看看 tag 中都包含有 data。
抑制不住的好奇心
看看这个 Android Studio 最下方的 Status Bar,我们找到 LogCat 的地方,如下图

难道你们不好奇为什么 Android 前面有个 6 么?难道是因为用了 LogCat 你的 Android 开发水平就会 666666666?
不管发生什么事件,我相信真相只有一个,如下图:

OK,收工了。
http://blog.csdn.net/copy_yuan/article/details/51460718
Android Studio----- 无法打印---log----问题总结----华为坑深(转)的更多相关文章
- Android Studio无法打印Logout日志
华为手机: 在拨号界面输入:*#*#2846579#*#* 进入测试菜单界面,然后Project Menu → 后台设置 → LOG设置LOG 开关 → LOG 打开 LOG 级别设置 ...
- 【OpenCV for Android】Android Studio JNI和NDK配置及采坑记录
在配置好Android studio的OpenCV环境后,我们就可以通过Java代码调用OpenCV的API了,但是在通常情况下,用Java代码编写图像处理算法的运行效率是没有C++代码高的,在应用层 ...
- Android Studio 插件开发详解四:填坑
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 在前面我介绍了插件开发的基本流程 [And ...
- Android.util.Log 关于Android开发中打印log
日常Android开发真机调试过程经常会遇到系统日志过多过快,想看的内容一闪而过的问题.而自定义些log可以很好的解决这些问题. 代码中添加 log androidsdk中提供了log输出的ap ...
- 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)
上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...
- Android Studio怎样选择查看指定进程的log?
今天说一个简单的东东,关于Android Studio在logcat中怎样查看指定进程的log. 关于过滤你自己所开发的应用的log.在这篇文章中:Android Studio怎样给log加入过滤项( ...
- Mac搭建cocos2dx+Android studio开发环境以及AnySDK的集成
配置环境: mac osx 10.12.6 cocos2dx 3.14 Android studio 2.3 目标: 在mac上配置cocos Android开发环境,接入AnySDK 配置: 1.安 ...
- Android Studio使用总结
记录Android-Studio遇到的各种坑 http://blog.csdn.net/u012874222/article/details/50616698 Android Studio 权威教程 ...
- 1、Android Studio集成极光推送(Jpush) 报错 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco
Android studio 集成极光推送(Jpush) (华为手机)报错, E/JPush: [JPushGlobal] Get sdk version fail![获取sdk版本失败!] W/Sy ...
随机推荐
- Mac安装搭建sublimeText3开发Nodejs环境
原文] [基本环境 安装Nodejs 这个直接就可以去官网下载就可以了.Nodejs官网 根据自己的PC系统类型选择对应的版本下载之后就可以了. 安装SublimeText3 这个也是直接去Subli ...
- Sort Colors,颜色排序
问题描述:Given an array with n objects colored red, white or blue, sort them so that objects of the same ...
- 画龙点睛 之RabbitMQ 初来乍到
消息队列解决了什么问题 1. 异步处理 2. 应用解耦 3. 流量削峰 4. 日志处理...... 安装RabbitMQ (这里的安装我只仅仅说一下linux 的安装 如果想安装windows 版 可 ...
- scala学习手记9 - =和==
= 赋值运算 scala的赋值运算和java的有着很大的不同.如a=b这样的赋值运算,在Java中返回值是a的值,在scala中返回的则是Unit(Unit是值类型,全局只存在唯一的值,即(),通常U ...
- python学习笔记(conf配置文件)
在优化自己的框架中发现一个问题 有很多参数在很多类中都要使用.是否有什么功能可以帮助优化这些功能 这里我就想到 conf配置文件.整理了下资料 总结下内容如下 #!/usr/bin/env pytho ...
- jsp:xpath - xml
.1 关于“/ ”和“// ”的使用“/”是表示当前文档的节点,类似 DOS 目录分割符,“//”则表示当前文档所有的节点.类似查看整个目录.(1)/authors/author:表示选择根目录下.父 ...
- idea结合git使用三
1.将本地代码提交到码云上面的步骤 2.先提交到本地Git的仓库,通过commit files 3.然后vcs----->git---->push,将本地仓库代码,推送到码云公司项目mas ...
- C语言小知识点汇集
1. 三元表达式“?:”冒号两边的两个操作数类型必须一致. 2. 枚举变量的sizeof值同int型一样为4. 3. 为了消除不必要的计算 &&两侧的表达式,当左侧即第1个表达式不成立 ...
- Xcode export/upload error: Your session has expired. Please log in 解决方法
问题: 突然打包账号不好使了 重登 重启 清缓存 一套都打完了 还是不好使 解决方法: 删除掉其他账号 重新登录 参考网址 http://stackoverflow.com/ques ...
- 32-THREE.JS 球体
<!DOCTYPE html> <html> <head> <title>Example 05.05 - Basic 3D geometries - S ...