Android Studio — Не удалось найти tools.jar. Пожалуйста, убедитесь, что X содержит допустимую установку JDK

#java #android #macos #gradle #build

Вопрос:

Я нахожусь в тупике, пытаясь заставить это работать, и я не нахожу решения. Я только что обновил свою студию Android до Arctic Fox, и я получаю эту ошибку:

 FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':firebase_core:compileDebugJavaWithJavac'.
> Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation.
 

Я работаю на macOS BiGSur 11.2.3.

Я открыл терминал и побежал /usr/libexec/java_home -V | grep jdk

Какие результаты:

 Matching Java Virtual Machines (1):
   1.8.301.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
 

Я попытался отредактировать ~/.zshrc , добавив различные строки экспорта, такие как:

 export JAVA_HOME=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
 

на что я получаю эту ошибку в терминале после запуска source ~/.zscrc :

 .zshrc:export:2: not valid in this context: Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
 

и попробовал это:

 export JAVA_HOME=$(/usr/libexec/java_home)
 

что просто повторяет один и тот же сбой сборки.

Я также попытался добавить различные пути к файлу Gradle.properties, например, один из следующих:

 org.gradle.java.home=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
 

Тот же сбой сборки для первого и Value '/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home' given for org.gradle.java.home Gradle property is invalid (Java home supplied is invalid) для второго.

Я поискал инструменты.баночка в моей системе, и ничего не найдено.

Также попытался удалить Java и переустановить его… ничего.

Пожалуйста, есть еще какие-нибудь предложения?

Ответ №1:

Наконец-то нашел ответ. Очевидно, у меня был установлен только JRE, а не JDK. Шаги по исправлению:

  1. Установите Комплект для разработки Java SE 8
  2. Повторите запуск /usr/libexec/java_home -V | grep jdk , чтобы получить новый путь, который выводит:
 Matching Java Virtual Machines (2):
    1.8.301.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_301 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home
 
  1. Добавьте путь Java SE 8 в android > gradle.properties: org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home
  2. Перестройте приложение.

Надеюсь, это поможет кому-то еще после того, как я потратил 5 часов, пытаясь понять это.

Комментарии:

1. Большое вам спасибо!! Android Studio настолько глупа, что их обновление нарушает существующие настройки и даже не выдает полезного сообщения об ошибке

2. @hyouuu, Похоже, это именно то, что тебе было нужно. 🙂 Я согласен, что существует так много обновлений, что это затрудняет и обескураживает дальнейшее использование.