1. android 日志文件用什么打开
编程调试是每一个编程人员必备的编程技巧,而在编程调试中,我们最最常用也是最最有效的的调试方法之一就是输出信息,有过java编程经验的同学应该知道,在java再发的过程中,我们经常会通过在程序可能出现问题的位置处通过
System.out.println("aaaaaaaaaaaaaaaaaaaaaaa");
输出调试信息来调试程序,通过console控制台,我们就可以轻易得知我们的程序到目前位置处是否运行正常
然而,当我们转战android时,我们发现,通过单纯的System.out我们已经没有办法在console获取信息,为了获取必要的调试信息,我们要用到android的LogCat工具
下面我们来看一下android开发中如何查看app运行日志:
1.在android开发中,我们依然可以使用System.out来经行调试信息的输出,只是这时的调试信息不再console中,而是在LogCat中;
2.我们也可以使用andorid工具包中的Log类来经行必要调试信息的输出。
官方解释:Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() methods.
The order in terms of verbosity, from least to most is ERROR, WARN, INFO,
DEBUG, VERBOSE. Verbose should never be compiled into an application except
ring development. Debug logs are compiled in but stripped at runtime. Error,
warning and info logs are always kept.
当我们要输出信息时,直接使用Log中提供的Log.v() Log.d() Log.i() Log.w() and Log.e()即可
@Override
protected void onResume() {
Log.i(Tag, "first activity--------onResume()");
System.out.println("first activity--------onResume()");
super.onResume();
}
@Override
protected void onStart() {
Log.i(Tag, "first activity--------onStart()");
System.out.println("first activity--------onStart()");
super.onStart();
}
@Override
protected void onStop() {
Log.i(Tag, "first activity--------onStop()");
System.out.println("first activity--------onStop()");
super.onStop();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(Tag, "first activity--------onCreate()");
System.out.println("first activity--------onCreate()");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
我们已经把调试信息输出,那么我们应该如何更好的查看这些信息呢:
首先我们要打开eclipse的LogCat窗口,当我们运行一个app时,我们可以看到这个窗口一次会输出很多信息,大多数信息对于我们来说是不需要的, 为了更快的得到我们期望的信息,这里我们就要用到日志过滤器filter,如下图所示,通过加号,我们就可以新建一个过滤器了
新建如下:
如:当你想看System.out的信息时,在Filter Name处填System.out(这里注意,这个名字是随便填写的)
在by Log Tag处填写:System.out这个是System.out.println在android中的Tag标志
当你想看Log输出的信息时,比如你输出的信息是:Log.d("Test","this is a Test");
在Filter Name处填写:Testaa,在by Log Tag处填写:Test.
2. android手机日志怎么查看
手机日志需要在手机文件管理中查看。(以小米手机为例,其他机型操作方法大致相同)
1.首先在桌面上找到【文件管理器】图标,点击进入文件浏览页面。
3. Android 测试,如何从Pc端获取App日志信息
首先从3个方面说下次问题,1. 为什么要获取日志? 2.如何获取?3. 如何查看日志?
1. 为什么要获取日志?
说明:在对真机内应用进行手工验证时,如果发现某个功能Bug或操作无响应时,通过日志能更好体验出bug的类型和操作是否有请求发出,能更近一步定位bug类型。
2. 如何获取?
说明:通过adb logcat命令,具体操作:1. 需要下载对应Android 系统版本的Android sdk(安卓开发工具包自带包含adb命令);2. 搭建相应的环境;3. 手机打开usb调试模式并通过数据线连接电脑(需要安装手机驱动,通过第三方软件自动安装 如:应用宝) 4.验证环境及手机和电脑连接通畅(cmd命令行输入:adb devices) 出现手机设备信息即可;5. 此时 输入命令 adb logcat (获取手机运行实时日志命令)
3. 如何查看日志?
说明: 一般查找E开头信息;E:Error简写,其他常用错用可以参考黑马程序员移动测试相关资料或视频,组里老大就是黑马出来的,据说讲的不错。上面这些知识点,在他们课程配套笔记里也很多。很全面
4. Android系统的系统日志有哪几个文件,这些文件中包含什么内容
手机的android log(main_log、events_log、kernel_log),mainlog记录手机android上层app以及framework相关活动的log,比如app打印的log。
eventslog主要是ActivityManager、powerManager等相关的log;Kernellog则主要是驱动相关的log。
Modem log,主要是通话相关的,比如信号强弱、连接网络等。netlog,查看网络链接情况,抓取网络包等。其它有data/anr 目录下的traces/tombstones等,分析死机、重启。
mainlog,查看应用申请什么权限,一般不会开放。
(4)android运行日志扩展阅读:
系统日志的价值
系统日志策略可以在故障刚刚发生时就向你发送警告信息,系统日志帮助你在最短的时间内发现问题。
系统日志是一种非常关键的组件,因为系统日志可以让你充分了解自己的环境。这种系统日志信息对于决定故障的根本原因或者缩小系统攻击范围来说是非常关键的,因为系统日志可以让你了解故障或者袭击发生之前的所有事件。
为虚拟化环境制定一套良好的系统日志策略也是至关重要的,因为系统日志需要和许多不同的外部组件进行关联。良好的系统日志可以防止你从错误的角度分析问题,避免浪费宝贵的排错时间。
另外一种原因是借助于系统日志,管理员很有可能会发现一些之前从未意识到的问题,在几乎所有刚刚部署系统日志的环境当中。
使用系统日志产品当中包含的其他特性,包括向监控团队自动发送报警通知等功能。系统日志基于警报类型或者准确的警报消息,系统日志可以通过触发特定操作来完成。
系统日志通过简单地设定这些警报,你将会在自己的环境中处于更加主动的位置,因为你可以在事故变得更加严重之前得到通知。
5. android手机日志怎么查看
以小米手机为例,其他机型操作方法大致相同:
1.首先在手机桌面上找到【文件管理】,进入手机的文件管理页面。
6. 怎么查看手机软件运行日志
使用Android studio查看手机的日志可参考以下步骤:
1、打开android studio随便进入一个工程进入主界面
7. 如何在cmd窗口中查看安卓虚拟机中软件运行状态日志
很多种方法都可以的。最常见的是在eclipse中直接查看
菜单--》 windows--》 show VIew --》 other 找到 android logcat 选项,选上就可以在log标签里查看了
也可以在CMD中输入adb logcat (目录切换到sdk/tools下, 例如:c:android-for-windows\tools ,adb logcat &)
最后的&,可以不加。
8. android 怎么查看安装包的运行日志
1、安装文件的话,如果是从手机下载的,一般在内存卡里会有一个下载文件夹。
2、如果是要安装后生成的文件(虽然不知道你有什么用),在内存卡里会有date和android两个文件夹,里面就有。
3、如果是安装在手机内存,就在机身内存里找这两个文件夹和\system\\app
9. 如何获取 android 的系统日志
读取日志需要的权限
1
<uses-permission android:name="android.permission.READ_LOGS"/>
主要代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package mt.fzgh;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class MyLog
{
public static class MLog //<a href="https://www..com/s?wd=%E9%9D%99%E6%80%81%E7%B1%BB&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">静态类</a>
{
public static void getLog()
{
System.out.println("--------func start--------"); // 方法启动
try
{
ArrayList<String> cmdLine=new ArrayList<String>(); //设置命令 logcat -d 读取日志
cmdLine.add("logcat");
cmdLine.add("-d");
ArrayList<String> clearLog=new ArrayList<String>(); //设置命令 logcat -c 清除日志
clearLog.add("logcat");
clearLog.add("-c");
Process process=Runtime.getRuntime().exec(cmdLine.toArray(new String[cmdLine.size()])); //捕获日志
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream())); //将捕获内容转换为BufferedReader
// Runtime.runFinalizersOnExit(true);
String str=null;
while((str=bufferedReader.readLine())!=null) //开始读取日志,每次读取一行
{
Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()])); //清理日志....这里至关重要,不清理的话,任何操作都将产生新的日志,代码进入死循环,直到bufferreader满
System.out.println(str); //输出,在logcat中查看效果,也可以是其他操作,比如发送给服务器..
}
if(str==null)
{
System.out.println("-- is null --");
}
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println("--------func end--------");
}
}
}
这里比较令人纠结的一点就是日志的清理 logcat -c 如果不加入 清理 在buffer满为止,代码自身能够迭代6~7次....
附带一份logcat的 命令...不过好像 过滤器 指令有问题....慎用
选项 说明
-s 默认设置过滤器
- f 文件 输出到日志文件
-c 清除日志
-d 获取日志
-g 获取日志的大小
- v 格式 设置日志(见下面的格式打印格式)
- v 格式 例
brief W/tag ( 876): message
process W( 876) message (tag)
tag W/tag : message
thread W( 876:0x37c) message
raw message
time 09-08 05:40:26.729 W/tag ( 876): message
threadtime 09-08 05:40:26.729 876 892 W tag : message
long [09-08 05:40:26.729 876:0x37c W/tag ] message