博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【和小强学移动app测试3】adb命令使用汇总(持续更新)
阅读量:5781 次
发布时间:2019-06-18

本文共 2691 字,大约阅读时间需要 8 分钟。

课程名称 介绍(实际内容远大于这里介绍的) 购买与观看地址
【内容已全面升级】移动手机APP测试从零开始(初级篇) 经典视频重现江湖,销量遥遥领先!近期讲升级视频内容,已购买的用户可以继续观看哦

或者

【内容已全面升级】移动手机APP测试从零开始(中级篇)

或者

【即将全面更新】移动手机APP测试从零开始(提升篇) 此处内容将会有翻天覆地的变化,和老版完全不同,敬请期待

或者

依照环境安装配置那节笔记,我们已经把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 (如 &ldquo;emulator-5556&Prime;)

如果没有指定号码,则会报错

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进程,例如:

adb  forward tcp:8000 jdwp:472
jdb -attach localhost:8000

Data

install <path-to-apk>

安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径)

 

pull <remote> <local>

将指定的文件从模拟器/设施拷贝到计算机上

 

push <local> <remote>

将指定的文件从计算机上拷贝到模拟器/设备中

 

Ports and Networking

forward <local> <remote>

用本地指定的端口通过Socket方法远程连接模拟器/设施

端口需要描述下列信息:

  • tcp:<portnum>

  • local:<UNIX domain socket name>

  • dev:<character device name>

  • jdwp:<pid>

ppp <tty> [parm]&hellip;

通过USB运行ppp:

  • <tty> &mdash; the tty for PPP stream. For  exampledev:/dev/omap_csmi_ttyl.

  • [parm]&hellip; &mdash zero or more PPP/PPPD options, such as defaultroute  ,local , notty , etc.

需要提醒的不能自动启动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>]

 

你可能感兴趣的文章
DM***的第二阶段OSPF
查看>>
python socket编程
查看>>
20180702搭建青岛RAC记录
查看>>
安装部署TIDB分布式数据库
查看>>
Spring Security OAuth 实现OAuth 2.0 授权
查看>>
linux文件及简单命令学习
查看>>
dubbo源码分析-架构
查看>>
新 Terraform 提供商: Oracle OCI, Brightbox, RightScale
查看>>
6套毕业设计PPT模板拯救你的毕业答辩
查看>>
IT兄弟连 JavaWeb教程 JSP与Servlet的联系
查看>>
Windows phone 8 学习笔记
查看>>
linux并发连接数:Linux下高并发socket最大连接数所受的各种限制
查看>>
洛谷——P2176 [USACO14FEB]路障Roadblock
查看>>
详解区块链中EOS的作用。
查看>>
我的友情链接
查看>>
mysql-error 1236
查看>>
sshd_config设置参数笔记
查看>>
循序渐进Docker(一)docker简介、安装及docker image管理
查看>>
jsp页面修改后浏览器中不生效
查看>>
大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(四)高效的后台权限判断处理...
查看>>