Зависимость монитора Android-устройства от устаревшей среды исполнения Java SE 6

С Android Studio v2.2, DDMS устарела в пользу Android Device Monitor. Но когда я пытаюсь открыть Monitor, он не открывается, ссылаясь на то, что он зависит от устаревшего исполнения Java SE 6, которое отсутствует в моем Mac Os Sierra. Это безумие, не так ли?

Я хочу попробовать издеваться над входящими SMS-сообщениями, звонить на эмулятор с монитора. И этот монитор не работает с jdk 7/8. Каков выход?

Ответ 1

Я собираюсь продлить еще немного ответов @karthiks.

Возможно, вы находитесь в ситуации, когда вы установили последнюю версию JDK, но вам нужен JDK6 для использования Android Device Monitor. Следующие шаги позволяют сохранить ваш последний JDK по умолчанию, но укажите JDK6 для каталога, где расположен ADM.

  • Установите устаревший JDK6.
  • Установите jEnv:
    $ brew install jenv
  • Добавьте jEnv в PATH:
    $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
    $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
  • Обновить .bash_profile:
    $ source ~/.bash_profile
  • Добавьте свой последний JDK в jEnv (в моем случае 1.8.0_131):
    $ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/
  • Добавить JDK6 в jEnv:
    $ jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
  • Определите JDK6 для каталога, где находится Android Device Monitor:
    $ cd ~/Library/Android/sdk/tools/
    $ jenv local 1.6

Ответ 2

Я понял, что единственный выход из этого - установить старый JDK6 на вашем Mac. Вы можете скачать его только из Поддержка Apple.

У вас возникло такое беспокойство о том, что происходит с последним JDK (/JRE), установленным в вашей ОС? То, как я это делаю, - это JENV в командной строке.

Мир!