
重启:adb reboot
推文件:adb push E:\xxxtxt storage/sdcard
拉文件:adb push storage/sdcard
将日志保存到电脑文件: adb logcat > xxx xxx电脑文本地址
清除指定应用的数据和缓存:adb shell pm clear 例:adb shell pm clear comyzltest
查看日志缓冲区大小:adb shell logcat-g
设置日志缓冲区大小:adb logcat-G10M
打开蓝牙:adb shell svc bluetooth enable
关闭蓝牙:adb shell svc bluetooth disable
查询蓝牙是否打开:adb shell settingsgetglobalbluetooth_on
获取蓝牙Mac地址:adb shell settingsgetsecure bluetooth_address
获取某个包名的安装路径:adb shell pm path comxxxx
查看所有存活的进程:adb shell ps
过滤关键字查看adb shell ps|findstr xxx
强制安装版本号更低的apk:adb install -r -d "C:\xxapk"
对指定应用进行500次模拟触摸事件:adb shell monkey -p comyzltest -v 500
查看某个apk的应用信息、版本信息:adb shell dumpsys package comyzltest
查看已安装应用列表:adb shell pm list package或adb shell pm list packages-s
Android 调试桥 (adb) ,可与设备进行通信。adb 命令可用于执行各种设备 *** 作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
客户端: 用于发送命令。客户端在开发机器上运行。可以通过发出 adb 命令从命令行终端调用客户端。(可以通过它对Android应用进行安装、卸载、调试)
PC上的手机助手基本都是通过adb命令去完成的。有时候装了这类手机助手的话,它自带的adb程序可能会与Android SDK下的adb程序产生冲突,5037端口被占用,导致adb命令无法连接到设备。Windows下通过netstat -ano|findstr "5037"
守护程序 (adbd): 用于在设备上运行命令。守护程序在每个设备上作为后台进程运行
执行adb shell ps | grep adbd, 可以找到该后台进程,Windows使用findstr替代grep
adb nodaemon server
服务器(Service): 用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行
adb服务启动后,Windows可以在任务管理中找到adbexe; linux ps -ef | gref adb 可以查看service
一般都是通过这样子的格式 adb [-d|-e|-s <设备序列号>] <子命令>
通常只有一台设备就忽略 [-d|-e|-s ] 这一部分
这里介绍一些常用的命令:
获取设备列表及设备状态
获取设备的状态
注意:设备的状态有 3 钟,device , offline , unknown
device:设备正常连接
offline:连接出现异常,设备无响应
unknown:没有连接设备
结束 adb 服务
启动 adb 服务
注意:通常两个命令一起用,有时候我们开启server会失败,这是因为我们装了的手机助手,豌豆荚或者其他软件自带有自己的adb,导致端口冲突开启失败。一般在连接出现异常,使用 adb devices 未正常列出设备, 设备状态异常时使用 kill-server,然后运行 start-server 进行重启服务。
打印 Android 的系统日志
打印 dumpsys、dumpstate、logcat 的输出,也是用于分析错误输出比较多
打印日志后重定向到一个文件中
安装应用,覆盖安装是使用 -r 选项
注意:有些adb版本无法支持安装中文的apk
查看手机应用包名
查看应用对应的apk文件在手机上的安装位置则可以在上面的命令后加-f参数
卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名
'-k' means keep the data and cache directories , -k 选项,卸载时保存数据和缓存目录
将 Android 设备上的文件或者文件夹复制到本地
adb pull /sdcard/testtxt C:\Users\Administrator\Desktop\log
推送本地文件至 Android 设备
获取连接到的手机的序列号
获取设备的连接状态
等待设备连接成功
该命令将会阻塞一直到默认连接的那部机器状态变为device,也就是连接成功。
其实adb shell命令就是调用的是Android设备中的system/bin目录下的命令。
Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行。
如何在手机中执行Shell命令?
每次都加上adb shell来进行命令的发送与执行
先通过adb shell进入手机Shell执行状态,然后直接输入Linux命令。
使一个apk处于禁用状态,相当于卸载了:
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 comUCMobile/mainUCMobile
eg:adb shell su disable comUCMobile/mainUCMobile
同时我们在手机上发现,UC浏览器的图标不见了
让一个apk从禁用状态恢复过来
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 comUCMobile/mainUCMobileeg:
adb shell su enable comUCMobile/mainUCMobile
同时我们从手机上发现,UC浏览器的图标又出现了。
查看一个apk所在的路径
adb shell pm path comUCMobile
查看手机中装的所有的包
屏幕开始录像并且储存到/sdcard中,同时名字为demomp4
录屏设置时长10s,命名为demomp4
注意:现在仅支持一部分手机录屏,不支持的手机会出现以下提示
解决方法:
安装了scrcpy之后,只需要输入如下命令,即可录取指定设备的屏幕
scrcpy -s device --render-expired-frames -Nr /demopm4
--render-expired-frames:尽可能最大帧率
-N:不在PC端展示
-r:录制mp4/mkv文件
关闭设备请求,开启设备
设备关机以及重启
pm(package manager)可以获取一些安装到Android设备上的app的信息
pm list packages 用法:list packages [ options] filter
获取所有的应用的包名
列出系统应用
列出第三方应用
查看它们的关联文件
adb shell pm list package -f
查看软件包的安装来源
pm dump 包名 很多dump信息
安装应用
apk如果在电脑用 adb install
如果在Android设备上用 adb shell pm install
卸载应用,同adb uninstall ,后跟包名
清除应用数据
am(activity manager,字面意思就跟activity有关,大家都知道Android的界面都是由一个个activity显示的)
启动一个Activity
获取到package和launch_activity
AndroidSDK中aapt工具,检索命令结果,可以获取到package和launch_activity
这里涉及到一个点,如何找到程序的入口,首先你要知道是哪个activity才能启动;
启动华为系统相机
打开音乐播放器
播放指定音乐:
先停止目标应用,再启动
等待应用完成启动
启动网页(androidintentactionVIEW具体参考Android官网)
结束应用
input
模拟输入,向获得焦点的EditText控件输入内容
返回主界面
发送一个点击 *** 作的指令,参数是<x> <y>坐标
从左往右滑动屏幕, /从 100 100 经历300毫秒滑动到 200 200
长按 *** 作,在 100 100 位置长按 1000毫秒
adb root 获取 root 权限。
adb sideload
adb shell ps 打印进程状态。
adb shell top 展现上层 CPU 进程信息。
adb shell getprop 获取 Android 系统服务属性
adb shell setprop 设置服务属性。
adb shell dumpsys 获取系统数据。
adb logcat 打印日志文件
adb shell ip 主要用于显示一些数据
adb shell netstat 主要用于网络统计。
adb shell ping 没啥好说的,和 PC 的 ping 命令一样的。
adb shell netcfg 通过配置文件配置和管理网络连接。
adb shell cp 字面意思,很好理解,复制。
adb shell pwd 定位当前的 *** 作位置
adb shell mv 移动或者更名文件
adb shell mkdir 创建一个文件夹
adb shell rm 删除文件或者目录
adb shell ls 列出目录内容。
adb shell pm clear 清除应用缓存。
adb shell pm path 打印 apk 的路径。
adb usb 设置设备以 USB 形式连接 PC
adb kill-server 终止 adb 进程。
adb forward 端口映射,将 PC 端的某端口数据重定向到手机端的一个端口。
adb devices 主要是用于打印当前连接的所有模拟器或者设备。
shutdown -h now 关闭系统
init 0 关闭系统
telinit 0 关闭系统
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
reboot 重启
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd 返回上一级目录
cd / 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/ 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
cp -r dir1 dir2 复制一个目录及子目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
安装SQLite Expert Professional 可以在网上下载,我下载的是试用版,没有找注册码,但是试用不影响使用,反正用几次查看到数据库 *** 作没有错误就不用这个工具了。当然也可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android项目中的sqlite数据库位于/data/data/项目包/databases中。先介绍使用DDMS导出sqlite数据库的 *** 作和使用adb工具访问sqlite数据库。
首先打开android项目的调试模式,然后找到显示DDMS
切换到DDMS,显示File Explorer窗口,找到/data/data/ 如下图1 ,
然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。如下图2
这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如SQLite Expert Professional可以打开该数据库了。其他 sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager也可以打开该数据库。
使用adb工具访问sqlite数据库
Android Debug Bridge(ADB)是Android的一个通用调试工具,它可以更新设备或模拟器中的代码,可以管理预定端口,可以在设备上运行shell命令,我们 知道android是基于Linux内核,它的内部文件结构也是采用linux文件组织方式,因此访问它的文件结构需要使用shell。这次我们就会用 shell来访问android应用中的sqlite数据库文件。
1、运行cmd,切换到android-sdk目录,运行adbexe,加上参数shell,出现#号就代表进入了shell命令模式,注意adb要在Android模拟器运行时才能进入shell:如下图
进入数据库所在目录:
shell命令记住两个基本命令ls和cd,类似windows命令提示行中的dir和cd,代表列出当前目录下文件列表和进入到指定目录。了解这两个命令之后,就可以找到data/data/项目包名/databases 如下图1, 找到数据库文件如下图2。
使用sqlite管理工具来进行数据库 *** 作
键入sqlite3 数据库名就进入了sqlite管理模式了。
如下图
设置sqlite环境变量:
在android的sdk中自带了sqlite3exe,这是sqlite的官方管理工具,它是一个命令行工具。为了使用方便,将其路径注册到系 统环境变量path中,即将;%Android_Home%加在Path中,这样只样运行sqlite3,就能直接打开sqlite管理工具了。
如下图:
使用sqlite管理数据库:
sqlite命令行工具默认是以;结束语句的。所以如果只是一行语句,要在末尾加;,或者在下一行中键入;,这样sqlite命令才会被执行。
sqlite常用命令:
tables--查看数据库的表列表
exit--退出sqlite命令行
其他命令可随时help查看帮助。sql命令可直接在此命令行上执行即可:
如下图:
具体步骤:
首先要用数据线连接计算机android设备
1计算机发doc界面输入adb shell 进入手机shell交互终端界面图
2输入mount即看前挂载情况
3面红框内ro,rw系统应用权限ro前system读权限rw前system读写权限所要更改权限即
4更改权限,命令:mount -o remount,rw /dev/block/mtdblock3 /system(吧ro权限修改rwrw表示删除)
输入直接进入/system/app删应用删除命令rm指令
在应用商店最下面选择“我的”,然后打开上方的“安装记录”界面。3、在这个界面显示,已安装软件和卸载软件的记录。
内置软件卸载后需要通过刷机的方式来恢复,也可以直接备份个人数据后,在设置中恢复出厂设置。
查询设备
adb devices
查询手机中的用户
adb shell pm list users
查看设备上的应用包名:
adb shell pm list packages
adb shell pm list packages 打印设备/模拟器上的所有软件包
adb shell pm list packages -f 输出包和包相关联的文件
adb shell pm list packages -d 只输出禁用的包。由于本机禁用没有,输出为空。
adb shell pm list packages -e 只输出启用的包。
adb shell pm list packages -s 只输出系统的包。
adb shell pm list packages -3 只输出第三方的包。
adb shell pm list packages -i 只输出包和安装信息(安装来源)。
adb shell pm list packages -u 只输出包和未安装包信息(安装来源)
adb shell pm list packages -u -3 -e 组合使用
查询带有test的包名
adb shell pm list packages | findstr test
查询安装包路径
adb shell pm path [PackageName]
查询包对应的启动activity
adb shell pm query-activities -a androidintentactionMAIN -c androidintentcategoryLAUNCHER [PackageName]
启动应用
adb shell am start -n "[PackageName]/[ActivityName]" -a androidintentactionMAIN -c androidintentcategoryLAUNCHER
如:adb shell am start -n "comexampletest/comexampletestMainActivity" -a androidintentactionMAIN -c androidintentcategoryLAUNCHER
卸载应用
adb shell pm uninstall -k --user 0 [PackageName] -k 表示保存数据 --user 指定用户 id,Android 系统支持多个用户,默认用户只有一个,id=0
如 adb shell pm uninstall comexampletest 对所有用户卸载comexampletest且不保存数据
停用应用
adb shell pm disable [PackageName]
启用应用
adb shell pm enable [PackageName]
清除应用数据
adb shell pm clear [PackageName]
设置应用安装位置
adb shell pm set-install-location
--[0/auto]:默认为自动
--[1/internal]:默认为安装在手机内部
--[2/external]:默认安装在外部存储
获取应用安装位置
adb shell pm get-install-location
查询 *** 作过程中输出的日志
adb logcat > d:\logtxt
以上就是关于Android常用的ADB命令全部的内容,包括:Android常用的ADB命令、ADB常用命令、adb命令和linux命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)