Почему MonkeyRunner не работает с ошибочным типом при ошибке операнда? - PullRequest
0 голосов
/ 12 сентября 2018

В Ubuntu 18.04 я установил MonkeyRunner через sudo apt install monkeyrunner, и он успешно завершился.

Я создал файл с именем test.py и записал содержимое

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

Я подключил свой телефон через USB, включил отладку USB, затем запустил программу с monkeyrunner test.py, но я получаю эту ошибку

Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    com/android/monkeyrunner/ScriptRunner.console(Ljava/lang/String;)V @13: invokevirtual
  Reason:
    Type 'org/python/util/JLineConsole' (current frame, stack[0]) is not assignable to 'org/python/util/InteractiveConsole'
  Current Frame:
    bci: @13
    flags: { }
    locals: { 'java/lang/String', 'org/python/util/JLineConsole' }
    stack: { 'org/python/util/JLineConsole' }
  Bytecode:
    0x0000000: 2ab8 0035 bb00 5159 b700 524c 2bb6 0053
    0x0000010: b1                                     

    at com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.java:73)
    at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter.java:189)

Что вызывает это, и как я могу решить это?

1 Ответ

0 голосов
/ 19 октября 2018

Установите Android studio с помощью этой команды:

sudo snap install android-studio --classic

После этого вы можете найти "monkeyrunner" по этому пути:

~/Android/Sdk/tools/bin
...