docker中appium容器连接安卓真机

服务器 python docker 1302      收藏
docker中appium容器连接安卓真机

docker中创建appium容器

docker search appium
docker pull appium/appium
docker run --privileged -d -p 4723:4723 --name appium1 appium/appium

本地电脑数据线连接手机,并且手机和电脑连接相同的wifi,使用电脑本地adb命令连接手机,并且将手机的连接方式从USB的连接方式修改为TCPIP的连接方式

adb devices # 查看数据线方式连接是否成功
adb tcpip 5555 # adb监听端口5555

断开USB

手机设置中搜索ip,在状态信息中可以查看手机ip信息

WechatIMG19.jpeg

本地adb可以重新连接手机

adb connect 192.168.1.10:5555
adb devices # 查看是否连接成功

然后可以使用docker中的appium容器连接手机

docker exec -it apppium adb connect 192.168.1.10:5555
adb devices

如果adb devices查看到的结果为 device unauthorized

adb: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

需要进入到appium容器中设置adbkey和adbkey.pub信息

可以从本地电脑的~/.android/adbkey 和 ~/.android/adbkey.pub文件中进行复制

然后将两个文件添加到appium下的~/.android/adbkey 和 ~/.android/adbkey.pub文件中

docker exec -it appium /bin/bash
cd ~/.android
touch adbkey
touch adbkey.pub

将复制的内容粘贴到两个文件中

重启appium容器中的adb

docker exec -it appium1 adb kill-server
docker exec -it appium1 adb start-server
docker exec -it appium1 adb connect 192.168.1.10:5555
docker exec -it appium1 adb devices

可以看到手机连接成功

192.168.1.10:5555	device