Android - Не могу скомпилировать на JRE - Убедитесь, что Gradle работает на JDK, а не на JRE - PullRequest
0 голосов
/ 07 января 2019

Я хочу скомпилировать свое приложение из командной строки, а не из Android Studio. Мое приложение отлично работает, когда я запускаю его из Android Studio на моем устройстве / эмуляторе, однако, когда я пытаюсь сделать:

gradlew build

Я получаю:

> Task :app:kaptGenerateStubsReleaseKotlin FAILED
Caught an exception trying to connect to Kotlin Daemon
org.gradle.api.GradleException: Kotlin could not find the required JDK tools in the Java installation 'C:\Program Files (x86)\Java\jre1.8.0_191' used by Gradle. Make sure Gradle is running on a JDK, not JRE.
        at org.jetbrains.kotlin.gradle.tasks.JarSearchingUtilKt.findToolsJar(jarSearchingUtil.kt:95)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:23)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:17)
        at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
        ...

Вот мой JAVA_HOME env var:

JAVA_HOME=C:\Program Files (x86)\Java\jre1.8.0_191

Это на самом деле JRE (а не JDK), но когда я меняю свой env var на JDK следующим образом:

JAVA_HOME=C:\Program Files\Java\jdk-11.0.1    

И я запускаю:

gradlew build

Тогда я получаю:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '11.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Вы должны использовать JDK 8, но вы используете JDK 11.

0 голосов
/ 07 января 2019

Вероятно, вы жалуетесь на тот факт, что вы пытаетесь использовать версию JDK 11, когда ваш Gradle совместим только с меньшей версией JDK.

Краткий ответ будет таким: скачайте версию JDK 1.8 и попробуйте с этим, альтернативный (и, вероятно, лучший долгосрочный) ответ будет состоять в том, чтобы обновить вашу версию Gradle до последней (то есть версии, совместимой с JDK 11).

РЕДАКТИРОВАТЬ: так Google говорит, что вам нужно минимум Gradle 5.0 для использования JDK 11:)

...