替换换行符:回车换行CR/LF
windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系
windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系
在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内容显示乱码。
修改cmd命令行窗口字符编码即可解决logcat日志中文显示乱码问题:
1.cmd命令行窗口字符编码切换为UTF-8,命令行中执行:chcp 65001
logcat输出的Android日志包含以下级别: V — Verbose (lowest priority)
上一篇文章介绍了使用monkeyrunner截取指定区域的图像并进行对比,日常使用中大多数时候需要读取本机的图片和monkeyrunner的截图进行对比。
MonkeyRunner.loadImageFromFile(‘./shot.png’)方法可以实现读取本地图片供MonkeyRunner使用的功能,参数是本地图片路径。需要特别注意loadImageFromFile的大小写,否则会出现AttributeError的提示。
monkeyrunner中使用.touch()/getSubImage()等方法时都需要使用坐标点,介绍如下两个获取Android手机屏幕坐标点数值的方法:
方法一:使用Pixel Perfect
sdk\tools目录打开monitor.bat,点击android debug monitor窗口右上角的Open
monkeyrunner执行测试时使用.takeSnapshot()截图,默认截取整个屏幕,包含了系统的状态栏。真实手机状态栏中包含如电量/信号量/消息提示等变量,使用.sameAs()对比整个屏幕的截图时就很容易出现错误。而使用.getSubImage()获得局部图像,然后再进行对比,就减少了monkeyrunner执行结果出错的概率。
monkeyrunner使用getSubImage()获取截图局部图像,示例如下:
monkeyrunner执行测试时使用.sameAs()对比截图,获得测试结果,本例中newpic.sameAs(pic,1.0),将newpic和pic两张图片进行对比,1.0是百分比表示精确度,取值范围“0.0-1.0”
#第一个截图
pic=device.takeSnapshot()
#第二截图
newpic=device.takeSnapshot()
procrank命令可以获得当前系统中各进程的内存占用,从/proc/pid/maps中读取信息来进行统计,包含PSS,USS,VSS,RSS。
我们一般观察Uss来反映一个进程的内存使用情况,Uss 的大小代表了只属于本进程正在使用的内存大小,在此进程被杀掉之后,这些内存会被完整的回收。
直接解压apk,打开AndroidManifest.xml显示乱码,因为这里面是二进制字符,和打开文件的编辑器无关。
打开APK里的AndroidManifest.xml不乱码:方法一
反编译apk:apktool d es.apk F:\tmp\es,反编译后任意编辑工具打开都不乱码
注:apktool可搜索下载,aapt在apktool的压缩包内
使用DDMS中的File Explorer查看sd卡内文件,部分手机的/sdcard文件夹不能打开,摸索出以下