Klucz languageLevel został zmieniony z JDK_1_8 na JDK_1_7 z powodów, których nie znam.
Co może się dziać?
Czy ma to coś wspólnego z IDE innych programistów pracujących nad projektem? Może mają inne ustawienie Android Studio?
Oto, co pojawia się po tym, jak zauważyłem, że pliki pod kontrolą źródła uległy zmianie:
$ 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">
To mój gitignore na wszelki wypadek.
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
Jak postępować tak, aby pozostało tak czy inaczej?
java
android
android-studio
kraftydevil
źródło
źródło
.gitignore
, i to obejście jest temu przeciwne. Tracisz możliwość udostępniania właściwości projektu wszystkim programistom, takich jak ustawienia inspekcji / kłaczków, których używamy, aby zapobiec niektórym standardowym złym praktykom przed przejściem do przeglądu kodu. Możesz po prostu dodać/.idea/misc.xml
do.gitignore
pliku, aby rozwiązać ten problem.Odpowiedzi:
Przez jakiś czas doprowadzało mnie to do szału. Byłem w stanie to naprawić, jawnie ustawiając wersję Java w moim
build.gradle
:Pamiętaj, że jeśli używasz
VERSION_1_7
, kiedy uruchomisz na zimno Android Studio lub przełączysz się na inny projekt, który używaVERSION_1_8
, zmodyfikuje się,.idea/misc.xml
aby użyćJDK_1_8
. Wykonanie synchronizacji stopniowej przywróci ją do używaniaJDK_1_7
. Jeśli używaszVERSION_1_8
, nie będziesz mieć tego problemu.To nie jest idealne, ale na razie uważam, że to wystarczy.
źródło
Przyszedł tutaj z Google po aktualizacji do Android Studio 2.2. Może to być pomocne dla innych.
Od Android Studio 2.2 pakiet JDK jest dołączany do niego, zamiast konieczności pobierania i instalowania go w systemie. Mój projekt JDK zaczął się przełączać, kiedy zaktualizowałem do wersji 2.2, być może z powodu zamieszania między dwiema dostępnymi teraz wersjami - systemową i wbudowaną.
Jeśli przejdziesz do Plik> Struktura projektu (Mac OS), na karcie Lokalizacja SDK znajduje się lokalizacja JDK. Teraz jest nowe ustawienie do używania wbudowanego JDK. Po przejściu na to rozwiązało mój problem.
źródło
Wygląda na to, że plik powinien być przechowywany pod kontrolą wersji . Proponuję zachować to w git, ale zignoruj wszystkie lokalne zmiany:
Podczas przełączania gałęzi może występować konflikt w tych plikach. Następnie możesz użyć następującego skryptu imlreset, aby zresetować pliki:
Utwórz podobny skrypt do ignorowania tych plików, jeśli robisz to często.
źródło
Rozwiązałem ten problem, gdy usunąłem i przestałem przekazywać folder .idea do kontroli źródła.
Problem polega na tym, że niektóre z tych plików są konfiguracjami specyficznymi dla maszyny, więc ich udostępnienie może być problemem.
Usunięcie go i innych szkodliwych plików było dwuetapowym procesem git:
1) Dodaj .gitignore (z https://stackoverflow.com/a/32942758/869936 ):
2) Uruchom każdą linię .gitignore
git rm line
z linii poleceń.Przykład:
Dodaj i zatwierdź zmiany
Teraz te pliki zostaną wygenerowane po otwarciu projektu Android Studio i nie zostaną dodane do git.
źródło
.idea
folderu, ponieważ nie są one specyficzne dla komputera, z wyjątkiemworkspace.xml
itasks.xml
. Biorąc to pod uwagę, nie jest to zbyt dobrze przemyślane pod względem kontroli wersji z powodu takich problemów. Myślę, że w końcu załatwią bałagan.