android手机开发调式

利用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
感谢原作者。

要想使用无线调试有几个必须条件:

  1. 手机和我们的电脑要处于同一个局域网,就是两个设备之间的ip地址能够ping通。
  2. 可用adb。在sdk下的 platform-tools的文件夹里面。
  3. 如果跑不通请检查是否已经打开手机的 开发者选项

(旧)方法一,不需要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文件拷贝过来, 替换现在这台电脑的对应文件即可.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值