课程名称 | 介绍(实际内容远大于这里介绍的) | 购买与观看地址 |
【内容已全面升级】移动手机APP测试从零开始(初级篇) | 经典视频重现江湖,销量遥遥领先!近期讲升级视频内容,已购买的用户可以继续观看哦 | http://edu.51cto.com/course/course_id-1923.html 或者 http://edu.csdn.net/course/detail/177 |
【内容已全面升级】移动手机APP测试从零开始(中级篇) | http://edu.51cto.com/course/course_id-2078.html 或者 http://edu.csdn.net/course/detail/178 | |
【即将全面更新】移动手机APP测试从零开始(提升篇) | 此处内容将会有翻天覆地的变化,和老版完全不同,敬请期待 | http://edu.51cto.com/course/course_id-3345.html 或者 http://edu.csdn.net/course/detail/838 |
依照环境安装配置那节笔记,我们已经把adb设为了环境变量,所以可以直接使用了
1、启动与关闭adb
adb kill-server
adb start-server
2、查看我们现在运行的devices列表
因为我机器只启动了一个模拟器,所以只有一个device。
3、 在Eclipse中运行Android程序必须得有Android源码工程。那如果只有apk文件,我们则可以用adb install、adb uninstall和am。
3.1 安装
先进入apk所在目录,然后用如下两种命令都可以
上面这个是如果有多台模拟器或真机时使用,下面这个是只有一台的时候使用,后续的命令一样的道理,多台时需要使用-s参数指定device
3.2 重新安装
adb install -r AppTest.apk
3.3 卸载
如果用adb命令卸载,需要知道apk所在的包名,问开发即可。如果闲这个麻烦,在模拟器中卸载即可,和在真机中卸载方式一样一样的。
以上是完全卸载,如果想保留数据和缓冲目录,只卸载应用程序,使用以下命令:
adb uninstall -k com.example.apptest
3.4 使用命令运行apk
其中MainActivity是这个apk的主activity
4 查看logcat
adb logcat
5、push和pull
6、获取apk的package name
出现上述情况的时候,再次输入su,同时要注意看手机上,会出现授权提示
上图就是我们能看到的apk包名。详细命令如下
adb shell
su
cd data/app
ls
注释:
第一行:进入adb命令行模式
第二行:获取系统权限
第三行:进入data/app 目录
第四行:列出当前目录下的文件及目录
PS:adb命令列表
下列表格列出了adb支持的所有命令,并对它们的意义和使用方法做了说明.
Category | Command | Description | Comments |
Options | -d | 仅仅通过USB接口来管理abd | 如果不只是用USB接口来管理则返回错误 |
-e | 仅仅通过模拟器实例来管理adb | 如果不是仅仅通过模拟器实例管理则返回错误 | |
-s <serialNumber> | 通过模拟器/设备的允许命令号码来发送命令来管理adb (如 “emulator-5556″) | 如果没有指定号码,则会报错 | |
General | devices | 查看所有连接模拟器/设备的设施的清单 | 查看 Querying for Emulator/Device Instances 获取更多相关信息 |
help | 查看adb所支持的所有命令 |
| |
version | 查看adb的版本序列号 |
| |
Debug | logcat [<option>] [<filter-specs>] | 将日志数据输出到屏幕上 |
|
bugreport | 查看bug的报告,如dumpsys ,dumpstate ,和logcat 信息 |
| |
jdwp | 查看指定设施的可用的JDWP信息 | 可以用 forward jdwp:<pid>端口映射信息来连接指定的JDWP进程,例如: | |
Data | install <path-to-apk> | 安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径) |
|
pull <remote> <local> | 将指定的文件从模拟器/设施拷贝到计算机上 |
| |
push <local> <remote> | 将指定的文件从计算机上拷贝到模拟器/设备中 |
| |
Ports and Networking | forward <local> <remote> | 用本地指定的端口通过Socket方法远程连接模拟器/设施 | 端口需要描述下列信息:
|
ppp <tty> [parm]… | 通过USB运行ppp:
需要提醒的不能自动启动PDP连接 |
| |
Scripting | get-serialno | 查看adb实例的序列号 | 查看 Querying for Emulator/Device Instances 可以获得更多信息 |
get-state | 查看模拟器/设施的当前状态 | ||
wait-for-device | 如果设备不联机就不让执行,也就是实例状态是 device 时 | 可以提前把命令转载在adb的命令器中,在命令器中的命令在模拟器/设备连接之前是不会执行其他命令的,示例如下: adb wait-for-device shell getprop 需要提醒的是,这些命令在所有的系统启动起来之前是不会启动adb的,所以在所有的系统启动起来之前也不能执行其他的命令,例如,运用install 的时候就需要Android包,这些包需要系统完全启动,例如: adb wait-for-device install <app>.apk 上面的命令只有连接上了模拟器/设备连接上了adb服务才会被执行,而在Android系统完全启动前执行就会有错误发生 | |
Server | start-server | 选择服务是否启动adb服务进程 |
|
kill-server | 终止adb服务进程 |
| |
Shell | shell | 通过远程Shell命令来控制模拟器/设备实例 | 查看获取更多信息 for more information |
shell [<shellCommand>] |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。