Зависимость Android Device Monitor от устаревшей среды выполнения Java SE 6
В Android Studio v2.2 DDMS устарела в пользу Android Device Monitor. Но когда я пытаюсь открыть монитор, он не открывается, ссылаясь на то, что он зависит от устаревшей среды выполнения Java SE 6, которая отсутствует в моем Mac Os Sierra. Это безумие, не так ли?
Хочу попробовать смоделировать входящие смс, звонки на эмулятор с монитора. И этот монитор не работает с JDK 7/8. Какой выход??
2 ответа
Я собираюсь расширить ответ @karthiks.
Возможно, вы находитесь в ситуации, когда вы установили последнюю версию JDK, но вам нужен JDK6, чтобы использовать Android Device Monitor. Следующие шаги позволяют вам сохранить ваш последний JDK по умолчанию, но определите JDK6 для каталога, в котором находится ADM.
- Установите устаревшую версию JDK6.
- Установите jEnv:
$ brew install jenv
- Добавьте jEnv в ПУТЬ:
$ 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
Я понял, что единственный выход из этого - установить устаревший JDK6 на свой Mac. Вы можете скачать его только из службы поддержки Apple.
Затем у вас возникает беспокойство о том, что происходит с последней версией JDK(/JRE), установленной в вашей ОС? Я управляю этим через JENV в командной строке.
Мир!