问答 appium 报错,想问下是啥原因

kj · 2021年09月01日 · 最后由 kj 回复于 2021年10月08日 · 3032 次阅读

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Users\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk'. Original error: The JAVA_HOME location 'C:\Program Files\Java\jdk-16.0.1' must exist

共收到 21 条回复 时间 点赞

JDK 配置错了,重新配置下 JDK,网上很多教程的

The JAVA_HOME location 'C:\Program Files\Java\jdk-16.0.1' must exist

kj #3 · 2021年09月02日 Author
雨夜狂奔 回复

我去 cmd 运行 javac -version 跟 java -version 都能正常运行的

kj #4 · 2021年09月02日 Author


我现在安装的这个版本 jdk8,以前安装的 jdk16.

kj 回复

项目里面配置的 jdk 版本太高了吧,可以检查下

kj #16 · 2021年09月02日 Author
steve 回复

这个咋看,求教

kj 回复

appium 我也没玩过,只是大概猜测了下

这个看下,如果是 JAVA_HOME 的问题,查下怎么改吧

kj #14 · 2021年09月02日 Author
steve 回复

那这种咋改哦,项目里面的 jdk

kj #13 · 2021年09月02日 Author


有没有大佬知道这个为啥报这个错呀,我明明电脑上装的 jdk 版本是 8,环境配置没问题,而且 cmd 运行也没问题的
一连 appium 就报找不到 jdk16。。。 这是为啥😖 重装了好几遍 jdk 也没用

kj #12 · 2021年09月03日 Author
雨夜狂奔 回复

配置环境没问题的,我以前装的 jdk16,中途换成 jdk8,现在链接模拟器跑就报找不到 jdk16 的

kj #11 · 2021年09月03日 Author
兔子 回复

咋解决😅

我之前用 JDK8 会报错,换到 JDK11 - lts 版本就好了。你可以尝试把 JDK 卸载重装 JDK11 并且重新配置环境变量试下,建议重启电脑 -- 虽然理论上不会存在问题,但重启电脑是个不错的选择😀

kj #9 · 2021年09月03日 Author
Space 回复

emmm,好的,我试试先换 jdk11。 重启已经重启过好多次了= =

kj #14 · 2021年09月03日 Author
kj 回复

还是不行😭 我没招了

kj #15 · 2021年09月03日 Author

我只能等重装系统了么😲

kj 回复

命令行看下which java,到底是不是你用的 JDK,不是的话重新配置下,或者把错误的 JDK 删掉

kj 回复

看下你环境变量里,JAVA_HOME 配置的到底是啥?appium 都是问系统拿的值,这个值不是凭空出来的,一定是某个地方配置出来的。

另外,也说明下,经过命令行敲 javajavac 命令可以直接调用对应程序,是通过 PATH 这个环境变量来实现的。这个和 JAVA_HOME 这个环境变量是完全独立的,没有强依赖关系。java -version 调用到的 java ,不一定是 JAVA_HOME 配置的 java 。举个 linux 里面写法的例子(忘记 windows 下环境变量的表示方式了):

export JAVA_HOME=/user/jdk16
export PATH=$PATH:/user/jdk1.8

这样配置下,你用命令行调用 java 命令,用的是 1.8 的(PATH 里面配置的值),所以 java -version 也是 1.8 的。但 JAVA_HOME 却是 16 的。虽然很多教程都会教配置时 PATH 里面不要配置绝对路径,应该配置 PATH=$PATH:$JAVA_HOME 来引用 JAVA_HOME ,但如果是程序自己配置或者其他人配置的,这个就没法保障了。以前用 jdk8 的官方安装程序,貌似只会自动配置 PATH ,但不会配置 JAVA_HOME 的。其他版本的 jdk 没怎么用过,不清楚。

shell 下面通过 env 命令就可以列出所有环境变量的名称和值了,我排除环境变量的值是否有错误,经常用这个(shell 在不同运行模式下加载环境变量的顺序和位置都会有差异,命令行能正常调用的命令,jenkins 的 shell 下就是提示找不到,这个非常常见,需要用这个 env 命令列出所有环境变量的值供排查)。windows 不知道有没有类似的命令,其他人知道的话也可以分享下。

kj #4 · 2021年09月06日 Author
陈恒捷 回复

已经找到问题了,就是 appium 启动的那个环境 配置的没有改,所以一直是用的老路径,就会报错找不到 jdk16.感谢大佬的提醒🙏

kj #19 · 2021年09月06日 Author
雨夜狂奔 回复

👌 👌

echo %JAVA_HOME% 看看打印什么

kj #1 · 2021年10月08日 Author
Eason 回复

👌

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册