adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。
Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。
启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。
要在通过 USB 连接的设备上使用 adb,您必须在设备系统设置中启用 USB debugging(位于 Developer options 下)。
在运行 Android 4.2 及更高版本的设备上,Developer options 屏幕默认情况下处于隐藏状态。如需将其显示出来,请转到 Settings > About phone 并点按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。
注:当您连接运行 Android 4.2.2 或更高版本的设备时,系统将显示一个对话框,询问您是否接受允许在这台计算机上调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保只有在您能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 ADB 命令。
查看adb版本
adb
连接夜神模拟器(此处分别演示模拟器和真机连接)
127
Tips:
夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,依此类推。
查看设备信息
adb devices
如果出现如下提示:
adb server version (
) doesn't match this client (
)
adb shell
android 设备底层是 linux 系统。 shell 是 linux 系统的字符交互界面。
adb shell
#进入指定设备shell
adb -s
.
:
shell
#退出adb shell
exit
进入adb shell后有两种状态显示:#代表有root权限,$代表没有root权限
root
shell
root知识小科普
“To err is human, but to really foul up everything, you need root password.”
“人非圣贤孰能无过,但是拥有root密码就真的万劫不复了。”
root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,譬如广告阻挡,卸载系统预装App是需要root权限的。可问题在于root比windows的系统管理员的能力更大,足以把整个系统的大部分文件删掉,导致系统完全毁坏,不能再次使用。所以,用root进行不当的操作是相当危险的,轻微的可以死机,严重的甚至不能开机。所以,在Unix、Linux及Android中,除非确实需要,一般情况下都不推荐使用root。
在设备安装apk
adb install | -r -r
-s
eg:
#
adb install "C:
sers
huqing
esktop
ppium
andoujia.apk"
#
adb install -r "C:
sers
huqing
esktop
ppium
andoujia.apk"
#
adb -s 127.0.0.1:62001 install C:
sers
huqing
esktop
ppium
aoyan3.1.0.apk
andoujia.apk"
如遇到报错:Failure [INSTALL_FAILED_INVALID_URI]
解决方案: cmd命令行下执行以下命令:
卸载apk
1.首先进入设备的/data/app目录找到app包名
adb
shell
cd /data/app/
2.执行命令删除
adb
| -k
adb
com.wandoujia.phoenix2
Tips:安装后的包名系统会在末尾加上-1之类的数字,要去掉才可以成功卸载。 软件名称为包名,不要包含.apk
-k 加 -k 参数,为卸载软件但是保留配置和缓存文件.
查看设备上面安装的应用包名
adb
shell pm list package
文件读取写入
将文件从PC写入到设备
adb push
eg
adb push C:
sers
huqing
esktop
yb.txt /sdcard
C:
sers
huqing
esktop
yb.txt: 1 file pushed. 0.1 MB/s (462 bytes in 0.005s)
将文件从设备读取到PC
adb pull
eg:
adb pull /sdcard/server.
C:\Users\Shuqing\Desktop
/sdcard/server.
pulled.
MB/s (
bytes in
s)
注意:由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错:
C:\Users\Shuqing>adb pull /sdcard/server.
D:\\
adb: error: cannot
/
: No such
屏幕截图
$ adb shell screencap /sdcard/screen
adb pull /sdcard/screen
C:\Users\Shuqing\Desktop
adb服务启动和关闭
adb
-
adb
adb
-
adb
Tips:如果5037端口被占用可以使用如下命令释放端口
\Users\Shuqing> netstat -ano | findstr
TCP
:
:
LISTENING
TCP
:
:
TIME_WAIT
taskkill -f -pid XXX
adbdevices.bat
adb devices
pause
AdbConnect.bat
127