导航:首页 > 程序命令 > adbshell命令大全

adbshell命令大全

发布时间:2022-11-03 04:53:24

㈠ 如何在android程序中执行adb shell命令

步骤1:安装USB驱动下载并安装HTC完整驱动程序(http://shuajidown3.lexun.cn/articile/2013/7/3/HTCDriver3.0.0.021.exe)手机进入设置-应用程序-开发-USB调试,将第一个选项打钩选中。然后通过USB线连接电脑,提示安装驱动。步骤2:软件准备1、把ADB工具http://shuajidown3.lexun.cn/articile/2013/7/3/adb工具.rar

解压放到你的电脑系统盘的根目录下

现在就可以进行命令的操作了。

【常用adb shell命令】

1. 显示系统中全部Android平台:android list targets

2. 显示系统中全部AVD(模拟器):android list avd

3. 创建AVD(模拟器):android create avd --name 名称 --target 平台编号

4. 启动模拟器:emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)

5. 删除AVD(模拟器):android delete avd --name 名称

6. 创建SDCard:mksdcard 1024M ~/名称.img

7. AVD(模拟器)所在位置:linux(~/.android/avd) Windows(C:Documents and SettingsAdministrator.androidavd)

8. 启动DDMS:ddms

9. 显示当前运行的全部模拟器:adb devices

10. 对某一模拟器执行命令:abd -s 模拟器编号 命令

11. 安装应用程序:adb install -r 应用程序.apk

12. 获取模拟器中的文件:adb pull <remote> <local>

13. 向模拟器中写文件:adb push <local> <remote>

14. 进入模拟器的shell模式:adb shell

15. 启动SDK,文档,实例下载管理器:android

16. 卸载apk包:adb shellcd data/apprm apk包exitadb uninstall apk包的主包名adb install -r apk包

17. 查看adb命令帮助信息:adb help

18. 在命令行中查看LOG信息:adb logcat -s 标签名

19. adb shell后面跟的命令主要来自:源码systemcore oolbox目录和源码frameworksasecmds目录。

20. 删除系统应用:adb remount (重新挂载系统分区,使系统分区重新可写)。adb shellcd system/apprm *.apk

21. 获取管理员权限:adb root

22. 启动Activity:adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

23、发布端口:你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:8000

24、复制文件:你可向一个设备或从一个设备中复制文件,复制一个文件或目录到设备或模拟器上:adb push <source> <destination></destination></source>如:adb push test.txt /tmp/test.txt从设备或模拟器上复制一个文件或目录:adb pull <source> <destination></destination></source>如:adb pull /addroid/lib/libwebcore.so

25、搜索模拟器/设备的实例:取得当前运行的模拟器/设备的实例的列表及每个实例的状态:adb devices

26、查看bug报告:adb bugreport

27、记录无线通讯日志:一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:adb shelllogcat -b radio

28、获取设备的ID和序列号:adb get-proctadb get-serialno

29、访问数据库SQLite3adb shellsqlite3#cd system/sd/data //进入系统内指定文件夹#ls //列表显示当前文件夹内容#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件#rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹

㈡ 常用adb命令总结

前言

很早就想整理一下自己平时常用的一些adb命令,不仅为了便于以后查找,而且整理的过程自己又重新复习了一遍,但是当我开始在度娘一搜的时候,发现很多人已经写的非常详细了,尤其是当我发现了 这篇adb概括

心中一句NND,怎么可以写的这么详细,瞬间没了想写这篇文章的欲望,如果你点了链接发现确实很全,那么恭喜你可以关掉这篇了,哈哈哈。

我就不这么想的,虽然很全,但不是我常用的,因人而异,所以我就权当记笔记+替这哥们宣传了。

设备的状态有 3 种

常见的错误情况

-查看前台 Activity

最常用的就是启动指定的activity和发送指定的广播

操作指令 adb shell am start -n 包名/类名

启动默认浏览器打开一个网页

adb shell am start -a android.intent.action.VIEW -d http://testerhome.com

先停止目标应用,再启动

adb shell am start -s com.android.camera/.Camera

启动相机

adb shell am start -n com.android.camera/.Camera

启动设置

adb shell am start -n com.android.settings/com.android.settings.Settings

启动Wifi设置

adb shell am start -n com.android.settings/com.android.settings.wifi.WifiSettings

启动蓝牙设置

adb shell am start -n com.android.settings/com.android.settings.bluetooth.BluetoothSettings

其它的类似只要你能在manifest中找到配置的,都可以通过这种方法来调用

操作指令 adb shell am broadcast -a 广播名 --ei/es/ez 参数名 参数值 --ei/es/ez 参数名 参数值

--ei integer 值

--es String 值

--ez boolean 值

--ef float 值

--el long 值

例如之前写的
Android6.0 源码修改之Setting列表配置项动态添加和静态添加 , 当中就通过发送广播来接收增加配置列表项

adb shell am broadcast -a cn.dynamic.add.settingcategoryitem --es location "0-2" --es title "红" --es intent "com.android.settings.SCHEDULE_POWER_ON_OFF_SETTING"

命令:

adb shell settings put global policy_control <key-values>
<key-values> 可由如下几种键及其对应的值组成,格式为 key1=value1:key2=value2。

key 含义

这些键对应的值可则如下值用逗号组合:

value 含义

例如:

adb shell settings put global policy_control immersive.full=*
表示设置在所有界面下都同时隐藏状态栏和导航栏。(重启也不会失效,恢复需调用下面的命令)

adb shell settings put global policy_control immersive.preconfirms=*
表示恢复显示

adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
表示设置在包名为 com.package1 和 com.package2 的应用里隐藏状态栏,在除了包名为 com.package3 的所有应用里隐藏导航栏。

参考链接

Android 常用 adb 命令总结

ADB命令大全

㈢ android apk 怎么执行adb shell命令

Android中执行adb shell命令的方式如下:

/**
* 执行一个shell命令,并返回字符串值
*
* @param cmd
* 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"})
* @param workdirectory
* 命令执行路径(例如:"system/bin/")
* @return 执行结果组成的字符串
* @throws IOException
*/
public static synchronized String run(String[] cmd, String workdirectory)
throws IOException {
StringBuffer result = new StringBuffer();
try {
// 创建操作系统进程(也可以由Runtime.exec()启动)
// Runtime runtime = Runtime.getRuntime();
// Process proc = runtime.exec(cmd);
// InputStream inputstream = proc.getInputStream();
ProcessBuilder builder = new ProcessBuilder(cmd);
InputStream in = null;
// 设置一个路径(绝对路径了就不一定需要)
if (workdirectory != null) {
// 设置工作目录(同上)
builder.directory(new File(workdirectory));
// 合并标准错误和标准输出
builder.redirectErrorStream(true);
// 启动一个新进程
Process process = builder.start();
// 读取进程标准输出流
in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
result = result.append(new String(re));
}
}
// 关闭输入流
if (in != null) {
in.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result.toString();
}

android系统底层采用的是linux,所以adb这样的linux指令是可以在java代码中调用的,可以使用ProcessBuilder 这个方法来执行对应的指令。还可以通过如下方式执行:

Process p = Runtime.getRuntime().exec("ls");
String data = null;
BufferedReader ie = new BufferedReader(new InputStreamReader(p.getErrorStream()));
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String error = null;
while ((error = ie.readLine()) != null
&& !error.equals("null")) {
data += error + "\n";
}
String line = null;
while ((line = in.readLine()) != null
&& !line.equals("null")) {
data += line + "\n";
}

Log.v("ls", data);

㈣ 如何启动adb shell命令

启动adb shell命令的方法:

其实我倒建议你这几个东东可以不用放在System32下面,放在一个好记的路径下面,然后在命令行里面进入这个目录运行就可以了。
如:
1. 放在E:\adb目录下;
2. 开始->运行(或者Win + R),CMD回车,进入命令行环境;
3. 输入e:回车,然后输入cd adb 回车;
4. 运行adb shell即可

或:进入命令行环境后输入 e:\adb\adb shell也可。

放在System32下面的目的只是为了让Windows系统可以自动识别为全局命令,但这一招在64位系统和一些经过优化的系统上是不可以使用的;最上面的方法反而比较简单。

用adb shell命令控制android软件的启动的方法:

需要知道要启动软件的主activity,然后adb shell am start -n 包名/.MainActivity

参考资料:

adb shell 命令详解

http://www.open-open.com/lib/view/1327557366686

㈤ 如何启动adb shell命令

  1. 打开winows菜单,输入cmd命令,点击确定,进入命令模式下。

  2. 输入命令 D:(这里输入的D表示你的sdk存放的盘下)

  3. 然后回车输入cd

  4. 然后选择你sdk路径,复制路径。

  5. 鼠标点击cmd,选择编辑,选择粘贴 将复制的路径粘贴到

  6. 然后输入命令adb start-service 打开adb。

  7. 出现如图所示,表示adb服务开启成功,就可以使用adb命令了。

㈥ 常用的adb命令

Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互,被称为Android 调试桥。
它是一种客户端-服务器程序,包括以下三个组件:

adb shell 命令
adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下

monkey命令

当您启动某个 adb 客户端时,该客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 - 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 - 用于控制台连接的偶数号端口和用于 adb 连接的奇数号端口。例如:

模拟器 1,控制台:5554
模拟器 1,adb:5555
模拟器 2,控制台:5556
模拟器 2,adb:5557
依此类推

如上所示,在端口 5555 处与 adb 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。

服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb 客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。

要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试 (位于 开发者选项 下)。

在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状态。如需将其显示出来,请依次转到 设置 > 关于手机 ,然后点按 版本号 七次。返回上一屏幕,在底部可以找到 开发者选项
在某些设备上,“开发者选项”屏幕所在的位置或名称可能有所不同。
执行 adb devices 验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。

一般情况下,adb 通过 USB 与设备进行通信,但您也可以在通过 USB 完成一些初始设置后,通过 WLAN 使用 adb,如下所述。

如果 adb 连接断开:

如果有多个设备在运行,您在发出 adb 命令时必须指定目标设备。为此,请使用 devices 命令获取目标设备的序列号。获得序列号后,请结合使用 -s 选项与 adb 命令来指定序列号。如果您要发出很多 adb 命令,可以将 $ANDROID_SERIAL 环境变量设为包含序列号。如果您同时使用 -s 和 $ANDROID_SERIAL , -s 会替换 $ANDROID_SERIAL 。

$ adb -s emulator-5555 install helloWorld.apk
注意 :如果您在多个设备可用时发出命令但未指定目标设备,adb 会生成错误。
如果有多个可用设备,但只有一个是模拟器,请使用 -e 选项将命令发送至该模拟器。同样,如果有多个设备,但只连接了一个硬件设备,请使用 -d 选项将命令发送至该硬件设备。

使用 forward 命令设置任意端口转发,将特定主机端口上的请求转发到设备上的其他端口。以下示例设置了主机端口 6100 到设备端口 7100 的转发:

>adb forward tcp:6100 tcp:7100

您可以使用 pull 和 push 命令将文件复制到设备或从设备复制文件。与 install 命令(仅将 APK 文件复制到特定位置)不同,使用 pull 和 push 命令可将任意目录和文件复制到设备中的任何位置。

如需从设备中复制某个文件或目录(及其子目录),请使用以下命令:

adb pull remote local
如需将某个文件或目录(及其子目录)复制到设备,请使用以下命令:

adb push loca remote

adb kill-server

您可以使用 shell 命令通过 adb 发出设备命令,也可以启动交互式 shell。如需发出单个命令,请使用 shell 命令,如下所示:

adb [-d |-e | -s shell shell_command

在 adb shell 中,您可以使用 Activity 管理器 ( am ) 工具发出命令以执行各种系统操作,如启动 Activity、强行停止进程、广播 intent、修改设备屏幕属性,等等。在 shell 中,相应的语法为:
您也可以直接从 adb 发出 Activity 管理器命令,无需进入远程 shell。例如:

adb shell am start -a android.intent.action.VIEW

㈦ 面试的时候被问到,测试过程中常用的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连接手机

【主要方式】

主要是通过adb命令进行链接手机或者查看手机连接的状态。

【原理】

通过指令或者查看连接状态确定是否开启手机连接状态。

【实现步奏】

通过usb连接电脑,注意一定要把360等手机助手关闭退出,这些软件会占用adb的使用。

然后打开cmd,adb devices 查看手机是否连接电脑。

㈨ 什么是adb命令行

adb命令行是androidsdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的android设备(如G1手机),它的主要功能有:

1、运行设备的shell(命令行)

2、管理模拟器或设备的端口映射

3、计算机和设备之间上传/下载文件

4、将本地apk软件安装至模拟器或android设备

ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。

(9)adbshell命令大全扩展阅读:

常用命令

1. 查看设备 *adbdevices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2. 安装软件

*adbinstall <apk文件路径>

这个命令将指定的apk文件安装到设备上

3. 卸载软件

*adbuninstall <软件名>

*adbuninstall -k <软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件。

4. 登录设备shell

*adbshell

*adbshell <command命令>

这个命令将登录设备的shell。

后面加<command命令>将是直接运行设备命令,相当于执行远程命令。

5. 从电脑上发送文件到设备

*adbpush <本地路径> <远程路径>

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)。

㈩ 常用的adb命令

在平时的工作中,会经常用到adb命令,在这里稍微整理了一下。

一.概要

1.什么是adb?

adb全称为Android Debug Bridge,就是起到调试桥的作用。顾名思义,adb就是一个debug工具。

2.adb工作原理

不是很理解?那就来看看它的工作原理吧。

上图是一个简单的adb工作原理图。adb客户端服务器端程序,由上图可以看出它主要三个组件组成:Client,Server,Daemon。

(1)当你启动一个adb Client(客户端),Client首先会选确认是否已有一个adb

Server(服务器)进程在运行,如果没有,则会启动Server进程。此时,adb Server就会绑定本地的TCP端口5037,并监听adb

Client发来的命令。

(2)接着,Server将会扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备,并与之建立连接。一旦Server找到

了adb

daemon(守护程序),它将建立一个到该端口的连接,这样,我们就可以使用adb命令控制和访问模拟器或设备了。在这里,需注意的是任何模拟器或设备实例会取得两个连续的端口:一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接。

3.adb的作用

借助adb工具,我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。简而言之,adb就是连接Android手机和PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

二.常用命令

这个部分主要介绍adb的使用方法和一些常用的命令。

设置adb环境:将android sdk工作目录添加到系统环境变量中,则可使用adb命令了。

1. adb devices

查看当前连接的设备(连接计算机的Android设备或者模拟器)。

2.adb install

adb install <apk文件路径>,将指定的apk安装到设备上,安装的apk包会放在/data/app目录下。

几个参数:

-r 强制安装

-d(真机,多个设备中只有一个真机时适用)

-e(模拟器,多个设备中只有一个模拟器时适用)

-s(指定设备,后接序列号)

adb –s 44a188f9 install –r test.apk(其中44a188f9即序列号,通过adb devices可获取)

3.adb uninstall

adb uninstall <apk包名>

adb uninstall –k <apk包名>

-k参数为卸载软件时保留配置和缓存文件

4.adb reboot

重启android设备

5.adb shell

通过adb shell 命令,就可以进入设备或者模拟器的shell环境了,在这个Linux shell中,我们就可以执行各种Linux命令了。

如果只想执行一条shell命令,就可以采用:adb shell [shell_command]

在实际使用中,经常与grep或findstr一起使用,起到过滤作用,查看自己需要的关键信息。

6.adb shell su

前提手机已经root。获取adb shell的root权限。

使用su提权,用户命令提示符有$变成#,如果手机没有root,会提示su:permission denied。

7.adb shell ps/top

查看当前终端中的进程信息,如pid等。

8.adb shell am/pm

am全称为activity manager,可使用am命令模拟各种系统的行为,如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等。

如:adb shell am start <apk包名>/<activityName>:启动一个activity。

pm全称为package manager,利用pm命令可模拟android行为或查询设备上的应用等。

如:adb shell pm list packages

列出当前设备所有已安装的程序的包名。

说明:

管道符“|”:可以把标准的输入流与标准的输出流进行合并,或者把某个命令的标准输出流作为另一个命令的标准输入流。

exit退出shell。

由于grep为linux命令,运行单条adb shell 时并没有进入linux

shell环境,并不能用grep等其他linux命令,只能用window cmd的命令。在这里可以用findstr来代替grep,使用方法为

findstr/grep [keyword]

更详细的内容可查看 参考文献3 和 参考文献4 。

对于常用的linux命令和常用的windows 控制台命令,以后再作总结。

9.adb pull 和 adb push

adb pull <设备中的文件路径> <本地路径>:从模拟器或设备中复制文件到本地。

adb push <本地文件路径> <设备中的路径>:将本地文件或目录复制到模拟器或设备。

这里还涉及到一个权限的问题,在后续的博文中再作介绍。

10.adb shell mpsys

Android提供的mpsys工具用于查看感兴趣的系统服务信息与状态。

参考下表:

11.adb shell monkey

跑monkey是android自动化测试的一种手段,所谓monkey测试就是模拟用户的按键输入,触摸屏输入,手势输入等。当Monkey程序在模拟器或设备运行的时候,如果用户比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey的随机重复的方法对apk作压力测试,来测试android

app的稳定性。

如下为测试腾讯新闻apk的一个简单实例:

说明:第一个-s指定设备,如果只连接了一台设备,可不用该参数。

-p <apk包名>只允许系统启动指定的app,如果不指定,将允许系统启动设备中的所有app,也可指定多个包。

--throttle <毫秒数> 指定用户操作(事件)间的时延。

--ignore-crashes 指定当应用程序崩溃时,Monkey依然发送事件,直到事件计数完成。

--ignore-timeouts 当应用程序发生ANR错误时,Monkey依然会发送事件,直到事件计数完成。

第2个-s,用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

-v 用于指定反馈信息级别,总共分为level 0、level 1、level 2三个级别,级别越高,输出的日志越详细。

最后的数字(这里是500):表示Monkey程序模拟500次随机用户操作事件。

>输出测试结果到D:\monkeylog.txt

更详细的参数可查看 参考文献5 。

部分测试结果如下:

对于测试结果的分析,通过搜索关键词来定位错误,主要包括以下四个方面:

1)ANR(Application Not

Response):程序无响应,一般主线程超过5秒没处理就会出现ANR错误。通过搜索ANR关键词来定位关键的事件信息。除了导出日志外,还可以将/data/anr/目录下的trace.txt文件导出,用来定位分析问题。使用>adb

pull /data/anr/trace.txt d:\ 将trace.txt文件导出到d盘。

2)ForceClosed或其他异常退出信息:通过搜索Fatal关键词来定位。

3)崩溃问题:通过搜索Exception关键词来定位。

4)发生异常后,通过搜索Crash关键词来定位到详细的堆栈信息。

 12.kill

kill用来中止一个进程。

比如我们在跑monkey的时候,怎么强制关闭monkey呢,可以用kill <monkey进程PID>

说明:另开启一个cmd,找到monkey的pid号,然后杀掉即可。

参考文献:

1.Android调试桥: http://www.iteye.com/topic/260042

2.Android性能分析工具mpsys的使用: http://www.open-open.com/lib/view/open1405061994872.html

3.adb shell 中的am pm命令: http://www.android100.org/html/201312/09/4957.html

4.adb shell 启动应用程序的方法: http://blog.chinaunix.net/uid-26997997-id-3350449.html

5.Monkey压力测试详解: http://blog.csdn.net/huangbiao86/article/details/8490743

阅读全文

与adbshell命令大全相关的资料

热点内容
文件系统pdf 浏览:760
原神安卓区服什么意思 浏览:34
贝壳app怎么线上发布 浏览:157
如何挑选安卓系统机顶盒 浏览:53
安卓快充使用有什么注意事项 浏览:909
黑马程序员的云计算网课 浏览:946
endnotestyle文件夹怎么导入 浏览:460
讲解少儿编程演讲会开头 浏览:424
思科交换机基础命令 浏览:497
便签可以设置加密吗 浏览:339
免费漫画app怎么看书 浏览:27
华为笔记本电脑怎么安装抖音app 浏览:412
阿里云国际版试用的服务器怎么搞 浏览:895
java正则表达式工具 浏览:160
oa服务器怎么设置ftp 浏览:10
安卓如何安装obb 浏览:442
QQ聊天记录journal文件夹 浏览:118
苹果公司云服务器地址 浏览:85
加密记事本手机 浏览:437
汽车压缩机变频阀 浏览:95