adb输入文本(adb 输入)
本篇文章给大家谈谈adb输入文本,以及adb 输入对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Android—ADB命令
- 2、按键精灵设置英文输入
- 3、Android ADB 怎么操作手机剪贴板,如何读取和写入剪贴板内容
- 4、Adb Shell输入带空格的文本串
- 5、android 基本文件操作命令
Android—ADB命令
1、查看最上层成activity名字:
adb shell dumpsys activity | findstr "mFocusedActivity"
或者 adb shell dumpsys window w | findstr / | findstr name=
2、查看Activity的任务栈:
3、显示所有的activities的信息,包括任务栈等:
adb shell dumpsys activity
4、查看Android应用包名package和入口activity名称 :
aapt dump badging E:\apk\es3.apk
5、显示accounts信息:
adb shell dumpsys account
5、显示CPU信息 :
adb shell dumpsys cpuinfo
查看CPU使用信息
adb shell top -n 1 -d 0.5 | findstr proc_ id
6、显示键盘,窗口和它们的关系
adb shell dumpsys window
当我们需要知道设备的分辨率时
adb shell dumpsys window displays
查看UI绘制带姿核的各个层级信息
adb shell dumpsys SurfaceFlinger
7、显示wifi信息
adb shell dumpsys wifi
8、电量信息及CPU 使用时长
adb shell dumpsys batteryinfo $package_name
9、蠢掘获取安装包信息
adb shell dumpsys package packagename
10、每个应用的启动次数和册燃时间
adb shell dumpsys usagestats
11、显示状态栏相关的信息
adb shell dumpsys statusbar
12、内存信息(meminfo package_name or pid 使用程序的包名或者进程id显示内存信息)
adb shell dumpsys meminfo
得到com.teleca.robin.test进程使用的内存的信息 adb shell dumpsys meminfo com.teleca.robin.test
13、磁盘相关信息
adb shell dumpsys diskstats
14、电池相关信息
adb shell dumpsys battery
15、显示Alarm信息
adb shell dumpsys alarm
统计系统耗电量
adb shell dumpsys batterystats
设置线程的优先级
adb shell dumpsys activity|grep oom_adj
16、强制关闭一个应用程序;
adb shell am force-stop PACKAGE
17、查看内存信息
adb shell cat proc/meminfo
指定进程内存地址映射
adb shell cat proc/pid/maps
指定进程内存详细使用信息
adb shell cat proc/pid/smaps
VSS. RSS. PSS. USS 信息
adb shell procrank
指定进程VSS. RSS. PSS. USS 详细信息
adb shell procmem pid
18、查看可输入的设备
adb shell getevent -p
19、获得特定设备的输入信息
adb shell getevent /dev/input/event0
20、点击
adb shell input tap x y
21、发送按键
adb shell input keyevent 82(keycode)
22、输入文本
adb shell input text XXXX
23、查看报名中包含mobileqq的进程
adb shell ps | findstr mobileqq
24、远程进程ID
adb jdwp
25、获取序列号
adb get-serialno
26、重启到bootloader,即刷机模式
adb reboot bootloader
27、重启到recovery,即恢复模式
adb reboot recovery
28、获取机器MAC地址:
adb shell cat /sys/class/net/wlan0/address
29、获取CPU序列号
adb shell cat /proc/cpuinfo
30、覆盖安装(保留数据和缓存文件,重新安装apk)
adb install -r apkfile
31、安装apk到sd卡
adb install -s apkfile
32、卸载app但保留数据和缓存文件
adb uninstall -k package
33、查看设备cpu和内存占用情况
adb shell top
34、查看占用内存前6的app
adb shell top -m 6
35、刷新一次内存信息,然后返回
adb shell top -n 1
36、查询各进程内存使用情况
adb shell procrank
37、查看指定进程状态
adb shell ps -x [PID]
38、查看后台services信息
adb shell service list
39、查看当前内存占用(该方式只能得出系统整个内存的大概使用情况) 车
如果你想查看所有进程的内存使用情况
adb shell procrank
40、查看IO内存分区
adb shell cat /proc/iomem
41、查看wifi密码
adb shell cat /data/misc/wifi/*.conf
42、清除log缓存
adb logcat -c
43、查看设备信息
adb shell cat /system/build.prop
44、跑monkey
adb shell monkey -v -p your.package.name 500
45、列出目标设备上安装的所有app的包名
adb shell pm list packages
46、截屏命令:
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png
录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s:
adb shell screenrecord
限制视频录制时间为10s,如果不限制,默认180s:
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
指定视频分辨率大小:
adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
指定视频的比特率:
adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
在命令行显示log:
adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4
47、设置、获取属性信息
adb shell getprop [key]
adb shell setprop [key] [value]
监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
adb shell watchprops
48、adb logcat 每一条日志消息都有一个标记和优先级与其关联。
(1)标记是一个简短的字符串,用于标识原始消息的来源 (例如"View" 来源于显示系统)。优先级是下面的字符,顺序是从低到高:
V — 明细 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 严重错误
S — 无记载 (最高优先级,没有什么会被记载)
(2)查看过滤日志
adb logcat ActivityManager:I *:S
*:S 用于设置所有标记的日志优先级为S,可以确保输出符合指定的过滤器设置的一种推荐的方式,
这样过滤器就成为了日志输出的“白名单”
显示所有优先级大于等于“warning”的日志
adb logcat *:W
(3)日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通过修改输出格式来控制输出结果, -v 选项加上下面列出的内容可以控制输出字段:
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
使用 thread 输出格式
adb logcat -v thread
(4)Android日志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用-b 选项,以下是可以指定的缓冲区:
radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)
查看radio缓冲区
adb logcat -b radio
48、打印应用程序的log
adb logcat -b main -v timeapp.log
49、打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了
adb logcat -b radio -v time radio.log
50、打印系统事件的日志,比如触屏事件
adb logcat -b events -v time
51、tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓
adb shell tcpdump -s 10000 -w /sdcard/capture.pcap
52、状态信息,里面包含有dmesg,dumpstate和dumpsys
adb bugreportbugreport.log
53、kernel的log凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等吧)
adb shell dmesg ldmesg_kernel.log
54、dumpstate是系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等 。
adb shell dumpstate
55、关于系统service的内容都在这个里面
adb shell dumpsys
56、显示内存信息
adb shell dumpsys meminfo system
[img]按键精灵设置英文输入
adb键盘操作命令简单,但键盘键非常多,关于键码方面我会放到本文最后的附件中
adb原生命令:
adb.ini配置文件建议格式为:
按键精灵代码书写建议,关于启动adb及获取设备等代码在第一课中这里我不写了,免的代码长大家蒙圈:
二、输入文本
adb原生的输入文本不支持中文,适合大家应用账号密码方面,其原生命令为:
adb.ini配置文件格式建议为:
按键精灵代码书写建议,关于启动adb及获取设备等代码在第一课中这里我不写了,免的代码长大家蒙圈:
三、输入文本
本方法可以适用于中文及英文混合输入,但因为不是adb原生命令并且还要借助第三方输入法,所以很多谨慎的朋友都不想用。但我本人长期使用并未发现有什么问题所以把这个方法推荐给大家。
如感觉还是有些怕怕的,那么请不要使用。
第三方输入法余启为:ADBKeyBoard
大家可以自行获取其apk:(似乎可能大概八层也许差不多是要用梯子)
本章教学后我也给大家附加了下载地址
其原生命令为:
adb.ini配置竖做如文件格式建议为:
方法:
下载后的文件为:ADBKeyboard.apk
大家可以使用我前面介绍的安装apk的源码把应用安装到手机上,当然模拟器更胡悉没问题,安装后在手机的系统设置中找到输入法,如图:
选择输入法:
打开输入法设置为默认
打开你的微信试一下看看,我这里写的按键代码为:
效果:
Android ADB 怎么操作手机剪贴板,如何读取和写入剪贴板内容
ADB貌似不可以操作剪切板但是可以直接输入
adb shell
input text 你喊态要输信迹入的文本
另:如果是android程序的话,是可以读取和写入郑坦源剪切板的
Adb Shell输入带空格的文本串
使用州扮GNU Linux的 - sed的安装(大多数Linux机器提供它预宏迹灶装) - 你可以用sed来替换%s的空间。
adb shell input text $(echo "some text with spaces" | sed -e 's/蔽扮 /\%s/g')
some text with spaces就是你要输入的带空格的文本串。
注意:%-sign必须用\转义。
android 基本文件操作命令
ADB (Android Debug Bridge)
说明:下面一些命令需要有root权限才能执行成功
快键梁速启动dos窗口执行adb:
1. adb.exe所在路径添加到系统环境变量中
2. 配置快捷键启动dos
进入C:\WINDOWS\system32目录下,找到cmd.exe.
右击菜单 "发送到" - 桌面快捷方式。颤亮禅
在桌面上右击"快捷方式 到 cmd.exe" - "属性" - "快捷方式"页
- 光标高亮"快捷键" - 按下自定义快捷键 (如:Ctrl + Alt + Z)
任何情况下,按下Ctrl + Alt + Z启动dos窗口就可以执行adb命令了
-----------查看设备连接状态 系列-----------
adb get-serialno 获取设备的ID和序列号serialNumber
adb devices 查询当前计算机上连接那些设备(包括模拟器和手机),输出格式: [serialNumber] [state]
adb get-state 查看模拟器/设施的当前状态.
说明:
序列号[serialNumber]——由adb创建的一个字符串,这个字符串通过自己的控制端口type-consolePort
唯一地识别一个模拟器/设备实例。一个序列茄尘号的例子: emulator-5554
-----------发送命令到设备 系列-----------
adb [-d|-e|-s serialNumber] command
-d 发送命令给usb连接的设备
-e 发送命令到模拟器设备
-s serialNumber 发送命令到指定设备
如启动手机设备shell: adb -d shell
adb forward local remote发布端口,可以设置任意的端口号,
做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:8000
adb reboot 重启手机
adb remount 将system分区重新挂载为可读写分区
adb kill-server 终止adb服务进程
adb start-server 重启adb服务进程
adb root 已root权限重启adb服务
adb wait-for-device 在模拟器/设备连接之前把命令转载在adb的命令器中
adb jdwp 查看指定的设施的可用的JDWP信息.
可以用 forward jdwp:pid 端口映射信息来连接指定的JDWP进程.例如:
adb forward tcp:8000 jdwp:472
jdb -attach localhost:8000
adb shell am 命令可以启动应用程序
adb shell input text string 向设备输入文本(光标所在的文本框)
adb shell input keyevent event_code 向设备发送按键事件
如:
在编辑短信时,往文本框输入文本:adb shell input text "hello"
向手机发送键值回Home:adb shell input keyevent 3
event_code 参考view/KeyEvent.java中的 KEYCODE_*
public static final int KEYCODE_SOFT_LEFT = 1;
public static final int KEYCODE_SOFT_RIGHT = 2;
public static final int KEYCODE_HOME = 3;
public static final int KEYCODE_BACK = 4;
public static final int KEYCODE_CALL = 5;
public static final int KEYCODE_ENDCALL = 6;
-----------安装卸载 系列-----------
adb install [-l] [-r] file - push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
adb uninstall [-k] package - remove this app package from the device
('-k' means keep the data and cache directories)
如:
adb install d:\hello.apk
adb unstall com.huawei.hello
说明:如果带-r选项重新安装apk时,安装在 /data/local/tmp/目录下,手机重启后还是使用原来的apk.
-----------文件操作 系列-----------
adb push local remote - copy file/dir to device
adb pull remote local - copy file/dir from device
-----------基本linux shell命令 系列-----------
adb shell [command]
ls 列出目录下的文件和文件夹
cd 切换目录
rm 删除目录和文件
cat 查看文件内容
ps 可以看那个进程再跑
ps -x [PID] 查看单个进程的状态
top 可以看那个进程的占用率最高
su 切换到root用户
kill [pid] 杀死一个进程
chmod 777 file 修改该文件为可执行权限
详细使用情况可以登录一台Linux服务器在shell下查看帮助手册, man command
-----------查看系统状态和信息 系列-----------
adb shell procrank 查询各进程内存使用情况
adb shell service list 查看services信息
adb shell cat /proc/meminfo 查看当前的内存情况
adb shell cat /proc/cpuinfo 查看CPU信息(硬件)
adb shell cat /proc/iomem 查看IO内存分区
adb shell getprop 列出系统所有属性
adb shell getprop | findstr "gsm" 列出包含gsm的属性
adb shell setprop key value 修改系统属性
adb shell sqlite3 可以执行sql语句查看数据库信息, 具体使用情况待调查
-----------Log 系列-----------
adb logcat [ filter-spec ] - View device log
1~~~~~~~~~~~查看可用日志缓冲区:
adb logcat -b radio — 查看缓冲区的相关的信息.
adb logcat -b events — 查看和事件相关的的缓冲区.
adb logcat -b main — 查看主要的日志缓冲区
2~~~~~~~~~~~过滤日志输出:
过滤器语句按照下面的格式描tag:priority ... , tag 表示是标签, priority 是表示标签的报告的最低等级
adb logcat *:W 显示优先级为warning或更高的日志信息
adb logcat ActivityManager:I MyApp:D *:S
日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就是查看系统的标签).
优先级有下列集中,是按照从低到高顺利排列的:
V — Verbose (lowest priority)
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)
如果你电脑上运行logcat ,相比在远程adbshell端,你还可以为环境变量ANDROID_LOG_TAGS :输入一个参数来设置默认的过滤
export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"
需要注意的是ANDROID_LOG_TAGS 过滤器如果通过远程shell运行logcat 或用adb shell logcat 来运行模拟器/设备不能输出日志.
3~~~~~~~~~~~控制日志输出格式:
日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过 -v 选项得到格式化输出日志的相关信息.
brief — Display priority/tag and PID of originating process (the default format).
process — Display PID only.
tag — Display the priority/tag only.
thread — Display process:thread and priority/tag only.
raw — Display the raw log message, with no other metadata fields.
time — Display the date, invocation time, priority/tag, and PID of the originating process.
long — Display all metadata fields and separate messages with a blank lines.
当启动了logcat ,你可以通过-v 选项来指定输出格式:
[adb] logcat [-v format]
下面是用 thread 来产生的日志格式:
adb logcat -v thread
需要注意的是你只能-v 选项来规定输出格式 option.
4~~~~~~~~~~~Logcat命令列表
-b buffer 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
-c 清楚屏幕上的日志.
-d 输出日志到屏幕上.
-f filename 指定输出日志信息的filename ,默认是stdout .
-g 输出指定的日志缓冲区,输出后退出.
-n count 设置日志的最大数目count .,默认值是4,需要和 -r 选项一起使用。
-r kbytes 每kbytes 时输出日志,默认值为16,需要和-f 选项一起使用.
-s 设置默认的过滤级别为silent.
-v format 设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format
adb bugreport - return all information from the device
that should be included in a bug report.
adb shell dmesg 查询内核缓冲区信息
adb shell dumpstate 各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等
adb shell dumpcrash
adb shell dumpsys 查询所有service的状态
-----------其他 -----------
模拟器使用镜像sdcard
用SDK里的mksdcard工具来创建FAT32磁盘镜像并在模拟器启动时加载它。这样创建镜像:? mksdcard size file,
比如我要创建一个64M的SD卡模拟文件,文件路径是在D:\workspace\sdcard.img
mksdcard 64000000 D:\workspace\sdcard.img
Emulator –sdcard D:\workspace\sdcard.img
或者在eclipse的run菜单的open run dialog对话框中配置启动参数。
#top
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
-m num Maximum number of processes to display.
-n num Updates to show before exiting.
-d num Seconds to wait between updates.
-s col Column to sort by (cpu,vss,rss,thr).
-t Show threads instead of processes.
-h Display this help screen.
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID
T all processes on this terminal -s processes in the sessions given
a all w/ tty, including other users -t by tty
g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
r only running processes U processes for specified users
x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full --Group --User --pid --cols --ppid
-j,j job control s signal --group --user --sid --rows --info
-O,O preloaded -o v virtual memory --cumulative --format --deselect
-l,l long u user-oriented --sort --tty --forest --version
-F extra full X registers --heading --no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
netstat -ano 查看网络连状态
显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
-a 显示所有连接和监听端口。
-b 显示包含于创建每个连接或监听端口的
可执行组件。在某些情况下已知可执行组件
拥有多个独立组件,并且在这些情况下
包含于创建连接或监听端口的组件序列
被显示。这种情况下,可执行组件名
在底部的 [] 中,顶部是其调用的组件,
等等,直到 TCP/IP 部分。注意此选项
可能需要很长时间,如果没有足够权限
可能失败。
-e 显示以太网统计信息。此选项可以与 -s
选项组合使用。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程 ID。
-p proto 显示 proto 指定的协议的连接;proto 可以是
下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r 显示路由表。
-s 显示按协议统计信息。默认地,显示 IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
-p 选项用于指定默认情况的子集。
-v 与 -b 选项一起使用时将显示包含于
为所有可执行组件创建连接或监听端口的
组件。
interval 重新显示选定统计信息,每次显示之间
暂停时间间隔(以秒计)。按 CTRL+C 停止重新
显示统计信息。如果省略,netstat 显示当前
配置信息(只显示一次)
pm
usage: pm [list|path|install|uninstall]
pm list packages [-f]
pm list permission-groups
pm list permissions [-g] [-f] [-d] [-u] [GROUP]
pm list instrumentation [-f] [TARGET-PACKAGE]
pm list features
pm path PACKAGE
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
pm uninstall [-k] PACKAGE
pm enable PACKAGE_OR_COMPONENT
pm disable PACKAGE_OR_COMPONENT
The list packages command prints all packages. Options:
-f: see their associated file.
The list permission-groups command prints all known
permission groups.
The list permissions command prints all known
permissions, optionally only those in GROUP. Options:
-g: organize by group.
-f: print all information.
-s: short summary.
-d: only list dangerous permissions.
-u: list only the permissions users will see.
The list instrumentation command prints all instrumentations,
or only those that target a specified package. Options:
-f: see their associated file.
The list features command prints all features of the system.
The path command prints the path to the .apk of a package.
The install command installs a package to the system. Options:
-l: install the package with FORWARD_LOCK.
-r: reinstall an exisiting app, keeping its data.
-t: allow test .apks to be installed.
-i: specify the installer package name.
The uninstall command removes a package from the system. Options:
-k: keep the data and cache directories around.
after the package removal.
The enable and disable commands change the enabled state of
a given package or component (written as "package/class").
查看stdout 和stderr
在默认状态下,Android系统有stdout 和 stderr (System.out和System.err )输出到/dev/null ,
在运行Dalvik VM的进程中,有一个系统可以备份日志文件。在这种情况下,系统会用stdout 和stderr 和优先级 I.来记录日志信息
通过这种方法指定输出的路径,停止运行的模拟器/设备,然后通过用setprop 命令远程输入日志
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start系统直到你关闭模拟器/设备前设置会一直保留,可以通过添加/data/local.prop 可以使用模拟器/设备上的默认设置
UI/软件 试验程序 Monkey
当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,
它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件.
最简单的方法就是用用下面的命令来使用Monkey,这个命令将会启动你的软件并且触发500个事件.
$ adb shell monkey -v -p your.package.name 500
更多的关于命令Monkey的命令的信息,可以查看UI/Application Exerciser Monkey documentation page.
关于adb输入文本和adb 输入的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。