appium 1.20 start Session 遇到的问题
1. 设备找不到 :could not find online devices
刚开始,代码一直报错,提示找不到设备,首先appium Server 和 mumu模拟器都是开启的,为什么提示没有找到 android设备的?
之后想到命令行里,adb devices 查看设备的连接,到底有没有连接上,很奇怪,显示开启成功,但是设备的列表是空的,这是为什么呢?于是网上找了一下
说是5037端口被占用,要kill 掉,那就试试,于是找到占用的进程,kill 掉,taskkill -f -pid 10736 ,然后 再 adb devices 下,还是同样的结果,还是没有显示
连接的android设备,这就难受了,于是又再网上找了找,咦,果真,遇到一个真诚的老哥的帖子,用adb 怎样连接mumu模拟器,于是果断试试,执行如下
adb connect 127.0.0.1:7555
之后再次执行adb devices 查看设备的连接,果真,列出了设备的列表,好了第一步完成,然后进行下一步,开始 模拟发起请求,start session
填了 4个参数 :"platformName":"android"、"deviceName":"127.0.0.1:7555"、"appPackage":"com.xueqiu.android"、"appActivity":".view.WelcomeActivityAlias"
然后 start Session ,结果不得了,报了一个错,可把我折磨惨了,这是什么,看着报错的样子,貌似是我的jdk版本低了,我于是就跑去官网准备去下载 一个高点版本的jdk(
主要是看了一个老哥说 52 对应的是 jdk 1.8 ,那53 不就是高了一个版本了嘛) ,我找了找,官网都16了,貌似没有比8小高一个版本的(这里我没有试,是不是高版本的jdk就不会报错)
我回头一想不对,我是1.8的啊,既然这个包在高版的jdk才可以,低版本的不行(从报错的内容来看),那我用低版本的包不就行了嘛(其实之前想到过用低版本的包,但是不知道怎么用 ^ v ^ !!!)
An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of
'C:\Users\86182\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.17.4.apk'.
Original error: java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool has been compiled by a more recent version of the Java Runtime (class file version 53.0),
this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) Error: A JNI error has occurred, please check your installation and try again Exception in thread "main"
于是就加了一行,用uiautomator1,开始 Start Session , Ok 好了,模拟请求成功,打开了APP的欢迎页(噢耶!up! up! )
(这一行,我用了将近两天才加上,哎,修行的路就是不断自我的肯定与否定)
总结:用了近两天的时间,解决了这个问题,修行的路就是本着无与伦比的冲劲,在不断的否定与尝试中前进,坚信自己一定会做到,从不惧怕开始,更无惧漫漫前路
坚信自己,终因SB般的坚持,迎来凤凰涅槃般的改变!加油!