『壹』 什么是adb命令行
adb命令行是androidsdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的android设备(如G1手机),它的主要功能有:
1、运行设备的shell(命令行)
2、管理模拟器或设备的端口映射
3、计算机和设备之间上传/下载文件
4、将本地apk软件安装至模拟器或android设备
ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。
(1)adb过滤命令扩展阅读:
常用命令
1. 查看设备 *adbdevices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2. 安装软件
*adbinstall <apk文件路径>
这个命令将指定的apk文件安装到设备上
3. 卸载软件
*adbuninstall <软件名>
*adbuninstall -k <软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件。
4. 登录设备shell
*adbshell
*adbshell <command命令>
这个命令将登录设备的shell。
后面加<command命令>将是直接运行设备命令,相当于执行远程命令。
5. 从电脑上发送文件到设备
*adbpush <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)。
『贰』 如何过滤 adb logcat 输出
如何过滤adb logcat输出 本文介绍如何在 shell 命令行中过滤 adb logcat 输出的几个小技巧。
『叁』 ADB是什么 ADB常用命令介绍
ADB的全称为AndroidDebugBridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。ADB的工作方式比较特殊,采用监听SocketTCP5554等端口的方式让IDE和Qemu通讯,默认情况下ADB会daem
『肆』 adb调试只能用一次,怎么解决
将 adb 工具包的四个文件都复制到 C:\Windows\System 目录里。
假如系统是32位的,则将四个文件都复制到 C:\Windows\System32 目录里即可。
假如使用的Windows系统是64位的,则需要将其中的 AdbWinApi.dll 文件复制到C:\Windows\SysWOW64里即可。
使用
基本命令:ls、cd、cat、rm、cp、mkdir
这些命令是linux系统上的一些基本命令,至少要对 ls、cd、cat这几个命令熟悉点,才能很流畅的使用adb工具,如果你还不熟悉,建议先去了解下这几个命令吧。
①adb shell
这个是进入手机shell操作的一个命令。通常情况下,你调试用的模拟器或者手机通过usb连接电脑后,在win上通过Ctrl + R,输入cmd,在dos窗口内执行该命令即可进入手机的shell操作。
如果你连接当前电脑的手机不止一部时,这时就需要借助参数来进行选择指定的设备了。如下图:
②借助ls、cd命令进入应用数据地址:/data/data/{包名如:coder.dasu.meizi}/
该目录下就是存放该应用的 xml数据,cache数据,file数据,以及sqlite数据库数据了,如下:
③cat命令查看SharePreference的xml数据
xml中经常保存一些应用的配置数据,比如用户是否首次启动app,用户账户,用户对应用操作的一些设置啊,比如关闭消息推送等等。
这些数据在开发时,都可以通过log方式打印出来,查看效果是否正确。但有时,如果想要查看较多的xml数据时,又懒得一个个的敲代码,或者log信息太杂,忘记以前写的过滤条件时,这时就可以借助adb来实现了。
④ sqlite3 ***.db命令查看数据库
以上介绍的一些功能其实就算不借助adb,也可以使用打印log等方式实现。但如果我们开发过程中,需要经常查看一些数据库内的数据时,也可以使用ddms,把db文件导出来借助工具查看,但这样总会麻烦了点,需要每次都进行导出db文件。所以,这时候,如果借助 sqlite3这个命令,将会非常方便。
1.执行完 sqlite3 meizi.db 后,会进入一个sqlite命令状态,在这里可以使用sql语言来进行查询,也可以使用.help来查看sqlite3提供的一些快速命令.
2。如,执行 .table 可以查看当前数据库所有的表,执行 .schema 可以查看创建数据库的sql命令
3.上面那图中有两张表,我们看看USER表中有什么数据,可以使用sql命令查询
虽然需要执行sql命令才能查询,但其实也就select一下,并不会很复杂,而且还可以借机多接触一下sql语言,学习一下。
如果你也有调试数据库这方面的需求,建议你也可以使用这个工具试试看。
(4)adb过滤命令扩展阅读:
adb,网上介绍其实很多,就是用来对安卓系统进行一些命令操作的工具。如果你的应用需要经常查看 sharePreference文件数据、Sqlite 数据库数据,以及本地的各种数据的话,那么使用adb将会非常方便。
如果你需要从电脑上发送一些文件到手机里,或者从手机获取一些文件到电脑上(比如视频之类的应用,需要经常把应用存在手机里的视频文件发送到电脑),那么借助adb也可以很方便实现。
如果你想做一些TV应用的话,那么就应该要学学ADB了,学学如何通过wifi连接调试,如果pull,push文件等等了。
『伍』 android 怎么使用应用的包名通过logcat命令来过滤某个应用的日志
先通过windows cmd 进入adb shell,再输入logcat|grepxxx
1、先进入adbshell。
『陆』 面试的时候被问到,测试过程中常用的adb命令有哪些
作为测试人员,经常用到的adb命令:
adb logcat 产看手机的日志信息,在出现bug的时候可以通过这个命令帮助定位查看
adb shell 进入Android终端命令,然后可以通过一些命令来查看手机相关信息
adb push 向手机发送文件
adb pull 从手机获取文件
adb shell am start -W 包名/界面名 查看应用启动时间
adb install apk文件 通过adb命令行安装app
adb uninstall 包名 通过adb命令行卸载app
adb --help 查看adb 命令帮助信息
adb shell pm list package 查看所有包名
adb shell monkey –p 包名 –v 测试次数 指定应用进行monkey测试
详情教程有免费的公开课啊,黑马程序员官网就可以看,或者对话框可以领取到课程大纲。我就在黑马学出来的,现在税后11k,感谢黑马!
『柒』 adb常用的几个命令
adb devices
adb shell reboot
adb shell reboot recovery
adb shell reboot fastboot
adb shell ls
adb shell cd等等……
『捌』 如何过滤 adb logcat 命令的输出
1. 只显示需要的输出,白名单
最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
adb logcat | grep --color=auto -i myapp #设置匹配字符串颜色。更多设置请查看 grep 帮助。
进阶一点可以使用 grep 的正则表达式匹配。例如上一个例子会匹配一行中任意位置的 MyApp,可以设置为仅匹配 tag。默认的 log 输出如下,如果修改过输出格式相应的表达式也要修改。
I/CacheService( 665): Preparing DiskCache for all thumbnails.
可以看出 tag 是一行开头的第三个字符开始,根据这点写出表达式:
adb logcat | grep "^..MyApp"
根据这个格式也可以设置只显示某个优先级的 log,再匹配行首第一个字符即可。例如仅显示 Error 级别 tag 为 MyApp 的输出:
adb logcat | grep "^E.MyApp"
当然也可以匹配多个,使用 | 分割多个匹配表达式,要加转义符。例如要匹配 tag 为 MyApp 和 MyActivity 的输出:
adb logcat | grep "^..MyApp\|^..MyActivity"
adb logcat | grep -E "^..MyApp|^..MyActivity" #使用 egrep 无须转义符
2. 过滤不需要的输出,黑名单
还是使用 grep,用法也跟上面的一样,加一个 -v 即可。例如要过滤 tag 为 MyApp 和 MyActivity 的输出:
adb logcat | grep -v "^..MyApp\|^..MyActivity"
adb logcat | grep -vE "^..MyApp|^..MyActivity" #使用 egrep 无须转义符
3. 显示同一个进程的所有输出
有时一个程序里面的 tag 有多个,需要输出该程序(同一个 PID)的所有 tag;仅使用 tag 过滤有时也会漏掉一些错误信息,而一般错误信息也是和程序同一个 PID。还是通过 grep 实现,思路是先根据包名找到 pid 号,然后匹配 pid。写成 shell 脚本如下,参数是程序的 java 包名(如 com.android.media)。
查看源代码打印帮助
1 #!/bin/bash
2 packageName=$1
3 pid=`adb shell ps | grep $packageName | awk '{print $2}'`
4 adb logcat | grep --color=auto $pid
4. 从当前开始显示
logcat 有缓存,如果仅需要查看当前开始的 log,需要清空之前的。
adb logcat -c && adb logcat
5. 过滤 log 文件
有时需要分析 log 文件,过滤 log 文件还是使用 grep。例如 log 文件为 myapp.log,要匹配 tag 为 MyApp 和 MyActivity 的输出,然后输出到 newmyapp.log:
cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log
Windows 下推荐使用 Notepad++,一个免费强大的记事本,支持正则表达式查找替换。可以高亮显示匹配内容,也可以删除不需要的内容。
以上的技巧主要用到了 grep,其实 logcat 本身也有过滤功能,可以根据 tag、优先级过滤 log,具体请参考 Android 官方文档 Reading and Writing Logs。如果喜欢使用图形界面,请参考 Using DDMS,DDMS 里面的 logcat 也可以同样过滤。
『玖』 使用adb命令怎么删除安卓系统文件夹
使用adb命令删除安卓系统文件夹的方法:
1.连接安卓设备
这里以系统内置浏览器为例,输入:adb shell rm /system/app/browser.apk回车,这个程序就被删除了,删除其它的程序把browser.apk改成需要删除的程序名即可,有些设备系统程序还有odex文件,也需要同时删除。
『拾』 几种在shell命令行中过滤adb logcat输出的方法
1. 只显示需要的输出,白名单
最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
adb logcat | grep --color=auto -i myapp #设置匹配字符串颜色。更多设置请查看 grep 帮助。
进阶一点可以使用 grep 的正则表达式匹配。例如上一个例子会匹配一行中任意位置的 MyApp,可以设置为仅匹配 tag。默认的 log 输出如下,如果修改过输出格式相应的表达式也要修改。
I/CacheService( 665): Preparing DiskCache for all thumbnails.
可以看出 tag 是一行开头的第三个字符开始,根据这点写出表达式:
adb logcat | grep "^..MyApp"
根据这个格式也可以设置只显示某个优先级的 log,再匹配行首第一个字符即可。例如仅显示 Error 级别 tag 为 MyApp 的输出:
adb logcat | grep "^E.MyApp"
当然也可以匹配多个,使用 | 分割多个匹配表达式,要加转义符。例如要匹配 tag 为 MyApp 和 MyActivity 的输出:
adb logcat | grep "^..MyApp\|^..MyActivity"
adb logcat | grep -E "^..MyApp|^..MyActivity" #使用 egrep 无须转义符
2. 过滤不需要的输出,黑名单
还是使用 grep,用法也跟上面的一样,加一个 -v 即可。例如要过滤 tag 为 MyApp 和 MyActivity 的输出:
adb logcat | grep -v "^..MyApp\|^..MyActivity"
adb logcat | grep -vE "^..MyApp|^..MyActivity" #使用 egrep 无须转义符
3. 显示同一个进程的所有输出
有时一个程序里面的 tag 有多个,需要输出该程序(同一个 PID)的所有 tag;仅使用 tag 过滤有时也会漏掉一些错误信息,而一般错误信息也是和程序同一个 PID。还是通过 grep 实现,思路是先根据包名找到 pid 号,然后匹配 pid。写成 shell 脚本如下,参数是程序的 java 包名(如 com.android.media)。
查看源代码打印帮助
1 #!/bin/bash
2 packageName=$1
3 pid=`adb shell ps | grep $packageName | awk '{print $2}'`
4 adb logcat | grep --color=auto $pid
4. 从当前开始显示
logcat 有缓存,如果仅需要查看当前开始的 log,需要清空之前的。
adb logcat -c && adb logcat
5. 过滤 log 文件
有时需要分析 log 文件,过滤 log 文件还是使用 grep。例如 log 文件为 myapp.log,要匹配 tag 为 MyApp 和 MyActivity 的输出,然后输出到 newmyapp.log:
cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log
Windows 下推荐使用 Notepad++,一个免费强大的记事本,支持正则表达式查找替换。可以高亮显示匹配内容,也可以删除不需要的内容。
以上的技巧主要用到了 grep,其实 logcat 本身也有过滤功能,可以根据 tag、优先级过滤 log,具体请参考 Android 官方文档 Reading and Writing Logs。如果喜欢使用图形界面,请参考 Using DDMS,DDMS 里面的 logcat 也可以同样过滤。