Ошибка приложения AppiumAndLaunchActivityFromManifest завершилась неудачно - PullRequest
0 голосов
/ 25 марта 2020

Я сейчас учусь пользоваться Appium.

Моя рабочая область выглядит следующим образом:

  • Я использую Windows 10 Pro
  • Android Studio 3.6.1 в качестве моей IDE
  • AVD-менеджер от Android Studio
  • Adb as a Bridge
  • Desktop-Appium 1.15
  • И Java jdk-14

Через некоторое время у меня все заработало. Я думаю, что мои переменные PATH установлены правильно, я могу вызвать Java и adb в cmd.

Итак, я хотел запустить несколько тестовых случаев, где я хочу автоматизировать вход в систему почтового приложения.

Здесь я сталкиваюсь с ошибкой.

#
# Log Appium Server
#
[UiAutomator2] Unable to remove port forward 'Error executing adbExec. Original error: 'Command 'C:\\Users\\Yggdrasil\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe -P 5037 -s emulator-5554 forward --remove tcp\:8200' exited with code 1'; Stderr: 'adb.exe: error: listener 'tcp:8200' not found'; Code: '1''
[UiAutomator2] Restoring hidden api policy to the device default configuration
[ADB] Running 'C:\Users\Yggdrasil\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell settings delete global hidden_api_policy_pre_p_apps'
[ADB] Running 'C:\Users\Yggdrasil\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell settings delete global hidden_api_policy_p_apps'
[ADB] Running 'C:\Users\Yggdrasil\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell settings delete global hidden_api_policy'
[BaseDriver] Event 'newSessionStarted' logged at 1585093850179 (00:50:50 GMT+0100 (Mitteleuropäische Zeit))
[MJSONWP] Encountered internal error running command: Error: packageAndLaunchActivityFromManifest failed. Original error: Command 'java -jar C:\\Users\\Yggdrasil\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\jars\\appium_apk_tools.jar printLaunchActivity C:\\Users\\Yggdrasil\\Downloads\\gmx-6.5.7.apk C:\\Users\\YGGDRA~1\\AppData\\Local\\Temp\\de.gmx.mobile.android.mail' exited with code 1; StdErr: Exception in thread "main" java.lang.NoSuchFieldException: modifiers
[MJSONWP]   at java.base/java.lang.Class.getDeclaredField(Class.java:2489)
[MJSONWP]   at io.appium.apktools.StringsXML.silenceLogger(StringsXML.java:120)
[MJSONWP]   at io.appium.apktools.Main.main(Main.java:25)
[MJSONWP] 
[MJSONWP]     at ADB.packageAndLaunchActivityFromManifest (C:\Users\Yggdrasil\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\android-manifest.js:136:9)
[HTTP] <-- POST /wd/hub/session 500 1350 ms - 844
[HTTP] 
[HTTP] --> DELETE /wd/hub/session
[HTTP] {}
[HTTP] No route found. Setting content type to 'text/plain'
[HTTP] <-- DELETE /wd/hub/session 404 3 ms - 57
[HTTP] 

Вот требуемые возможности Appium:

{
  "platformName": "Android",
  "deviceName": "Android Emulator",
  "appPackage": "de.gmx.mobile.android.mail",
  "appWaitActivity": "com.unitedinternet.portal.ui.login.LoginActivity",
  "app": "C:\\Users\\Yggdrasil\\Downloads\\gmx-6.5.7.apk"
}

Я погуглил по поводу ошибки: packageAndLaunchActivityFromManifest, но не нашел способа решить эту проблему для меня. Ударь меня, если тебе нужна дополнительная информация! Спасибо за ваше время. Я очень ценю вашу помощь!

ПРИМЕЧАНИЕ: вместо adb shell "dumpsys window windows | grep -E 'mCurrentFocus'" мне нужно использовать adb shell "dumpsys window windows | grep -E 'mObscuringWindow'", чтобы получить appPackage для Требуемые возможности Appium

  • Is это из новой версии adb или AVD?

1 Ответ

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

Я нашел ошибку.

Очевидно, что Appium и Android Studio 3.6 не очень хорошо объединяются.

Appium использует инструменты SDK, вам пришлось редактировать в PATH. Но Android Studio 3.6 использует новую версию инструментов SDK, поэтому Appium не смог найти их должным образом.

Я нашел эту ошибку с AppiumDoctor.

После понижения Android Studio до версии 3.3 все работает правильно.

...