gpt4 book ai didi

尝试使用 appium 打开 android 模拟器时出现 java.lang.ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-01 17:06:25 24 4
gpt4 key购买 nike

我尝试在 Eclipse 中从 Windows 运行以下代码,并发现我在标题中提到的错误。有人可以建议我吗?

代码:

package com.apanp.one;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.MobileCapabilityType;

public class base {

public static void main(String[] args) throws MalformedURLException {

File f = new File("src");
File fs =new File(f,"original.apk");

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Shayan");
cap.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiautomator2");
AndroidDriver<AndroidElement> driver = new AndroidDriver <> (new URL("http://127.0.0.1/wd/hub"), cap);
}
}

错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at com.apanp.one.base.main(base.java:24)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 10 more

AVDManager

Virtual Device Manage

配置:

  1. JDKJAVA_HOME:C:\Program Files\Java\jdk-14.0.1Java bin: C:\Program Files\Java\jdk-14.0.1\bin

  2. Android Studio 下载:https://developer.android.com/studioANDROID_HOME=C:\Users\Shahid\AppData\Local\Android\SdkANDROID-TOOLS-PATH:C:\Users\Shahid\AppData\Local\Android\Sdk\toolsANDROID-TOOLS-BIN 路径:C:\Users\Shahid\AppData\Local\Android\Sdk\tools\binANDROID-PLATFORM-PATH:C:\Users\Shahid\AppData\Local\Android\Sdk\platform-tools

  3. 在 AVD 管理器中创建 Android 模拟器

  4. 我们可以通过命令提示符调用模拟器:C:\Users\Shahid\AppData\Local\Android\Sdk\emulator然后输入:emulator -avd Shayan

  5. 安装node.js:https://nodejs.org/en/download/

  6. NODE_HOME:C:\Program Files\nodejs

  7. NPM_HOME:C:\Program Files\nodejs\node_modules\npm\bin

  8. 安装APPIUM服务器(通过命令提示符使用npm):npm install -g appium

  9. APPIUM 服务器的一些命令: -启动appium服务器:appium -关闭appium服务器:ctrl + C; Y/N-> y 并输入 -检查版本:appium --version -检查它在哪里:where appium

  10. 安装 APPIUM JAVA 客户端库:http://appium.io/downloads.html ;选择Java;选择 JAR

  11. 下载 ECLIPSE:https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2020-03/R/eclipse-inst-win64.exe

最佳答案

ClassNotFoundException 表示您的 classpath 中没有任何类来解决此 com/google/common/base/Function 这意味着您缺少属于项目中 guava dependency/jar 的此类。如果您使用maven,请添加以下依赖

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.6-jre</version>

<!-- or, for Android: -->
<version>23.6-android</version>
</dependency>

对于java:

您可以下载 jar 文件并将其保存在类路径中

关于尝试使用 appium 打开 android 模拟器时出现 java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61461812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com