-
在系统(Windows \ Ubuntu Linux)中运行 adb 服务。
- Windows 需要为 ADB 安装 USB 驱动程序。
- Ubuntu Linux 则需要为想要在开发中使用的每一种设备类型添加一个包含 USB 配置的 udev 规则文件。
- 如果 adb 服务未运行,插入 Android 设备也不会弹出调试授权框。
-
首次启动 adb 服务时,会在本地生成一对密钥 adbkey(私钥)与 adbkey.pub(公钥)。当执行 adb shell 时,adb 服务会将当前 PC 的公钥(或公钥hash值)发送给 Android 设备。
- 如果 android 上已经保存了这台 PC 的公钥,则匹配出对应的公钥进行认证,建立adb连接。
- 如果 android 上没有保存这台 PC 的公钥,则会弹出调试授权框,点击了允许授权之后,android 就会保存这台 PC 的公钥。
- 密钥保存在哪里?Windows 为例,首次启动 adb.exe 时,会在当前用户的目录下生成一个 .android 目录,其中adbkey 与 adbkey.pub 就在这里,adb.exe 会在启动时读取这两个文件,没有就重新生成。Android 设备上,PC 的公钥被保存在 /data/misc/adb/adb_keys 文件中。
- 建立连接后,我们再执行 adb 命令,adb 服务会找出连接的设备发送数据,如果没有连接任何设备或模拟器,就会看到熟悉的
error: no devices/emulators found
提示了。
网友评论