Android studio怎么自定义logcat提示信息

Android studio怎么自定义logcat提示信息,第1张

一、下载安装下载安装包(dmg文件),打开并将Android Studio拖动到Applications中去,拷贝完毕即可,可以到应用程序下将图标拖动到Dock上。二、新建工程安装完成后,选择默认选项点击OK即可:进入Android Studio,开始界面和Xcode有点类似,点击New project新建一个工程,新建过程和在Eclipse上差不多,这里就不赘述了。下图是开始界面:新建工程完毕后就进入了Android Studio主界面。第一次进去可能如下图所示什么也没有,点击箭头所示按钮目录结构,后可以看到Android Studio的目录结构,和Eclipse的工程还是有一点区别的:区别:1.Android Studio的目录结构本来就代表一个workspace,一个workspace里面可以有Module,可以将一个Module理解成Eclipse中的一个Project;2.目录中将java代码和资源文件(图片、布局文件等)全部归结为src,在src目录下有一个main的分组,同时划分出java和res两个Group,res和Eclipse下的结构一样,java下就是源码的包和类文件;3.新建文件方式的不同,右键选择New或Command+N后出现新建菜单,类型有Java Class,也就是一般的java类,File就是普通文件,Package就是建包,值得注意的就是Android Component,它直接提供了Android中基本组件的创建。可以选择创建Android中不同类型的组件:三、窗口布局及主题介绍另外,主界面底部有一个名为Android的选项卡,打开可以看到DDMS中的设备信息和Logcat输出:顶部工具栏中可以看到和Eclipse中功能一样的一个选项,这些相信大家都比较熟悉了:最后需要说明的是,大家看到我的主界面是暗色风格,和Google演示的是一样的风格,大家第一次使用打开的是默认风格(亮色),如果想要修改的话,进入Preferences(按Command+,)到IDE Settings下选择Colors&font并设置Schema name为Darcula就可以设置成暗色风格,如果需要自己定义样式,比如字体大小颜色等,可以新建一个Schema来自己定义四、布局文件编写(实时预览)最炫的功能要来了,实时编写并预览布局文件,此项功能着实大大提高开发效率,打开一个xml布局文件点击右侧Preview选项卡即可唤出预览界面,可以选择很多尺寸的手机进行预览:同时,还可以同时预览多种不同型号和尺寸的设备,编写代码的同时适配多种机型,这不就是当初梦寐以求的嘛!上面介绍了Android Studio的基本使用,包括安装、新建工程、工程结构以及主题设置。下面介绍一些其他技巧,以及与Eclipse之前的一些对比。需要重申一下,我所有的 *** 作与版本是基于Mac系统,在Windows上的同学基本类似,下面就分主题开始吧:一、从Eclipse导入工程到Android Studio根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些 *** 作:首先升级ADT到最新版本,目前为版本号为22(注意和ADT相关的组件最好一并升级,避免后期可能出现的错误)选择需要从Eclipse导出的工程,右键选择Export并选择Android下的Generate Gradle Build Files(如下图):选择完毕后并不会导出到其他地方,而是在本地工程生成了一个build.gradle文件,在Eclipse工程中也可以看到,这个文件是Android Studio识别的,如下图:3.随后进入Android Studio并选择Import Project,可以看到刚刚在Eclipse中的项目图标变成了一个Android机器人图标,说明转换成功,这时候选择工程导入即可:至此,就完成了从Eclipse导入现有Android工程到Android Studio,现在可以开始对工程进行 *** 作了!二、Eclipse工程与Android Studio的区别Eclipse工程可以导入Android Studio运行,而反过来在Android Studio建立的工程不能在Eclipse中运行;二者的工程结构不一样,在Eclipse中一个Project就代表一个项目工程,而在Android Studio中就和Intellij一样,一个Project代表一个工作空间,相当于Eclipse中的workspace,而在Android Studio中一个Module就相当于Eclipse中的一个Project,这个概念需要弄明白,不要混了或觉得糊涂了。在编辑 *** 作上,在Eclipse中编辑修改后必须手动command+s保存文件,而在Android Studio中就和Intellij一样是自动保存的,这一点和第二点和Xcode也是类似的。工程目录上的区别,在Eclipse中src部分一般是java文件,res部分是资源文件,包括布局文件和多媒体资源等。在Android Studio中,可以看下图的目录结构:包括java文件和资源文件全部放到了src目录下,src目录下包括一个main文件夹,再下面就是java文件夹和res文件夹,其实这里,java文件夹就相当于Eclipse中的src,res还是那个res,这里想起了本山老师的小品“src已经不是那个src了,res还是那个res”三、真机运行以及常用快捷键在Android Studio中点击界面下方的Android选项卡可以看到Device信息和Logcat,连上设备后打开Android选项卡会检测真机,成功后会显示在Device中,点击顶部的绿色小箭头就可以开始运行工程了。有一点需要注意的是,运行时可以选择模拟器也可以选择真机,由于在Android Studio中运行工程的时候有一个Device优先级选择,如果不设置的话可能会出现只运行在模拟器上的现象,我们可以自行设置一下:先点击Run菜单选择Run Configuration,并选择你想选择的目标设备,可以是模拟器和真机,也可以在运行选由用户选择:快捷键大家可以对照官方文档进行熟悉,如下表,也可以自己修改配置选项进行自定义:个人觉得Android Studio还是有一定的前景的,这里就需要Google不断进行完善和改进了,赶紧把大家从Eclipse中解救出来吧。另外,在此期间,大家其实可以尝试使用一下Intellij IDEA,这个默认也是集成Android开发环境的。Android Studio是基于前者改进而来,二者在使用上差不多,也是Eclipse的一个不错的替代者。下面提供一个Windows版Android Studio下载。

具体步骤如下:

打开ROM制作工具,选择【批量制作】

拖动ROM添加任务,可【任意添加】线刷包和卡刷包,系统会自动计算预计耗时

设置【刷机套餐】和【ROOT授权】,可对ROM进行单个或多个设置

选择【开始制作】,程序会自动进行解包打包精简等修改,无需手动 *** 作

当制作完毕后会提示ROM制作情况,此时ROM制作完毕

最后介绍一下Android的Log工具LogCat。

首先在Eclipse中选择Windows >Show View >Other... >Android >LogCat,确定后会出现LogCat显示框,用户添加的Log将会在这里显示。使用时直接在代码中插入“Log.i("info","this is a log")”,那么在执行到该语句时,LogCat显示框中将出现“this is a log”。

在Eclipse中安装ADT和android sdk包之后,运行以开发的android程序时,在LogCat窗口中会显示出一系列的信息,这些信息是每一个程序通过Dalvik虚拟机所传出的实时信息,可以方便我们对程序的了解。

在log窗口中,每条信息都包含五个部分,Time,标题空白,pid,tag和Message。

1、Time

表示执行的时间,这个信息对于学习生命周期,分析程序运行的先后顺序特别有用。

2、标题空白的列

表示的是信息的种类,分为V,D,I,W,E五种。

V:verbose,显示全部信息

D:Debug,显示调试信息

I:Info,显示一般信息

W:Warming,显示警告信息

E:Error,显示错误信息

可以通过点击LogCat上面的用圆圈括起来的V,D,I,W,E来改变显示的范围。比如选择了W,那就只有警告信息和错误信息可以显示出来了。

3、pid

表示程序运行时的进程号

4、tag

标签,通常表示系统中的一些进程名,比如我们运行helloworld程序的话,就会看到activitymanager在运行。

5、Message

表示进程运行时的一些具体信息,比如我们运行helloworld程序的话,就会看到starting activity...helloWorld的字样

可以输出LogCat的信息到文本文件中,以方便分析。在下拉框中选择输出选择的信息就可以了。

下面是输出到文件中的启动helloWorld程序时的一条信息的例子,分别用5个下划线标出了上面介绍的内容:

05-20 15:46:10.129: INFO/ActivityManager(60): Starting activity: Intent { act=android.intent.action.MAIN cat=

[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.android.helloworld/.HelloWorld }

6、Filter的使用

可以在Filter中输入筛选信息,使LogCat中只现实我们需要分析的信息。比如我们只想看和HelloWorld相关的信息,就可以在

Filter中输入HelloWorld,这样只有Message 中包含HelloWorld的内容才会显示出来。

7、LogCat中信息不能显示

上面说了这么多关于logCat的使用,可能LogCat中根本就什么信息都没有显示!没关系,只要在Eclipse中选择window-

>show view->other->android->devices就可以 了。

8、在LogCat中输出程序的运行信息

a、在程序中导入相应的包:import android.util.Log

b、在需要输出信息的函数中增加相关的调试代码:Log.i("hi world","oncreate")

方法i是Log类的静态方法,可以直接使用,我们看着各类的定义可以看到,它提供了多种输出方法,分别对应我们上面提到的V,D,I,W,E。用哪个方法就决定了输出的类型,这里用i,表示输出的是information。

这个方法中的第一个参数就是要显示在Tag那一栏的内容,把这条语句加到OnCreate方法中,执行时LogCat中就会显示如下的信息: 05-22 21:58:22.894 I 3910 hi world onCreate

9、创建新的Filter

有时候只想看我们程序中用Log类的相关方法输出的各种信息,这时就可以考虑新建一个过滤器。点击LogCat的右上角的“+”号,可以创建一个新的过滤器。比如我们在by Log Tag的选项中填入上面程序输出的"hi world"这个tag。这样再运行时在我们新创建的Filter中就只显示hi world这个tag标记出来的信息了。

Android开发中的logcat工具使用详解--------

logcat是Android中一个命令行工具,可以用于得到程序的log信息。

logcat使用方法如下所示:

logcat [options] [filterspecs]

logcat的选项包括:

-s 设置过滤器,例如指定 '*:s'

-f <filename>输出到文件,默认情况是标准输出。

-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f

-n <count>Sets max number of rotated logs to <count>, default 4

-v <format>设置log的打印格式, <format>是下面的一种:

brief process tag thread raw time threadtime long

-c 清除所有log并退出

-d 得到所有log并退出 (不阻塞)

-g 得到环形缓冲区的大小并退出

-b <buffer>请求不同的环形缓冲区 ('main' (默认), 'radio', 'events')

-B 输出log到二进制中。

过滤器的格式是一个这样的串:

<tag>[:priority]

其中 <tag>表示log的component, tag (或者使用 * 表示所有) , priority 如下所示:

V Verbose

D Debug

I Info

W Warn

E Error

F Fatal

S Silent

事实上logcat的功能 是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示:

Log.v() -------------------- VERBOSE

Log.d() -------------------- DEBUG

Log.i() -------------------- INFO

Log.w() -------------------- WARN

Log.e() -------------------- ERROR

以上log的级别依次升高,DEBUG信息应当只存在于开发中,INFO, WARN,ERROR这三种log将出现在发布版本中。

对于JAVA类,可以声明一个字符串常量TAG,Logcat可以根据他来区分不同的log,例如在计算器(Calculator)的类中,定义如下所示:

public class Calculator extends Activity {

/* ...... */

private static final String LOG_TAG = "Calculator"

private static final boolean DEBUG = false

private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV

/* ...... */

由此,所有在Calculator中使用的log,均以"Calculator"为开头。

例如使用方法如下所示:

# logcat &

<得到一个log片段 >

W/KeyCharacterMap( 130): No keyboard for id 0

W/KeyCharacterMap( 130): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

I/ActivityManager( 52): Displayed activity com.android.contacts/.DialtactsContactsEntryActivity: 983 ms

I/ARMAsse mbler( 52): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x25c978:0x25ca44] in 1764174 ns

I/ARMAssembler( 52): generated scanline__00000077:03515104_00000001_00000000 [ 46 ipp] (65 ins) at [0x25d1c8:0x25d2cc] in 776789 ns

D / dalvikvm ( 130 ): GC freed 834 objects / 81760 bytes in 63ms

D/dalvikvm( 52): GC freed 10588 objects / 425776 bytes in 94ms

其中W/I/D 表示log的级别,“dalvikvm ”“ARMAssembler ”等是不同组件(component)的名称,后面括号里面的数字 表示了发出log的进程号。

使用技巧:

1.使用logcat &在后台运行

2.使用-d得到所有log

3.使用-f或者重定向(>和>>)输出到文件

4.使用-s设置过滤器,得到想要的log。

当然,最重要的还是在程序中加入恰当的log.

许多初次接触Android开发的朋友会遇到调试的问题,如何能够根据错误提示迅速的找到“出事地点呢”?在Eclipse+ADT的开发环境中没有好的直接跟踪对象内容的方法,通过使用android.util.Log类可以帮助你自己查找错误和打印系统日志消息。它是一个进行日志输出的API,我们在Android 程序中可以随时为某一个对象插入一个Log,然后在DDMS中观察Logcat的输出是否正常。

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。当我们在DDMS进行调试时他们的区别并不大,只是显示的颜色不同,但通过Logcat的过滤器我们可以过滤显示某类的,一般对于执行错误的断点,下在Log.e比较合适。但是Android开发网根据规范建议VERBOSE,DEBUG信息应当只存在于开发中,最终版本只可以包含 INFO, WARN,ERROR这三种日志信息。在实际使用中,我们最好为每一个类声明一个字符串常量TAG,这样在Logcat中我们可以容易区分不同的类的日志。例如:

private static final String TAG = "MyActivity"

接下来我们就可以用Log随心所欲的观察Android代码中的每个细节:Log.e(TAG, "android123.com.cn")但是要记住这个Log类的参数都是String类型的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11460482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存