Android .idea/misc.xml 的语言级别标签不断改变 JDK

2022-08-31 06:37:20

语言级别键从JDK_1_8更改为JDK_1_7原因我不知道。

可能发生了什么?

这是否与从事该项目的其他开发人员的 IDE 有关?也许他们有另一个Android Studio设置?

以下是我注意到源代码管理下的文件已更改后弹出的内容:

$ git diff
diff --git a/.idea/misc.xml b/.idea/misc.xml
index fbb6828..5d19981 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
     <ConfirmationsSetting value="0" id="Add" />
     <ConfirmationsSetting value="0" id="Remove" />
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">

这是我的gitignore,以防万一它很重要。

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures

我该如何继续,以便它只停留在一个方向或另一个方向上?


答案 1

这让我疯狂了一段时间。我能够通过在我的:build.gradle

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

请注意,如果您使用的是 ,当您冷启动 Android Studio 或切换到另一个使用 的项目时,它将修改为使用 。执行渐变同步会将其恢复为使用 。如果您使用的是 ,则不会遇到此问题。VERSION_1_7VERSION_1_8.idea/misc.xmlJDK_1_8JDK_1_7VERSION_1_8

这并不完美,但我发现这现在已经足够好了。


答案 2

在更新到Android Studio 2.2后从Google来到这里。这可能对其他人有帮助。

从Android Studio 2.2开始,JDK已经与它捆绑在一起,而不必将其下载并安装在您的系统上。当我更新到2.2时,我的项目JDK开始切换,可能是因为现在可用的两个版本(系统和嵌入式)之间的混淆。

如果进入“文件>项目结构 (Mac OS)”,则在“SDK 位置”选项卡上,有 JDK 位置。现在有一个新的设置来使用嵌入式 JDK。一旦我切换到它,它就解决了我的问题。

enter image description here


推荐