Як доручити Gradle використовувати Java з іншого місця?


9

Я будував свій тестовий додаток в Android Studio, а потім у Журналі подій сказано:

Android Studio використовує таке місцезнаходження JDK: C: \ Program Files \ Android \ Android Studio \ jre, яке відрізняється від того, яке Gradle використовує за замовчуванням: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 Використання різних місць може породжувати кілька демонів Gradle, якщо завдання Gradle виконуються з командного рядка під час використання Android Studio.

Потім надав наступні варіанти:

  1. Більше інформації...
  2. Налаштуйте Android Studio використовувати той самий JDK, як Gradle та синхронізацію
  3. Не показуйте це попередження знову

Я натиснув:

Налаштуйте Android Studio використовувати той самий JDK, як Gradle та синхронізацію

тоді мій додаток більше не хотів будувати.

Це помилка:

Не вдалося синхронізувати Gradle: неможливо запустити процес демон.
Ця проблема може бути викликана неправильною конфігурацією демона.

Наприклад, використовується нерозпізнаний варіант jvm.
Перегляньте розділ Посібника користувача про демон на веб- сайті https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html

Процес командного рядка: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 \ bin \ java.exe -Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.language = en -Duser. варіант -cp C: \ Users \ {MyUserName} \. gradle \ wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1 \ lib \ gradle-launcher-5.4.1.jar org.gradle. launcher.daemon.bootstrap.GradleDaemon 5.4.1

Будь ласка, прочитайте наступний вихідний процес, щоб дізнатися більше:

Під час ініціалізації VM сталася помилка. Не вдалось залишити достатньо місця для купи об’єктів 1572864KB. Для отримання детальної інформації зверніться до журналу IDE (Довідка | Показати журнал) (16 s 166 мс)

Я перевірив журнали подій:

Я думаю, раніше це робилося так:

Інструкція gradle використовувати java від C: / Program Files / Android / Android Studio / jre

Тепер це сказано:

Інструкція gradle використовувати java з C: / Program Files (x86) /Java/jdk1.8.0_181

Як повернути його так, як це було, щоб моя програма могла будуватись знову?

Будь-яка допомога / порада буде вдячна

Відповіді:


2

Перейдіть у меню Файл, Структура проекту, розташування SDK та змініть спадне місце розташування JDK на JAVA_HOME.

Структура проекту в Androdi Studio 3.6 beta


1
Спробував, що потім отримав таку ж помилку, як і в моєму запитанні. Я на 64-бітній Windows.
Шіасу-сама

1

Вам потрібно змінити / додати змінну середовища.

Перейдіть за цим посиланням, щоб знати, як змінити / додати змінні середовища.

Тепер додайте / змініть змінну 'JAVA_HOME' та встановіть шлях до C:\Program Files\Android\Android Studio\jre

Примітка. Коли ви будете працювати над іншим проектом Java пізніше в іншому IDE, можливо, вам доведеться знову змінити цю змінну на місце розташування Java за замовчуванням (можливо, у цьому випадку C:/Program Files (x86)/Java/jdk1.8.0_181)


0

Gradle явно використовує мою рідну установку Java (від Oracle), тоді як Android Studio використовує власну версію.

Я ігнорую це попередження після оновлення Android Studio до 3.6.1. Поки що жодного питання. Дійсно, я випустив нові версії свого додатка без проблем.

Якщо це стає дратівливим, і якщо у вас немає інших проблем, у вас є можливість ігнорувати майбутні попередження: просто натисніть попередження та виберіть варіант, щоб ігнорувати майбутні повідомлення, пов’язані з цим попередженням.


0

Ubuntu 16.04 LTS, Android Studio 3.6

Ось як я позбувся попередження:

1) знайдіть скрипт запуску AS studio.shна вашій машині, мій знаходиться під: /opt/android-studio-3.x/bin
2) всередині сценарію ви знайдете наступні рядки:

# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, studio.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
fi

if [ -z "$JDK" -a -s "$HOME/.AndroidStudio3.6/config/studio.jdk" ]; then
  USER_JRE=`"$CAT" $HOME/.AndroidStudio3.6/config/studio.jdk`
...

3) якщо з якихось причин ви не зможете експортувати змінні свого середовища на панель запуску (як це трапляється зі мною з сеансу xfce4), ви можете записати потрібне JAVA_HOMEзначення всередині studio.jdkфайлу, розташування якого в моїй системі, відповідно до сценарій, в $HOME/.AndroidStudio3.6/config/studio.jdk.

$ echo $JAVA_HOME > $HOME/.AndroidStudio3.6/config/studio.jdk
$ cat $HOME/.AndroidStudio3.6/config/studio.jdk
/usr/lib/jvm/java-8-oracle

4) нарешті, перезапустивши AS з сеансу DE, слід побачити вікно JAVA_HOME" Файл -> Структура проекту -> SDK Місце розташування", встановлене вище значення, і AS, і gradle повинні використовувати один і той же JRE:

Вікно структури проекту


-1

На Android Studio я зробив:

Файл> Структура проекту ...> Розташування SDK (на лівій панелі)

Потім внизу є спад, що внизу: JDK location:

Потім я вибрав / переглянув цей каталог:

C: \ Файли програм \ Java \ jdk1.8.0_181

Після цього Gradle Sync знову працював для мене, але я все одно отримую це попередження:

Android Studio використовує таке місцезнаходження JDK: C: \ Program Files \ Java \ jdk1.8.0_181, яке відрізняється від того, яке Gradle використовує за замовчуванням: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 . Використання різних місць може породжувати кілька демонів Gradle, якщо завдання Gradle виконуються з командного рядка під час використання Android Studio.

  1. Більше інформації...
  2. Налаштуйте Android Studio використовувати той же JDK, що і Gradle та проект синхронізації
  3. Не показуйте це попередження знову

Тоді я натиснув незадовільно: "Не показуйте це попередження знову": /
Shiasu-sama
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.