Ключ 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">
Это мой gitignore на случай, если это имеет значение.
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
Как мне поступить так, чтобы он оставался в том или ином виде?
java
android
android-studio
kraftydevil
источник
источник
.gitignore
, и этот обходной путь идет против этого. Вы теряете возможность делиться свойствами проекта со всеми разработчиками, такими как настройки проверок / мусора, которые мы используем, чтобы предотвратить некоторые стандартные недобросовестные действия, даже не обращаясь к проверке кода. Вы можете просто добавить/.idea/misc.xml
в.gitignore
файл, чтобы решить эту проблему.Ответы:
Это сводило меня с ума на некоторое время. Я смог исправить это, явно установив версию Java в моем
build.gradle
:Обратите внимание, что если вы используете
VERSION_1_7
, при холодном запуске Android Studio или переключении на другой проект, который используетVERSION_1_8
, он будет изменен.idea/misc.xml
для использованияJDK_1_8
. Выполнение синхронизации Gradle вернет его обратно к использованиюJDK_1_7
. Если вы используетеVERSION_1_8
, у вас не будет этой проблемы.Это не идеально, но я нашел, что это достаточно хорошо на данный момент.
источник
Пришел сюда из Google после обновления до Android Studio 2.2. Это может быть полезно для других.
Начиная с Android Studio 2.2, JDK поставляется вместе с ним, вместо того, чтобы загружать и устанавливать его в своей системе. Мой проект JDK начал переключаться, когда я обновился до 2.2, возможно, из-за путаницы между двумя доступными сейчас версиями - системной и встроенной.
Если вы зайдете в «Файл»> «Структура проекта» (Mac OS), на вкладке «Расположение SDK» появится расположение JDK. Теперь появилась новая настройка для использования встроенного JDK. Как только я переключился на это, это решило мою проблему.
источник
Кажется, файл должен храниться под контролем версий . Я бы предложил оставить его в git, но игнорировать все локальные изменения:
При переключении веток в этих файлах может возникнуть конфликт. Затем вы можете использовать следующий скрипт imlreset для сброса файлов:
Создайте аналогичный скрипт для игнорирования этих файлов, если вы делаете это часто.
источник
Я решил эту проблему, когда удалил и прекратил передачу папки .idea в систему контроля версий.
Проблема в том, что некоторые из этих файлов являются конфигурациями, специфичными для компьютера, поэтому их совместное использование может быть проблемой.
Удаление его и других оскорбительных файлов было двухэтапным процессом git:
1) Добавьте этот .gitignore (из https://stackoverflow.com/a/32942758/869936 ):
2) Для каждой строки .gitignore запустите
git rm line
из командной строки.Пример:
Добавить и зафиксировать изменения
Теперь эти файлы будут сгенерированы при открытии проекта Android Studio и не будут добавлены в git.
источник
.idea
папки, потому что они не зависят от компьютера, за исключениемworkspace.xml
иtasks.xml
. При этом он не очень хорошо продуман с точки зрения контроля версий из-за подобных проблем. Я полагаю, что они в конечном итоге разобраться в беспорядке.