kra*_*vil 175 java android android-studio
由于我不知道的原因,languageLevel键从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">
Run Code Online (Sandbox Code Playgroud)
如果重要的话,这是我的gitignore.
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
Run Code Online (Sandbox Code Playgroud)
我该如何进行以便它只是保持这种或那种方式?
Noe*_*oel 41
这让我疯了一会儿.我能够通过在我的显式设置java版本来修复它build.gradle:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果您正在使用VERSION_1_7,当您冷启动Android Studio或切换到另一个使用的项目时,VERSION_1_8它将修改.idea/misc.xml使用JDK_1_8.执行gradle sync会将其恢复为使用状态JDK_1_7.如果您正在使用VERSION_1_8,则不会出现此问题.
它并不完美,但我发现现在已经足够好了.
RED*_*ED_ 25
更新到Android Studio 2.2后,来自Google.这可能对其他人有所帮助.
从Android Studio 2.2开始,JDK已与它捆绑在一起,而不必在系统上下载和安装它.当我更新到2.2时,我的项目JDK开始切换,可能是因为现在可用的两个版本之间的混淆 - 系统和嵌入式.
如果您进入文件>项目结构(Mac OS),在SDK位置选项卡上,有JDK位置.现在有一个新的设置来使用嵌入式JDK.一旦我切换到它,它解决了我的问题.
似乎文件应该存储在版本控制下.我建议将它保留在git中,但忽略所有本地更改:
git update-index --assume-unchanged .idea/misc.xml
Run Code Online (Sandbox Code Playgroud)
切换分支时,这些文件可能存在冲突.然后,您可以使用以下imlreset脚本来重置文件:
#!/bin/bash
while read f
do
[ -f $f ] && git checkout $f
done <<!
app/app.iml
wear/wear.iml
!
Run Code Online (Sandbox Code Playgroud)
如果经常这样做,请创建类似的脚本来忽略这些文件.
当我删除并停止将 .idea 文件夹提交到源代码管理时,我解决了这个问题。
问题是其中一些文件是特定于计算机的配置,因此共享它们可能会成为问题。
删除它和其他有问题的文件是一个两步的 git 过程:
1)添加这个.gitignore(来自/sf/answers/2305993091/):
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Eclipse project files
.classpath
.project
# Android Studio
*.iws
*.iml
.idea
.gradle
build/
*/build/
Run Code Online (Sandbox Code Playgroud)
2) 对于 .gitignore 的每一行,git rm line从命令行运行。
例子:
$ git rm *.iws
$ git rm *.iml
$ git rm .idea
$ git rm .gradle
$ git rm build/
$ git rm */build/
Run Code Online (Sandbox Code Playgroud)
添加并提交更改
现在,当您打开 Android Studio 项目时,将生成这些文件,并且它们不会添加到 git 中。
| 归档时间: |
|
| 查看次数: |
16597 次 |
| 最近记录: |