【问题标题】:java.lang.ClassNotFoundException when running trying to open android emulator with appiumjava.lang.ClassNotFoundException 运行时尝试使用 appium 打开 android 模拟器
【发布时间】:2020-08-11 04:20:49
【问题描述】:

我正在尝试在 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

配置:

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

  2. 安卓工作室下载:https://developer.android.com/studio ANDROID_HOME=C:\Users\Shahid\AppData\Local\Android\Sdk ANDROID-TOOLS-PATH:C:\Users\Shahid\AppData\Local\Android\Sdk\tools ANDROID-TOOLS-BIN 路径:C:\Users\Shahid\AppData\Local\Android\Sdk\tools\bin ANDROID-PLATFORM-PATH:C:\Users\Shahid\AppData\Local\Android\Sdk\platform-tools

  3. 在 AVD MANAGER 中创建 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. 安装应用程序服务器(通过命令提示符使用 npm):npm install -g appium

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

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

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

【问题讨论】:

    标签: java android windows eclipse appium


    【解决方案1】:

    ClassNotFoundException 表示您的classpath 中没有任何课程来解决此com/google/common/base/Function,这意味着您缺少该课程它属于您项目中的 guava 依赖项/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 文件并将其保存在类路径中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-23
      • 2015-03-03
      • 2011-04-26
      • 1970-01-01
      • 2021-12-09
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多