#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. Шаги по исправлению:
- Установите Комплект для разработки Java SE 8
- Повторите запуск
/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
- Добавьте путь Java SE 8 в android > gradle.properties:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home
- Перестройте приложение.
Надеюсь, это поможет кому-то еще после того, как я потратил 5 часов, пытаясь понять это.
Комментарии:
1. Большое вам спасибо!! Android Studio настолько глупа, что их обновление нарушает существующие настройки и даже не выдает полезного сообщения об ошибке
2. @hyouuu, Похоже, это именно то, что тебе было нужно. 🙂 Я согласен, что существует так много обновлений, что это затрудняет и обескураживает дальнейшее использование.