android - 为什么 Android Studio 不断切换“语言级别”?
问题描述
很多时候,当我查看git diff
使用 Android Studio 构建的 Android 应用程序的输出时,我会看到以下内容。有时它会languageLevel
从JDK_1_7
变为JDK_1_8
。其他时候它languageLevel
从JDK_1_8
变为JDK_1_7
。怎么这么优柔寡断??
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -24,7 +24,7 @@
</value>
</option>
</component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
解决方案
1)将此添加到您的应用程序build.gradle
(在android
元素内)
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
2)从 Git 中排除.idea
文件夹,将其添加到您的项目级别.gitignore
# Ignore idea folder
.idea/
那么你需要按照这样的方式刷新你的版本化文件
对文件夹进行版本控制
.idea
仅与您的团队共享一些 AS 设置很有用,如果您是单独工作或没有共享编码策略,则可以将其删除。
推荐阅读
- powershell - 将结果输出到文本文件
- c# - 我可以在登录 Asp.net 之前重置 session_id 吗?
- java - 如果结束时间不在android中的当前日期,如何获取结束日期
- windows - 如何使用 Windows 共享文件夹作为 vagrant synced_folder?
- rest - REST 中的 QueryParam 与路径变量
- c - 将整数地址传递给 pthread_create 时的随机数
- python - 强制 pylint 分数在 github 分支上合并
- java - Assertions.assertThrows 返回 void 而它必须返回 Throwable | JUnit 5
- oracle - ORACLE APEX 5.1 进程运行很长时间后出错
- rgb - RGB 0-1 命名法