java .lang.ClassNotFoundException при запуске при попытке открыть android эмулятор с appium - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь запустить следующий код из Windows в Eclipse и нахожу ошибку, о которой я упоминал в заголовке. Может кто-нибудь, пожалуйста, предложите мне.

Код:

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. JDK JAVA_HOME: C: \ Program Files \ Java \ jdk-14.0.1 Java bin: C: \ Program Files \ Java \ jdk-14.0.1 \ bin

  2. ANDROID ЗАГРУЗКА СТУДИИ: 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 PATH: C: \ Users \ Shahid \ AppData \ Local \ Android \ Sdk \ tools \ bin ANDROID -PLATFORM-PATH: C: \ Users \ Shahid \ AppData \ Local \ Android \ Sdk \ platform-tools

  3. CREATE ANDROID ЭМУЛЯТОР В AVD MANAGER

  4. МЫ МОЖЕМ ВЫЗВАТЬ ЭМУЛЯТОР ПО ЗАКАЗУ КОМАНДЫ: C: \ Users \ Shahid \ AppData \ Local \ Android \ Sdk \ emulator THEN TYPE: emulator -avd Shayan

  5. INSTALL node.js: https://nodejs.org/en/download/

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

  7. УСТАНОВИТЬ СЕРВЕР APPIUM (используя npm через командную строку): npm install -g appium

  8. НЕКОТОРЫЕ КОМАНДЫ С СЕРВЕРОМ APPIUM: -to запустить сервер appium: appium - закрыть сервер appium: ctrl + C; Y / N-> y и ENTER - проверить версию: appium --version - проверить, где она находится: где appium

  9. УСТАНОВИТЬ АППИУМ JAVA БИБЛИОТЕКА КЛИЕНТА: http://appium.io/downloads.html; ВЫБЕРИТЕ JAVA; ВЫБЕРИТЕ JAR

  10. ЗАГРУЗИТЬ ЗАТМЕНИЕ: https://www.eclipse.org/downloads/download.php?file= / oomph / epp / 2020-03 / R / eclipse-inst-win64.exe

1 Ответ

0 голосов
/ 27 апреля 2020

ClassNotFoundException означает, что в вашем classpath нет класса для решения этой com / google / common / base / Function , что означает, что вам не хватает этого класса, который принадлежит гуава зависимость / 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 и сохранить его по пути к классу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...