And*_*ost 6 android intellij-idea kotlin android-studio gradle-kotlin-dsl
我最近将我的项目迁移到 Gradle 7.4.1、Android Gradle Plugin 7.1.2,因此也迁移到 JDK 11(来自 JDK 8),并且一切正常,除了当我在 Android Studio 中以调试模式运行单元测试时,它显示我这个弹出窗口:
\n\n说的是:
\n\n\n目标 JRE 版本 (11.0.11) 与项目 JDK 版本 (版本 1.8.0_242) 不匹配,将使用 JDK 中的源:11
\n
需要明确的是,到目前为止我尝试过的任何其他情况下都不会显示弹出窗口,例如:
\n如下所示,在 Gradle 设置中,我使用 JDK 11(显然;否则该项目根本无法工作):
\n\n我还使用了“选择运行时”插件来确保选择正确的 JDK:
\n\n我的环境变量也正确:
\n\xe2\x9d\xaf echo $JAVA_HOME\n/Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home\n\n\xe2\x9d\xaf which java\n/Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home/bin/java\n\n\xe2\x9d\xaf java -version\nopenjdk version "11.0.11" 2021-04-20\nOpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)\nOpenJDK 64-Bit Server VM (build 11.0.11+0-b60-7590822, mixed mode)\n\n\xe2\x9d\xaf ./gradlew --version\n\n------------------------------------------------------------\nGradle 7.4.1\n------------------------------------------------------------\n\nBuild time: 2022-03-09 15:04:47 UTC\nRevision: 36dc52588e09b4b72f2010bc07599e0ee0434e2e\n\nKotlin: 1.5.31\nGroovy: 3.0.9\nAnt: Apache Ant(TM) version 1.10.11 compiled on July 10 2021\nJVM: 11.0.11 (JetBrains s.r.o. 11.0.11+0-b60-7590822)\nOS: Mac OS X 12.3 x86_64\nRun Code Online (Sandbox Code Playgroud)\n我正在使用 Android Studio Bumblebee。完整版本信息:
\nAndroid Studio Bumblebee | 2021.1.1 Patch 2\nBuild #AI-211.7628.21.2111.8193401, built on February 17, 2022\nRuntime version: 11.0.11+0-b60-7590822 x86_64\nVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.\nmacOS 12.3\nGC: G1 Young Generation, G1 Old Generation\nMemory: 4096M\nCores: 16\nRegistry: external.system.auto.import.disabled=true\nNon-Bundled Plugins: com.intellij.marketplace (211.7628.36), com.jetbrains.ChooseRuntime (1.2), com.phrase.intellij (4.0.1), com.vladsch.idea.multimarkdown (3.0.202.112), org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40)\nRun Code Online (Sandbox Code Playgroud)\n我还查看了 Android Studio 生成的一些日志,它们似乎也是正确的:
\n2022-03-31 20:40:16,521 [ 0] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE STARTED ------------------------------------------------------ \n2022-03-31 20:40:16,547 [ 26] INFO - .intellij.util.EnvironmentUtil - loading shell env is skipped: IDE has been launched from a terminal (SHLVL=2) \n2022-03-31 20:40:16,574 [ 53] INFO - #com.intellij.idea.Main - IDE: Android Studio (build #AI-211.7628.21.2111.8193401, 17 Feb 2022 08:12) \n2022-03-31 20:40:16,576 [ 55] INFO - #com.intellij.idea.Main - OS: Mac OS X (12.3, x86_64) \n2022-03-31 20:40:16,582 [ 61] INFO - #com.intellij.idea.Main - JRE: 11.0.11+0-b60-7590822 (JetBrains s.r.o.) \n2022-03-31 20:40:16,583 [ 62] INFO - #com.intellij.idea.Main - JVM: 11.0.11+0-b60-7590822 (OpenJDK 64-Bit Server VM) \n2022-03-31 20:40:16,586 [ 65] INFO - #com.intellij.idea.Main - JVM Args: -Xms256m -Xmx1280m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -Dsun.io.useCanonCaches=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Djna.nosys=true -Djna.boot.library.path= -Didea.vendor.name=Google -XX:ErrorFile=/Users/azabost/java_error_in_studio_%p.log -XX:HeapDumpPath=/Users/azabost/java_error_in_studio.hprof -Xmx4096m -Djb.vmOptionsFile=/Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/bin/studio.vmoptions,/Users/azabost/Library/Application Support/Google/AndroidStudio2021.1/studio.vmoptions -Didea.paths.selector=AndroidStudio2021.1 -Didea.executable=studio -Didea.platform.prefix=AndroidStudio -Didea.vendor.name=Google -Didea.home.path=/Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents \n2022-03-31 20:40:16,586 [ 65] INFO - #com.intellij.idea.Main - library path: /Users/azabost/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:. \n2022-03-31 20:40:16,586 [ 65] INFO - #com.intellij.idea.Main - boot library path: /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home/lib \n2022-03-31 20:40:16,603 [ 82] INFO - #com.intellij.idea.Main - locale=en_GB JNU=UTF-8 file.encoding=UTF-8\n idea.config.path=/Users/azabost/Library/Application Support/Google/AndroidStudio2021.1\n idea.system.path=/Users/azabost/Library/Caches/Google/AndroidStudio2021.1\n idea.plugins.path=/Users/azabost/Library/Application Support/Google/AndroidStudio2021.1/plugins\n idea.log.path=/Users/azabost/Library/Logs/Google/AndroidStudio2021.1\n\n...\n\n2022-03-31 21:32:13,214 [3116693] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:32:13,590 [3117069] INFO - ild.invoker.GradleBuildInvoker - Gradle build cancelled in 26 s 350 ms \n2022-03-31 21:32:17,748 [3121227] WARN - idea.lint.common.LintIdeClient - com.toastfix.toasthandler_lint.registry.ToastHandlerIssueRegistry in /Users/azabost/.gradle/caches/transforms-3/5cacc53feafc83908b80485cdde0ce02/transformed/jetified-ToastHandler-1.2.1/jars/lint.jar does not specify a vendor; see IssueRegistry#vendor \n2022-03-31 21:32:17,770 [3121249] WARN - idea.lint.common.LintIdeClient - dagger.lint.DaggerIssueRegistry in /Users/azabost/.gradle/caches/transforms-3/1d8efdd70f0fe0cb2ac32270bc2ae5c2/transformed/jetified-dagger-lint-aar-2.37/jars/lint.jar does not specify a vendor; see IssueRegistry#vendor \n2022-03-31 21:32:39,862 [3143341] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:32:39,863 [3143342] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:32:39,863 [3143342] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:32:39,863 [3143342] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:33:15,802 [3179281] INFO - STDERR - invalid Unicode Property \\p: /(?<=^[\\s\\d\\p])\\bV\\b/ \n2022-03-31 21:33:56,220 [3219699] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:33:56,220 [3219699] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:33:56,228 [3219707] INFO - ild.invoker.GradleBuildInvoker - About to execute Gradle tasks: [:exampleModule:testDebugUnitTest] \n2022-03-31 21:33:56,231 [3219710] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:33:56,232 [3219711] INFO - ild.invoker.GradleBuildInvoker - Build command line options: [--continue, -Pandroid.injected.invoked.from.ide=true, -Pandroid.injected.studio.version=2021.1.1 Patch 2, -Pandroid.injected.attribution.file.location=/Users/azabost/projects/app-android/.gradle, --init-script, /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijmapper.gradle, --tests, net.example.app.ExampleTest.Example test, --init-script, /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijresolvers1.gradle] \n2022-03-31 21:33:56,233 [3219712] INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: --continue -Pandroid.injected.invoked.from.ide=true -Pandroid.injected.studio.version=2021.1.1 Patch 2 -Pandroid.injected.attribution.file.location=/Users/azabost/projects/app-android/.gradle --init-script /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijmapper.gradle --tests net.example.app.ExampleTest.Example test --init-script /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijresolvers1.gradle\nRun Code Online (Sandbox Code Playgroud)\n也许值得一提的是,由于该项目相当大(超过 200 个 Gradle 模块)并且它由 Android 库项目(即插件com.android.library)和纯 Kotlin 模块(即没有 Android 插件,只有插件kotlin)组成,我尝试将 Gradle 配置保留在一个位置,我尝试使用我自己的实用函数或 Gradle 内置函数以相同的方式配置所有模块,例如allprojects.
例如,要确保所有模块都具有 Kotlin 的jvmTarget设置为相同版本,我使用:
Android Studio Bumblebee | 2021.1.1 Patch 2\nBuild #AI-211.7628.21.2111.8193401, built on February 17, 2022\nRuntime version: 11.0.11+0-b60-7590822 x86_64\nVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.\nmacOS 12.3\nGC: G1 Young Generation, G1 Old Generation\nMemory: 4096M\nCores: 16\nRegistry: external.system.auto.import.disabled=true\nNon-Bundled Plugins: com.intellij.marketplace (211.7628.36), com.jetbrains.ChooseRuntime (1.2), com.phrase.intellij (4.0.1), com.vladsch.idea.multimarkdown (3.0.202.112), org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40)\nRun Code Online (Sandbox Code Playgroud)\n在每个 Android 模块中我还执行以下操作:
\n2022-03-31 20:40:16,521 [ 0] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE STARTED ------------------------------------------------------ \n2022-03-31 20:40:16,547 [ 26] INFO - .intellij.util.EnvironmentUtil - loading shell env is skipped: IDE has been launched from a terminal (SHLVL=2) \n2022-03-31 20:40:16,574 [ 53] INFO - #com.intellij.idea.Main - IDE: Android Studio (build #AI-211.7628.21.2111.8193401, 17 Feb 2022 08:12) \n2022-03-31 20:40:16,576 [ 55] INFO - #com.intellij.idea.Main - OS: Mac OS X (12.3, x86_64) \n2022-03-31 20:40:16,582 [ 61] INFO - #com.intellij.idea.Main - JRE: 11.0.11+0-b60-7590822 (JetBrains s.r.o.) \n2022-03-31 20:40:16,583 [ 62] INFO - #com.intellij.idea.Main - JVM: 11.0.11+0-b60-7590822 (OpenJDK 64-Bit Server VM) \n2022-03-31 20:40:16,586 [ 65] INFO - #com.intellij.idea.Main - JVM Args: -Xms256m -Xmx1280m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -Dsun.io.useCanonCaches=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Djna.nosys=true -Djna.boot.library.path= -Didea.vendor.name=Google -XX:ErrorFile=/Users/azabost/java_error_in_studio_%p.log -XX:HeapDumpPath=/Users/azabost/java_error_in_studio.hprof -Xmx4096m -Djb.vmOptionsFile=/Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/bin/studio.vmoptions,/Users/azabost/Library/Application Support/Google/AndroidStudio2021.1/studio.vmoptions -Didea.paths.selector=AndroidStudio2021.1 -Didea.executable=studio -Didea.platform.prefix=AndroidStudio -Didea.vendor.name=Google -Didea.home.path=/Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents \n2022-03-31 20:40:16,586 [ 65] INFO - #com.intellij.idea.Main - library path: /Users/azabost/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:. \n2022-03-31 20:40:16,586 [ 65] INFO - #com.intellij.idea.Main - boot library path: /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home/lib \n2022-03-31 20:40:16,603 [ 82] INFO - #com.intellij.idea.Main - locale=en_GB JNU=UTF-8 file.encoding=UTF-8\n idea.config.path=/Users/azabost/Library/Application Support/Google/AndroidStudio2021.1\n idea.system.path=/Users/azabost/Library/Caches/Google/AndroidStudio2021.1\n idea.plugins.path=/Users/azabost/Library/Application Support/Google/AndroidStudio2021.1/plugins\n idea.log.path=/Users/azabost/Library/Logs/Google/AndroidStudio2021.1\n\n...\n\n2022-03-31 21:32:13,214 [3116693] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:32:13,590 [3117069] INFO - ild.invoker.GradleBuildInvoker - Gradle build cancelled in 26 s 350 ms \n2022-03-31 21:32:17,748 [3121227] WARN - idea.lint.common.LintIdeClient - com.toastfix.toasthandler_lint.registry.ToastHandlerIssueRegistry in /Users/azabost/.gradle/caches/transforms-3/5cacc53feafc83908b80485cdde0ce02/transformed/jetified-ToastHandler-1.2.1/jars/lint.jar does not specify a vendor; see IssueRegistry#vendor \n2022-03-31 21:32:17,770 [3121249] WARN - idea.lint.common.LintIdeClient - dagger.lint.DaggerIssueRegistry in /Users/azabost/.gradle/caches/transforms-3/1d8efdd70f0fe0cb2ac32270bc2ae5c2/transformed/jetified-dagger-lint-aar-2.37/jars/lint.jar does not specify a vendor; see IssueRegistry#vendor \n2022-03-31 21:32:39,862 [3143341] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:32:39,863 [3143342] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:32:39,863 [3143342] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:32:39,863 [3143342] INFO - t.javadoc.JavaDocInfoGenerator - Wrong navElement: FUN; original = KtUltraLightMethodForSourceDeclaration:fetchAndCacheProductsWithSearchData of class class org.jetbrains.kotlin.asJava.classes.KtUltraLightMethodForSourceDeclaration \n2022-03-31 21:33:15,802 [3179281] INFO - STDERR - invalid Unicode Property \\p: /(?<=^[\\s\\d\\p])\\bV\\b/ \n2022-03-31 21:33:56,220 [3219699] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:33:56,220 [3219699] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:33:56,228 [3219707] INFO - ild.invoker.GradleBuildInvoker - About to execute Gradle tasks: [:exampleModule:testDebugUnitTest] \n2022-03-31 21:33:56,231 [3219710] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/azabost/JetBrainsToolbox/apps/AndroidStudio/ch-3/211.7628.21.2111.8193401/Android Studio.app/Contents/jre/Contents/Home \n2022-03-31 21:33:56,232 [3219711] INFO - ild.invoker.GradleBuildInvoker - Build command line options: [--continue, -Pandroid.injected.invoked.from.ide=true, -Pandroid.injected.studio.version=2021.1.1 Patch 2, -Pandroid.injected.attribution.file.location=/Users/azabost/projects/app-android/.gradle, --init-script, /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijmapper.gradle, --tests, net.example.app.ExampleTest.Example test, --init-script, /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijresolvers1.gradle] \n2022-03-31 21:33:56,233 [3219712] INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: --continue -Pandroid.injected.invoked.from.ide=true -Pandroid.injected.studio.version=2021.1.1 Patch 2 -Pandroid.injected.attribution.file.location=/Users/azabost/projects/app-android/.gradle --init-script /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijmapper.gradle --tests net.example.app.ExampleTest.Example test --init-script /private/var/folders/87/kglctjzn0znd_3kx9m038jf80000gn/T/ijresolvers1.gradle\nRun Code Online (Sandbox Code Playgroud)\n不幸的是,我在互联网上找到的类似问题的大多数答案通常都会提到在 IDE 的 Gradle 设置中设置正确的 JDK 路径,有时还会提到诸如jvmTarget到目前为止,这些技巧都对我不起作用(除非我做错事了)。
您知道导致该问题的原因以及如何解决该问题吗?
\n| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |