第一次使用appium,出现了好多坑,防止忘记,记录下:
问题1:
error: Failed to start an Appium session, err was: Error: Bad app: F:\项目名\yyy\app\DRIVER.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'F:\项目名\yyy\app\DRIVER.apk'
刚运行代码的时候立马就报这个错误,找不到apk,框架中放apk的app文件夹在项目名下,但是发现代码
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "app");
File app = new File(appDir, "DRIVER.apk");
中,user.dir会套一层文件夹——yyy,故导致apk找不到,快速解决方案是,把app文件夹拿到yyy文件夹下,再次运行就不报这个问题了
问题2:
Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s 8806a0b0 shell “echo ‘ready‘“error: unknown host service
这个是adb端口被占用了,那么就去找是哪个服务占用了这个端口:
1、CMD命令窗口输入:adb nodaemon server 。然后就会提示你哪个端口被占用了。
2、输入netstat -ano | findstr "5037" 。然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字
3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID
4、查找第2步中看到的数字PID,然后结束相关进程,即可
我的是被360手机助手给占了,所以把360手机助手进程关闭(如何关闭360手机助手,请自行百度),之后就没报这个问题了