文章目录
利用adb无线连接android手机进行调式
overview
参考:
https://developer.android.com/studio/command-line/adb#wireless
https://blog.csdn.net/lnking1992/article/details/53465183
https://blog.csdn.net/u010570506/article/details/81214521
感谢原作者。
要想使用无线调试有几个必须条件:
- 手机和我们的电脑要处于同一个局域网,就是两个设备之间的ip地址能够ping通。
- 可用adb。在sdk下的 platform-tools的文件夹里面。
- 如果跑不通请检查是否已经打开手机的 开发者选项。
(旧)方法一,不需要root权限
1.首先把手机或平板通过usb线连接到电脑上。
2.在命令行里cd到我们的sdk下的 platform-tools的路径找到adb命令(或者可能已经加到PATH路径里了),输入adb devices
查看电脑所连接的设备。
3.使用例如adb tcpip 8888
设置端口号。5555为默认端口号,也可以设置其它端口号,端口号需要为4位数。
$ adb devices
List of devices attached
xxx-phone device
$ adb tcpip 8888
restarting in TCP mode port: 8888
$ adb shell ifconfig
// ifconfig命令的结果
4.拔掉我们的设备,开始用wifi无线连接
adb connect
。使用adb connect 192.168.1.65:8888
, 192.168.1.65为手机的ip地址, 其中8888是我们自己刚才设的端口号,这个端口号就是adb tcpip命令所设置的端口号。
5.取消连接就是adb disconnect
。 adb disconnect 192.168.1.65:8888
$ adb devices
List of devices attached
$ adb connect 192.168.1.65:8888
connected to 192.168.1.65:8888
$ adb devices
List of devices attached
192.168.1.65:8888 device
(旧)方法二,需要root权限
1.手机通过usb线连接到电脑上。
2.adb shell
进入到手机里面,然后设置相应端口。
3.拔掉手机,使用wifi无线连接adb connect
。
$ adb devices
List of devices attached
xxx-phone device
$ adb shell
# setprop service.adb.tcp.port 5555
# stop adbd // 需要root权限
# start adbd
# exit
$ adb connect *** // 同上
(新)方法三 - Pair Devices Using WiFi
Update @ 2022
适用于新的Android studio与Android 11版本以上。
参考:https://stackoverflow.com/a/71577411
又可细分为两种方式:
- 一种是扫qr码:
这种方式比较简单,过程略。 - 另一种是adb+配对码:
$ //第一步:配对
$ //在手机上点击:使用配对码配对设备,出现配对码和ip:port1的信息弹窗
$ adb pair ip:port1
$ //根据提示输入配对码,显示Successfully paired to xxx表示成功。此时信息弹窗自动关闭
$ //第二步:连接
$ //在 使用配对码配对设备 平行级的 使用二维码配对设备 的前面,显示的有另一个ip:port0
$ adb connect ip:port0
$ //显示connected to ip:port0表示成功
$ adb devices
成功。
android emulator使用root权限
区分android emulator不同image版本:
- google play: production编译, 不能使用root
- google apis: 可debug编译
若要使用root权限,则使用google apis版本.
adb connect
上手机之后,若没有得到root权限,可手动获取:
adb root
// 如果找不到设备则:
adb kill-server
adb devices
adb shell
同一份app代码,不同电脑编译调试时的签名问题
同一份app代码, 在不同的电脑上编译运行的时候,会报告签名不一样, 要求先卸载app(会自动删除数据), 然后才能安装运行.
安装时弹窗:
解决方法有两种:
方法一,当然最简单的是按提示卸载app,重新安装即可.
但是卸载app的时候,会同时自动删除app的数据, 导致应用内的数据和文件等被删除了.
有些情况下,旧数据非常宝贵不能删除. 那么可以使用另一种方法,让签名调试包的签名一致就可以了.
方法二,手机上已安装app是在A电脑上编译的,去A电脑上把$HOME/.android/debug.keystore
文件拷贝过来, 替换现在这台电脑的对应文件即可.