android_adb_shell常用脚本分析
adb shell相关操作
adb shell相关操作
adb shell是Android Debug Bridge (ADB) 工具的一部分,它允许开发人员通过命令行界面与Android设备进行交互。
以下是一些常见的adb shell相关操作:
1. 进入设备的shell环境:
```
adb shell
```
这将打开一个类似于终端的命令行界面,您可以在其中执行设备上的命令。
2. 运行设备上的命令:
在adb shell中,您可以运行任何适用于设备的命令。
例如,您可以运行以下命令来查看设备的文件列表:
```
ls
```
或者您可以运行以下命令以root权限运行命令:
```
su
```
3. 复制文件到设备:
```
adb push <本地文件路径> <设备目标路径>
```
这将把本地文件复制到设备上的指定路径。
4. 从设备复制文件到本地:
```
adb pull <设备路径> <本地目标路径>
```
这将从设备上指定路径复制文件到本地目标路径。
5. 安装应用程序:
```
adb install <应用程序路径>
```
这将安装位于本地路径上的应用程序到设备上。
6. 卸载应用程序:
```
adb uninstall <应用程序包名>
```
这将卸载设备上指定包名的应用程序。
这些是使用adb shell进行一些常见操作的示例。
通过使用adb shell,您可以与设备进行交互,并运行各种命令来进行开发和调试。
adb常用的几个命令 adbinstall
adb常用的几个命令 adbinstall ADB(Android Debug Bridge)是Android开发工具包(SDK)中的一个命令行工具,用于与Android设备进行通信和调试。
ADB常用的几个命令如下:1. adb devices:用于列出当前连接的Android设备列表。
当设备连接到计算机时,可以使用该命令来验证设备是否成功连接。
2. adb shell:用于在设备的shell环境下执行命令。
通过该命令可以获取设备的root权限,以便执行一些需要root权限的操作。
3. adb install:用于将应用程序安装到连接的Android设备上。
命令格式为“adb install <path_to_apk_file>”,其中<path_to_apk_file>为待安装的APK文件的路径。
4. adb uninstall:用于从连接的Android设备中卸载应用程序。
命令格式为“adb uninstall <package_name>”,其中<package_name>为待卸载应用程序的包名。
5. adb push:用于将文件从计算机复制到连接的Android设备中。
命令格式为“adb push <local_file> <device_path>”,其中<local_file>为计算机上的文件路径,<device_path>为目标设备中的路径。
6. adb pull:用于将文件从连接的Android设备中复制到计算机上。
命令格式为“adb pull <device_file> <local_path>”,其中<device_file>为设备上的文件路径,<local_path>为目标计算机上的路径。
7. adb logcat:用于查看设备的日志信息。
Android常用adb命令总结
Android常⽤adb命令总结针对移动端 Android 的测试, adb 命令是很重要的⼀个点,必须将常⽤的 adb 命令熟记于⼼,将会为 Android 测试带来很⼤的⽅便,其中很多命令将会⽤于⾃动化测试的脚本当中。
Android Debug Bridgeadb 其实就是Android Debug Bridge, Android 调试桥的缩写,adb 是⼀个C/S架构的命令⾏⼯具,主要由 3 部分组成:运⾏在 PC 端的 Client : 可以通过它对 Android 应⽤进⾏安装、卸载及调试Eclipse 中的 ADT、SDK Tools ⽬录下的 DDMS、Monitor 等⼯具,都是同样地⽤到了 adb 的功能来与 Android 设备进⾏交互。
PC 端的⼿机助⼿,诸如 360 ⼿机助⼿、豌⾖荚、应⽤宝等,其除了安装第三⽅应⽤⽅便,其他的功能,基本上都可以通过 adb 命令去完成,这⾥建议测试⼈员尽量不要在电脑上安装这类⼿机助⼿,因为其⾃带的 adb 程序可能会与 Android SDK下的 adb 程序产⽣冲突,5037端⼝被占⽤,导致使⽤ adb 命令时⽆法连接到设备运⾏在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程运⾏在 Android 设备上的 adb 后台进程执⾏adb shell ps | grep adbd,可以找到该后台进程,windows 请使⽤findstr替代 grep[xuxu:~]$ adb shell ps | grep adbdroot 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd这⾥注意⼀个地⽅,就是 adb 使⽤的端⼝号,5037,有必要记⼀下接下来我将 adb 命令分为三部分进⾏介绍,adb 命令、adb shell 命令、linux 命令adb 命令在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其⼀般的格式为:adb [-e | -d | -s <设备序列号>] <⼦命令>在配好环境变量的前提下,在命令窗⼝当中输⼊ adb help 或者直接输⼊ adb ,将会列出所有的选项说明及⼦命令。
androidadb实用命令小结
androidadb实⽤命令⼩结adb对于Android程序员来说在⽇常的⼯作中使⽤频率很⾼,现将⾃⼰⼯作中常⽤的adb命令总结⼀下备忘,⽅便查询,也供⼤家参考。
查看应⽤内存占⽤,耗电信息,启动时间,wakelock,跑monkey的命令在之前的应⽤性能优化中起了不⼩的作⽤。
以下adb命令的测试机器为⼩⽶3,其中package_name代表包名。
基础脚本:1、启动adb服务adb start-server2、终⽌adb服务adb kill-server3、进⼊adb运⾏环境adb shell4、获取帮助⾥⾯有adb的各种命令和参数的介绍adb help5、查看adb版本adb version6、以root权限重启adbadb root7、将system分区重新挂在为可读写分区,此命令在操作系统⽬录时很重要adb remount8、重启设备,可选参数进⼊bootloader(刷机模式)或recovery(恢复模式)adb reboot [bootloader|recovery]apk相关:1、安装apkadb install test.apk -r 覆盖安装,保留数据和缓存⽂件 -d 解决低版本version问题 -s 安装apk到sd卡2、卸载apkadb uninstall -k <package_name>可选参数-k的作⽤为卸载软件但是保留配置和缓存⽂件3、查看app相关所有信息,包括action,codepath,version,需要的权限等等信息adb shell dumpsys package <package_name>4、查看app的路径adb shell pm path <package_name>查看了⼀个普通app的路径,如下,位于data/app下⾯的普通apppackage:/data/app/com.tencent.test-1/base.apk5、查看apk的版本信息adb shell dumpsys package <package_name> | grep version如果你得到的是下图的两个version版本,则为系统app,下⾯是系统app本⾝的版本,上⾯是升级之后的系统app的版本信息versionCode=8 targetSdk=22 versionName=V0.08 versionCode=6 targetSdk=22 versionName=V0.06、启动activityadb shell am start -n <package_name>/.<activity_class_name>7、获得应⽤的启动时间,可以很⽅便地获取应⽤的启动时间adb shell am start -W <package_name>/.<activity_class_name>试验结果如下:adb shell am start -W .test/com.painter.test.PainterMainActivity Starting: Intent { act=android.intent.action.MAIN cat=[UNCHER] cmp=.test/com.painter.test.PainterMainActivity } Status: ok Activity: .test/com.pa 返回的⼏个结果,以WaitTime为准,返回的是从startActivity到应⽤第⼀帧完全显⽰的时间。
adb shell sed用法
sed(Stream Editor)是一个用于文本处理的流编辑器,常用于在命令行下对文本进行替换、删除、插入等操作。
在 Android 开发中,adb shell中的sed命令可以用于在设备上对文件或文本进行编辑。
以下是一些常见的adb shell sed的用法:
1. 替换文本:
这将在file.txt文件中将所有匹配到的old_text替换为new_text。
g表示全局替换。
2. 删除行:
这将删除包含匹配pattern_to_match的所有行。
3. 插入行:
这将在包含匹配pattern_to_match的行之前插入新行new_line_to_insert。
4. 追加行:
这将在包含匹配pattern_to_match的行之后追加新行new_line_to_append。
5. 在行首添加文本:
这将在每一行的行首添加prefix_text。
6. 在行尾添加文本:
这将在每一行的行尾添加suffix_text。
注意事项:
▪如果在adb shell中直接使用sed,需要使用单引号将sed命令包裹,以防止本地 Shell 对命令进行解释。
▪sed在 Android 设备上可能有一些轻微的差异,具体取决于设备上所使用的Shell 版本。
在较新的Android 版本中,通常会有支持常见sed功能的Shell。
▪如果要对文件进行直接编辑而不创建新文件,可以使用-i选项,但在某些Android 设备上可能需要指定备份扩展名,例如-i.bak。
请根据实际需求选择适当的sed命令和选项。
adb shell ifconfig参数
adb shell ifconfig参数摘要:1.了解adb shell命令2.掌握ifconfig命令的作用和参数3.操作实例及解析正文:在Android开发过程中,ADB(Android Debug Bridge)是一个非常实用的工具,它可以帮助开发者与安卓设备进行通信和控制。
adb shell命令是ADB中的一种命令,可以让我们在设备上执行Linux命令。
而ifconfig命令是Linux系统中用于查看和配置网络接口的常用命令。
本文将介绍如何使用adb shell命令结合ifconfig命令来查看和管理安卓设备的网络接口。
一、了解adb shell命令ADB的全称是Android Debug Bridge,它是一个用于在计算机和安卓设备之间进行通信的命令行工具。
通过使用adb shell命令,开发者可以在计算机上执行Linux命令,从而实现对安卓设备的远程控制。
为了让ADB识别设备,需要在设备上启用USB调试功能。
二、掌握ifconfig命令的作用和参数ifconfig命令是Linux系统中用于查看和配置网络接口的命令。
它可以显示当前设备的网络接口信息,如IP地址、子网掩码、网关等。
同时,ifconfig 命令还可以用于配置网络接口,如更改IP地址、启用或禁用网络接口等。
ifconfig命令的主要参数如下:1.-a:显示所有网络接口的详细信息。
2.-v:显示详细信息,相当于“-a”参数。
3.-s:以汇总形式显示网络接口的统计信息。
4.-n:以数字格式显示网络接口的地址。
5.-o:仅显示网络接口的名称和状态。
6.-p:显示进程使用的网络接口。
7.-r:显示路由表信息。
8.-l:显示链路层地址。
三、操作实例及解析以下是一个使用adb shell命令和ifconfig命令的操作实例:1.将安卓设备连接到计算机上。
2.开启安卓设备的USB调试功能。
3.打开命令行窗口,输入以下命令:```adb shell```此时,计算机上会显示安卓设备的命令行界面。
adbshell常用命令(一)
adbshell常用命令(一)adb shell 里面有许多有用的命令可以帮助我们对android模拟器或设备进行操作首先进入adb shellC:\Users uxu>adb shellroot@xumin:/ #(一)基本的linux命令1.ls列出当前目录下的文件夹和文件,可以用ls -l或直接ll列出详细内容root@xumin:/ # lllldrwxr-xr-x root root 1970-01-28 13:48 acctdrwxrwx--- system cache 1970-01-28 08:03 cache -rwxr-x--- root root 268456 1970-01-01 08:00 charger dr-x------ root root 1970-01-28 13:48 configlrwxrwxrwx root root 1970-01-28 13:48 d -> /sys/kernel/debugdrwxrwx--x system system 2014-06-08 12:25 data2.pwd打印出当前所在的目录路径,在写脚本的时候会有用root@xumin:/system/app # pwdpwd/system/app3.cd切换目录"cd -" 切换到上次目录"cd .." 切换到上级目录"cd ../.."切换到上级的上级目录目录名较长时建议使用通配符"*",如cd到system目录:root@xumin:/ # cd sy*mcd sy*mroot@xumin:/system #4.cp复制文件,如复制当前目录下的xumin-song.mp3到当前目录下的tmp目录下:root@xumin:/storage/sdcard0 # cp xumin-song.mp3 ./tmp cp xumin-song.mp3 ./tmproot@xumin:/storage/sdcard0 # cd tmpcd tmproot@xumin:/storage/sdcard0/tmp # lslsxumin-song.mp35.mv移动文件或者文件夹,重命名。
ADB常用指令
ADB常用指令adb的全称为Android Debug Bridge,是管理android模拟器或者设备的一个工具,简单的说它就是一个调试工具。
以下是adb支持的常用命令: 1.选项指令(Options commands)(1)adb –d shell:仅通过USB接口管理adb,如果不只是USB接口返回错误(2)adb–e shell:仅通过模拟器来管理adb,如果不只是模拟器管理,返回错误(3)adb–s<serialNumber>:通过设备的允许的命令号码来发送命令来管理adb,没有指定号码,返回错误例如:adb–s 04035C1F18006014 shell(4)adb devices:查看所有连接的设备/模拟器(5)connect <host>[:<port>]以指定端口号连接设备(6)disconnect [<host>[:<port>]]与设备断开连接2.设备指令(device commands)(1)adb push <local><remote> :复制本地文件到设备上例如:adb push e:/folder /data/data(2)adb pull <remote> [<local>]:复制设备上的文件到本地例如:adb pull /data/data/folder e:(3)adb shell :登录设备的shell(4)adb shell <command> :登录设备的shell并执行command命令例如:adb shell ls(5)adbemu<command> :执行模拟器控制台命令(6)adblogcat [ <filter-spec> ] :查看设备的logcat,相当于eclipse上的logcat例如:adblogcatarcgallery:V表示输出TAG为arcgallery和级别在V以上的日志。
adb 常用 命令 总结 大全 汇总
adb 常用命令总结大全今天我们来总结一下Android Debug Bridge(adb)常用命令,adb 是Android开发中非常重要的一个工具,它可以帮助开发者与Android设备进行通信,进行调试以及管理设备上的应用程序。
了解adb的常用命令可以帮助开发者更高效地进行开发和调试工作。
下面就让我们来看一下adb的常用命令吧。
一、adb devices这是一个非常常用的命令,用于列出当前连接的Android设备。
执行该命令后,会显示设备的序列号以及设备状态(如device、offline 等)。
二、adb install该命令用于安装应用程序到Android设备上,需要指定应用程序的apk文件路径。
例如:adb install /path/to/your/app.apk三、adb uninstall与adb install相对应的是adb uninstall命令,用于从Android设备上卸载指定包名的应用程序。
例如:adb uninstall.example.app四、adb shell该命令用于进入设备的shell命令模式,可以在命令行中输入设备上的shell命令。
例如:adb shell五、adb push该命令用于将本地文件或目录推送到设备上的指定路径。
例如:adb push /path/to/local/file /path/to/device/file六、adb pull与adb push相对应的是adb pull命令,用于从设备上复制文件到本地。
例如:adb pull /path/to/device/file /path/to/local/file七、adb logcat该命令用于查看设备上的日志信息,可以通过各种参数来过滤日志内容,例如按标签过滤、按进程ID过滤等。
例如:adb logcatadb logcat -s TAG八、adb forward该命令用于设置端口转发,可以将设备上的指定端口转发到本地,用于调试设备上的网络服务。
adb shell常用命令
adb shell常用命令
以下是常用的adb shell命令:
1. cd:切换到指定目录
2. ls:列出当前目录下的内容
3. pwd:显示当前目录的路径
4. mkdir:创建一个新的目录
5. rm:删除指定文件或目录
6. mv:移动或重命名文件或目录
7. cp:复制文件或目录
8. touch:创建一个新的空文件
9. cat:显示文件的内容
10. vi或vim:编辑文件
11. ping:测试网络连接
12. ifconfig:查看网络信息
13. netstat:显示网络连接状态
14. ps:列出当前运行的进程
15. kill:结束指定的进程
16. top:实时显示系统资源使用情况
17. date:显示当前系统时间
18. cal:显示当前月份的日历
19. clear:清屏
20. exit:退出当前shell
需要注意的是,adb shell命令在操作系统中需要安装adb工具方可使用。
Android讲述执行怎样执行shell脚本
Android讲述执行怎样执行shell脚本Android 讲述执行怎样执行shell脚本1. 新建自己的shell文件,或者中windows上传例如: d:\\x.sh#! /system/bin/sh#最简单的一个shell,没什么功能#需要注意的是必须是 #! /system/bin/sh开头(有空格)#和一般linux不同,如果用#!/bin/sh就会找不到(因为没有)在cmd中用adb push d:\\x.sh /data/kenshin上传shell第一个参数是本地文件位置,第二个是远程位置(也就是放在Android中的位置),在根目录的data目录下,kenshin是我自己创建的一个文件夹. 如果失败了,说是只有只读权限的话,需要修改文件夹的权限.具体如下:进入adb shell,使用mount 命令查看挂了哪些块.Java代码:C:\Documents and Settings\Kenshintang>adb shell# mountmountrootfs / rootfs ro 0 0tmpfs /dev tmpfs rw,mode=755 0 0devpts /dev/pts devpts rw,mode=600 0 0proc /proc proc rw 0 0sysfs /sys sysfs rw 0 0tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0/dev/block/mtdblock0 /system yaffs2 ro,noatime,nodiratime 0 0/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0复制代码比如/dev/block/mtdblock0 /system就是只读的,/dev/block/mtdblock1 /data是读写的修改读写权限用mount命令例如mount -t yaffs2 -o remount,rw,noatime,nodiratime /dev/mtdblock0 /system-o选项用来描述设备或者档案的挂接方式,常用的有loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备具体的用法可以google linux命令mout的用法.上面那句话的意思就是让/system文件夹有读写的权限2. cd到shell所在的文件夹,查看x.sh的权限,一般上传上去的话是没有执行权限的,可以用ls -l查看使用chmod 777 x.sh增加权限,具体可以google chmod的用法.3. 执行 ./x.sh4. 如何在程序中执行shellJava代码:Java代码1.packageeoe.kenshin.hellocommand;2.3.4.5.importjava.io.BufferedReader;6.7.importjava.io.IOException;8.9.importjava.io.InputStream;10.11.importjava.io.InputStreamReader;12.13.importandroid.app.Activity;14.15.importandroid.os.Bundle;16.17.importandroid.widget.TextView;18.19.20.21.22.23.publicclassHelloCommandextendsActivity{24.25./**Calledwhentheactivityisfirstcreated.*/26.27.privateTextViewtv;28.29.30.31.@Override32.33.publicvoidonCreate(BundlesavedInstanceState){34.35.super.onCreate(savedInstanceState);36.37.setContentView(/doc/936181278.h tml,yout.main);38./doc/936181278.html,=(TextView)find ViewById(/doc/936181278.html,01);40.41.42.43.try{44.45.execCommand("./data/kenshin/x.sh");46.47.}catch(IOExceptione){48.49.//TODOAuto-generatedcatchblock50.51.e.printStackTrace();52.53.}54.55.}56.57.58.59.publicvoidexecCommand(Stringcommand)throwsIOExce ption{60.61.//startthelscommandrunning62.63.//String[]args=newString[]{"sh","-c",command};64.65.Runtimeruntime=Runtime.getRuntime();66.67.Processproc=runtime.exec(command);//这句话就是shell 与高级语言间的调用68.69.//如果有参数的话可以用另外一个被重载的exec方法70.71.//实际上这样执行时启动了一个子进程,它没有父进程的控制台72.73.//也就看不到输出,所以我们需要用输出流来得到shell执行后的输出74.75.InputStreaminputstream=proc.getInputStream();76.77.InputStreamReaderinputstreamreader=newInputStreamR eader(inputstream);78.79.BufferedReaderbufferedreader=newBufferedReader(inpu tstreamreader);80.81.//readthelsoutput82.83.Stringline="";84.85.StringBuildersb=newStringBuilder(line);86.87.while((line=bufferedreader.readLine())!=null){88.89.//System.out.println(line);90.91.sb.append(line);92.93.sb.append('\n');94.95.}97.98./doc/936181278.html,.setT ext(sb.toStr ing());100.101.//使用exec执行不会等执行成功以后才返回,它会立即返回102.103.//所以在某些情况下是很要命的(比如复制文件的时候)104.105.//使用wairFor()可以等待命令执行完成以后才返回106.107.try{108.109.if(proc.waitFor()!=0){110.111.System.err.println("exitvalue="+proc.exitValue());112.113.}114.115.}116.117.catch(InterruptedExceptione){118.119.System.err.println(e);120.121.}122.123.}124.126.。
android adb shell常用脚本分析
adb 其它常用命令
• ddms
启动ddms • adb reboot 重启 • dmesg 打印出内核的调试信息
Shell命令
• 1.adb shell
登陆shell
启动Activities
• am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...] [-n <COMPONENT>] [-D] [<URI>]
启动ADB服务
查看当前连接的设备
• adb devices
• 查看当前连接的设备, 连接到计算机的android设 备或者模拟器将会列表显示 输出信息格式为: [serialNumber] [state] $ adb devices List of devices attached emulator-5554 offline emulator-5556 device emulator-5558 device
• • • • • • V — 明细 (最低优先级) D — 调试 I — 信息 W — 警告 E — 错误 F — 严重错误
控制日志格式
• 日志消息在标记和优先级之外还有很多元数据字 段,这些字段可以通过修改输出格式来控制输出 结果, -v选项加上下面列出的内容可以控制输出 字段,比如adb logcat -v thread • brief — 显示优先级/标记和原始进程的PID (默认 格式) • process — 仅显示进程PID • tag — 仅显示优先级/标记 • thread — 仅显示进程:线程和优先级/标记 • raw — 显示原始的日志信息,没有其他的元数据 字段
通过ADBshell在Android上模拟点击事件(头疼)
通过ADBshell在Android上模拟点击事件(头疼)众所周知,Linux上可以通过sendEvent来模拟键盘或者鼠标点击事件。
而Android是基于Linux2.6平台的,所以也应该可以模拟点击事件,在很多网络文章中也有提到。
但是我在Motolola的Xoom,Android3.0系统上,试图通过adb -d shell sendevent /dev/input/event6 3 0 180adb -d shell sendevent /dev/input/event6 3 1 70adb -d shell sendevent /dev/input/event6 1 330 1adb -d shell sendevent /dev/input/event6 0 0 0adb -d shell sendevent /dev/input/event6 1 330 0adb -d shell sendevent /dev/input/event6 0 0 0来点击一个应用程序,发现无效。
但在模拟器的同一个位置是可以点击到的,所以怀疑有问题。
于是我分别用getevent来获取模拟器上点击的事件与在XOOM 上点击的事件,发现两者不同。
在模拟器上:得到的Event是 /dev/input/event0 3 0 180/dev/input/event0 3 1 70...........这6个事件在真机上,我用cat /proc/bus/input/devices对比了列出的内容,touchscreen是event6, 但是得到的event却是/dev/input/event6: 0003 0030 0000003c/dev/input/event6: 0003 0032 00000004/dev/input/event6: 0003 0035 000008b6/dev/input/event6: 0003 0036 000005ab/dev/input/event6: 0003 0034 000000f0/dev/input/event6: 0003 0039 00000000/dev/input/event6: 0000 0002 00000000/dev/input/event6: 0000 0000 00000000......等几十条事件我不明白,1. 为什么模拟器上点击一下只有固定6条格式,但是模拟器上出现了几十条2. 参考国内很多网络资料也说,用0003代表要控制绝对坐标,后面跟0或者1表示x或者y坐标,为什么这里却是更的0030,0032,0035,0036,0034,0039,0002这些信息??有哪位愿意指点,非常感谢附录:用cat获得的设备对应event信息# cat /proc/bus/input/devicescat /proc/bus/input/devicesI: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="compass"P: Phys=S: Sysfs=/devices/virtual/input/input0U: Uniq=H: Handlers=event0B: EV=5B: REL=3f8I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="accelerometer"P: Phys=S: Sysfs=/devices/virtual/input/input1U: Uniq=H: Handlers=event1B: EV=dB: REL=7B: ABS=100 7I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="max9635_als"P: Phys=S: Sysfs=/devices/virtual/input/input2U: Uniq=H: Handlers=event2B: EV=11B: MSC=8I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="gyroscope"P: Phys=S: Sysfs=/devices/virtual/input/input3U: Uniq=H: Handlers=event3B: EV=5B: REL=38I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="barometer"P: Phys=S: Sysfs=/devices/virtual/input/input4U: Uniq=H: Handlers=event4B: EV=9B: ABS=1000000I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="cpcap-key"P: Phys=S: Sysfs=/devices/virtual/input/input5U: Uniq=H: Handlers=event5 keyreset keyresetB: EV=3B: KEY=4 0 0 0 800 0 0 0I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="qtouch-touchscreen"P: Phys=S: Sysfs=/devices/virtual/input/input6U: Uniq=H: Handlers=event6B: EV=bB: KEY=400 0 4 0 0 0 0 0 0 0 0B: ABS=2750000 11030003I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="stingray-keypad"P: Phys=S: Sysfs=/devices/virtual/input/input7U: Uniq=H: Handlers=event7 keyreset keychordB: EV=3B: KEY=c0000 0 0 0。
ADB常用命令及路由器选择分析
常用工具指令
重启和进入Recovery、Rootloader模式 重启手机: adb reboot 进入Recovery: adb reboot recovery 进入Rootloader adb reboot bootloader
【DIRECTORY】
常用工具指令
关闭和启动ADB进程 模拟器在运行一段时间后,adb服务有可能(在Windows进程中
Company Logo
小技巧
FOR WATCHING
小技巧
利用脚本制作常用的ADB指令
ADB Devices 脚本制作
@echo off adb devices pause
OTA数据导出脚本制作
@echo off adb pull /system D:\OTAData\ pause
Company Logo
➢ 1.手机出现ANR无响应问题 ➢ 2.将故障手机连上电脑 ➢ 3.电脑端:开始→运行→输入cmd→回车→命令行中输入:
adb pull data/anr d:\ →回车,执行命令 ➢ 4.在我的电脑D盘根目录下找到anr文件夹,压缩后与aplog一
起上传jira附件或通过其他方式上传。
【DIRECTORY】
小技巧
1、使用脚本来编写基本命令
路由器选择分析 查看设备连接情况脚本 @echo off adb devices Pause
导OTA数据脚本
@echo off adb pull /system D:\OTAData\ pause
【DIRECTORY】
选择路由器的几个问题
1、价格越贵的一定越好? 2、品牌越高大上越好?
ADB中遇见的常见问题
FOR Some Question
adb常用命令总结
adb常用命令总结ADB(Android Debug Bridge)是一种用于与Android设备通信的命令行工具。
它提供了一系列常用的命令,用于调试和管理Android设备。
本文将总结一些常用的ADB命令,并对其功能和使用方法进行详细介绍。
一、连接设备1. adb devices:查看已连接的设备列表。
该命令用于确认设备是否成功连接到计算机。
2. adb connect <device>:连接到指定的设备。
需要知道设备的IP地址或主机名。
3. adb disconnect <device>:断开与指定设备的连接。
二、应用管理1. adb install <path_to_apk>:安装应用程序。
需要提供应用程序的APK文件路径。
2. adb uninstall <package_name>:卸载应用程序。
需要提供应用程序的包名。
3. adb shell pm list packages:列出已安装的应用程序包名。
4. adb shell pm clear <package_name>:清除指定应用程序的数据。
5. adb shell am start -n <package_name>/.<activity_name>:启动指定应用程序的指定活动。
6. adb shell am force-stop <package_name>:强制停止指定应用程序。
三、文件管理1. adb push <local> <remote>:将文件从计算机复制到设备。
需要提供本地文件路径和设备上的目标路径。
2. adb pull <remote> <local>:将文件从设备复制到计算机。
需要提供设备上的文件路径和本地目标路径。
3. adb shell ls:列出设备上当前目录的文件列表。
Android系统adb shell命令大全
Android系统在超级终端下必会的命令大全(一)busyboxBusyBox 是标准Linux 工具的一个单个可执行实现。
BusyBox 包含了一些简单的工具,例如cat 和echo,还包含了一些更大、更复杂的工具,例如grep、find、mount 以及telnet。
有些人将BusyBox 称为Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux 的许多工具和命令。
1、BusyBox 的诞生BusyBox 最初是由Bruce Perens 在1996 年为Debian GNU/Linux 安装盘编写的。
其目标是在一张软盘上创建一个可引导的GNU/Linux 系统,这可以用作安装盘和急救盘。
2、busybox的用法可以这样用busybox#busybox ls他的功能就相当运行ls命令最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能.#ln -s busybox ls#ln -s busybox rm#ln -s busybox mkdir然后分别运行这三个链接:#./ls#./rm#./mkdir就可以分别完成了ls rm 和mkdir命令的功能.虽然他们都指向同一个可执行程序busybox,但是只要链接名不同,完成的功能就不同,很多linux网站都提供busybox的源代码下载。
3、配置busyboxbusybox的配置程序和linux内核菜单配置方式简直一模一样.熟悉用make menuconfig 方式配置linux内核的朋友很容易上手.#cp busybox-1.00.tar.gz /babylinux#cd /babylinux#tar xvfz busybox-1.00.tar.gz#cd busybox-1.00#make menuconfig下面是需要编译进busybox的功能选项。
General Configuration应该选的选项Show verbose applet usage messagesRuntime SUID/SGID configuration via /etc/busybox.confBuild OptionsBuild BusyBox as a static binary (no shared libs)这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使它正常工作.Installation OptionsDon't use /usr这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向它的链接.其它选项都是一些linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了,配置好后退出并保存。
adb shell bugreport 使用
adb shell bugreport 使用摘要:1.adb shell bugreport 简介2.如何使用adb shell bugreport3.adb shell bugreport 参数详解4.实例演示5.注意事项正文:【1.adb shell bugreport 简介】adb shell bugreport 是一款实用的Android系统工具,它可以帮助用户快速生成bug报告,以便于开发者分析和解决问题。
通过使用adb shell bugreport,用户可以轻松地获取设备上的日志、崩溃堆栈等信息,为问题定位提供有力支持。
【2.如何使用adb shell bugreport】要使用adb shell bugreport,首先需要确保你的设备已经连接到电脑,并且安装了Android开发工具包(包括adb工具)。
以下是使用adb shell bugreport的简单步骤:1.打开命令行窗口,输入“adb devices”以查看已连接的设备列表。
2.选择需要生成bug报告的设备,输入“adb shell bugreport”命令。
3.等待命令执行完毕,你会看到生成的bug报告文件路径。
【3.adb shell bugreport 参数详解】adb shell bugreport 命令支持以下参数:-p:指定输出文件的路径。
-f:过滤特定日志级别(如:verbose、warning、error等)。
-n:不输出空行。
-c:清除之前的bugreport文件。
【4.实例演示】以下是一个使用adb shell bugreport的实际示例:1.将设备连接到电脑。
2.打开命令行窗口,输入以下命令:```adb shell bugreport -p /data/local/tmp/bugreport.txt -ferror,warning```这条命令会生成一个名为bugreport.txt的文件,其中只包含错误和警告级别的日志。
adb shell ifconfig参数
adb shell ifconfig参数摘要:1.了解adb shell命令2.掌握ifconfig命令的用法3.分析ifconfig命令的参数4.总结实用技巧正文:作为一名职业写手,今天我们将探讨如何在Android设备上使用adb shell命令来配置和监控网络接口。
本文将为你介绍adb shell命令中的一个重要子命令——ifconfig,以及它的相关参数和使用技巧。
一、了解adb shell命令首先,我们需要了解一下adb shell命令的作用。
ADB(Android Debug Bridge)是一个用于Android设备与计算机之间通信的工具。
通过使用adb shell命令,开发者可以远程登录到Android设备,执行shell 命令,以便更好地调试和配置应用程序。
二、掌握ifconfig命令的用法在Android设备上使用adb shell命令,可以进入一个类似Linux系统的环境。
在这个环境下,我们可以使用ifconfig命令来配置和监控网络接口。
ifconfig命令的的基本语法如下:```adb shell ifconfig [网络接口名称] [参数]例如,要查看名为eth0的网络接口的配置信息,可以执行以下命令:```adb shell ifconfig eth0```三、分析ifconfig命令的参数ifconfig命令支持多种参数,以下是一些常用参数的解释:1.-a:显示所有网络接口的配置信息。
2.-v:显示详细信息,相当于使用了“-a”和“-l”两个参数。
3.-l:使用分层显示格式,便于阅读。
4.-n:使用数字表示IP地址,而不是主机名。
5.-s:显示接口的统计信息。
6.-b:显示接口的绑定信息。
7.-t:显示接口的邻居信息。
四、总结实用技巧1.结合使用“-a”和“-s”参数,可以快速查看和分析所有网络接口的详细配置和统计信息。
```adb shell ifconfig -a -s```2.使用“-n”参数,可以方便地查看接口的IP地址、子网掩码和默认网关等网络参数。
[全]adb shell命令测试手机和模拟器的必会技术
adb shell命令测试手机和模拟器的必会技术* 查看设备adb devicesps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示若有多台安卓设备,可以通过在adb后面加上-s <设备id> 对指定设备进行装包、卸载等操作*启动adbadb start-server*关闭adbadb kill-server* 安装软件adb install <apk文件路径>* 卸载软件adb uninstall <应用进程名>*卸载app但保留数据和缓存文件adb uninstall -k<package>*重新启动识别adb reboot*重启到bootloader,即刷机模式adb reboot bootloader*重启到recovery,即恢复模式adb reboot recovery*从电脑上发送文件到设备adb push <本地路径> <远程路径>ps: 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)*从设备上下载文件到电脑adb pull <远程路径> <本地路径>ps: 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑*取得设备root权限adb remount*登录设备shelladb shelladb shell<command命令>ps: adb shell 后面加的是linux系统操作指令,也即直接运行设备命令, 相当于执行远程命令-查看手机产线版本adb shellcat/sys/devices/mx_tsp/appid-查看手机运营商版本adb shellcat/proc/lk_info/sw_version-查看手机是否加密adb shellcat/proc/lk_info/sec(返回0则非加密。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Monkey
• Monkey可以运行在模拟器里或实际设备中。它向 系统发送伪随机的用户事件流,实现对正在开发 的应用程序进行压力测试。 • 最简单的方法就是用下面的命令来使用Monkey, 这个命令将会启动你的软件并且触发50个事件。 • monkey -p packageName -v 50 • monkey -p com.android.settings -v 50
input text <string> input keyevent <event_code>
• top
常用adb shell命令
• • • • • ps ls df cat kill
访问数据库SQLite3
• adb shell sqlite3
pm
• • • • pm [list | path | install | uninstall] pm clear PACKAGE pm enable PACKAGE_OR_COMPONENT pm disable PACKAGE_OR_COMPONENT
• • • • • • V — 明细 (最低优先级) D — 调试 I — 信息 W — 警告 E — 错误 F — 严重错误
控制日志格式
• 日志消息在标记和优先级之外还有很多元数据字 段,这些字段可以通过修改输出格式来控制输出 结果, -v选项加上下面列出的内容可以控制输出 字段,比如adb logcat -v thread • brief — 显示优先级/标记和原始进程的PID (默认 格式) • process — 仅显示进程PID • tag — 仅显示优先级/标记 • thread — 仅显示进程:线程和优先级/标记 • raw — 显示原始的日志信息,没有其他的元数据 字段
ADB命令主要用途
• • • • 1.运行Android设备的shell(命令行) 2.管理模拟器或Android设备的端口映射 3.安装/卸载APK程序 4.计算机和Android设备之间上传/下载文件
启动和关闭ADB服务
• 1. adb kill-server
关闭ADB服务
• 2. adb start-server
adb 其它常用命令
• ddms
启动ddms • adb reboot 重启 • dmesg 打印出内核的调试信息
Shell命令
• 1.adb shell
登陆shell
启动Activities
• am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...] [-n <COMPONENT>] [-D] [<URI>]
• adb logcat > 文件名
将logcat信息保存在文件中
过滤日志输出
• 过滤器表达式的格式是tag:priority • adb logcat ActivityManager:I *:S • 标记是一个简短的字符串,用于标识原始 消息的来源 (例如"View" 来源于显示系统) • 优先级是下面的字符,顺序是从低到高:
Viewing Alternative Log Buffers
• Android日志系统为日志消息保持了多个循环缓 冲区,而且不是所有的消息都被发送到默认缓冲 区,要想查看这些附加的缓冲区,可以使用-b 选 项,以下是可以指定的缓冲区: • radio — 查看包含在无线/电话相关的缓冲区消息 • events — 查看事件相关的消息 • main — 查看主缓冲区 (默认缓冲区) • -b 选项的用法: • [adb] logcat [-b <buffer>]
启动ADB服务
查看当前连接的设备
• adb devices
• 查看当前连接的设备, 连接到计算机的android设 备或者模拟器将会列表显示 输出信息格式为: [serialNumber] [state] $ adb devices List of devices attached emulator-5554 offline emulator-5556 device emulator-5558 device
名词解释
• VSS - Virtual Set Size 虚拟耗用内存(包含共 享库占用的内存) • RSS - Resident Set Size 实际使用物理内存 (包含共享库占用的内存) • PSS - Proportional Set Size 实际使用的物理内 存(比例分配共享库占用的内存) • USS - Unique Set Size 进程独自占用的物理内 存(不包含共享库占用的内存)
• am start -n com.android.settings/com.android.settings.Settings • am start -a android.intent.action.CALL -d tel:88888888
常用adb shell命令
• • • • • getprop setprop <key> <value> service list getevent input
ADB概要
• Android 调试系统是一个面对客户服务系统,包 括三个组成部分: • 电脑上运行的客户端。 • 在你用于开发的机器上作为后台进程运行的服务 器。该服务器负责管理客户端与运行模拟器或设 备上的adb守护程序(daemon)之间的通信。 • 一个以后台进程的形式运行于模拟器或设备上的 守护程序(daemon)。
把pc上的文件或文件夹上传到设备 如:adb push foo.txt /sdcard/foo.txt
• 2. adb pull <远程路径> <本地路径>
把设备上的文件或文件夹下载到pc 如:adb pull system/app D:\apps
Logcat
• adb logcat
在命令行中显示调试信息
删除和浏览AVD设备
• android delete avd -n myandroid1.5 • android list avds
查看内存占用
• procrank
• 系统中各进程的内存使用快照,这里有PSS, USS,VSS,RSS。我们一般观察Uss来反映一 个Process的内存使用情况,Uss 的大小代表了只 属于本进程正在使用的内存大小,这些内存在此 Process被杀掉之后,会被完整的回收掉。
procrank
查看内存占用的脚本
安装和卸载APK程序
• adb install <apk文件路径>
将指定的apk文件安装到设备上
• adb uninstall <软件名>
卸载设备上的指定程序
• adb uninstall -k <软件名>
卸载程序但是保留其配置和缓存文件
上传和下载文件
• 1. adb push <本地路径> <远程路径>
adb 其它常用命令
• android
• • • •
•
•
启动SDK管理器 adb bugreport 查看bug报告 adb get-serialno 获取设备的序列号 adb root 获得Root权限 adb remount 将system分区从只读变成可读可 写(需要ROOT权限) android list targets 显示系统内所有的android平 台 android list avd 显示系统中所有模拟器
dumpsys
• 显示系统数据信息 • 如: dumpsys wifi 显示wifi信息 dumpsys cpuinfo 显示cpu信息 dumpsys meminfo uncher2 显示ndroid create avd -n myandroid1.5 -t 2
Linux 环境: 新建文件memory 内容为: while true; do adb shell procreep 1 d内存占用的脚本
• Windows环境: • 新建memory.bat
其中myandroid1.5表示AVD设备的名称。名称可 以任意设置,但不能和其他AVD设备冲突。2指建 立Android 1.5的AVD设备,如是1则表示Android 1.1的AVD设备,以此类推。
创建SD卡
• mksdcard -l sdcard 10MB sd.img
• 其中sdcard表示SD卡的卷标,10M表示SD卡的 大小,单位还可以是KB。但要注意,SD卡的大 小不能小于8MB,否则无法创建SD卡文件。 sd.img是SD卡的文件名。
直接选定设备来执行命令
• 当有多个设备连接时,可以用下面的命令 来直接选择执行命令的设备
adb [-d|-e|-s <serial Number>] <command> d:真机(多个设备中只有一个真机时适用) e:模拟器(多个设备中只有一个模拟器时适用) s:序列号 adb -d install helloWorld.apk adb -s emulator-5556 install helloWorld.apk