La clé languageLevel passe de JDK_1_8 à JDK_1_7 pour des raisons que je ne connais pas.
Que pourrait-il se passer?
Est-ce que cela a quelque chose à voir avec l'EDI d'autres développeurs travaillant sur le projet? Peut-être ont-ils un autre paramètre Android Studio?
Voici ce qui apparaît après avoir remarqué que les fichiers sous contrôle de code source ont changé:
$ 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">
Ceci est mon gitignore au cas où cela importerait.
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
Comment procéder pour que ça reste dans un sens ou dans l'autre?
java
android
android-studio
kraftydevil
la source
la source
.gitignore
, et cette solution de contournement va à l'encontre de cela. Vous perdez la possibilité de partager les propriétés du projet avec tous les développeurs, comme les inspections / paramètres de charpie que nous utilisons pour éviter certaines mauvaises pratiques standard avant même de passer à la révision du code. Vous pouvez simplement ajouter/.idea/misc.xml
au.gitignore
fichier pour résoudre ce problème.Réponses:
Cela m'a rendu fou pendant un moment. J'ai pu résoudre ce problème en définissant explicitement la version java dans mon
build.gradle
:Notez que si vous utilisez
VERSION_1_7
, lorsque vous lancez à froid Android Studio ou passez à un autre projet qui utiliseVERSION_1_8
, il sera modifié.idea/misc.xml
pour utiliserJDK_1_8
. Faire une synchronisation gradle le réinitialiseraJDK_1_7
. Si vous utilisezVERSION_1_8
, vous n'aurez pas ce problème.Ce n'est pas parfait mais j'ai trouvé que c'était assez bon pour le moment.
la source
Je suis venu ici de Google après la mise à jour vers Android Studio 2.2. Cela pourrait être utile aux autres.
Depuis Android Studio 2.2, le JDK est fourni avec lui, au lieu de devoir le télécharger et l'installer sur votre système. Mon projet JDK a commencé à basculer lorsque j'ai mis à jour vers 2.2, peut-être à cause de la confusion entre les deux versions actuellement disponibles - système et embarquée.
Si vous allez dans Fichier> Structure du projet (Mac OS), dans l'onglet Emplacement du SDK, il y a l'emplacement du JDK. Il existe maintenant un nouveau paramètre pour utiliser le JDK intégré. Une fois que je suis passé à lui, cela a résolu mon problème.
la source
Il semble que le fichier devrait être stocké sous contrôle de version . Je proposerais de le garder dans git, mais d'ignorer tous les changements locaux:
Lors du changement de branche, il peut y avoir un conflit dans ces fichiers. Ensuite, vous pouvez utiliser le script imlreset suivant pour réinitialiser les fichiers:
#!/bin/bash while read f do [ -f $f ] && git checkout $f done <<! app/app.iml wear/wear.iml !
Créez un script similaire pour ignorer ces fichiers si vous le faites souvent.
la source
J'ai résolu ce problème lorsque j'ai supprimé et arrêté de valider le dossier .idea au contrôle de code source.
Le problème est que certains de ces fichiers sont des configurations spécifiques à la machine, leur partage peut donc poser problème.
Le supprimer et d'autres fichiers incriminés était un processus git en deux étapes:
1) Ajoutez ce .gitignore (à partir de https://stackoverflow.com/a/32942758/869936 ):
#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/
2) Pour chaque ligne du .gitignore, exécutez à
git rm line
partir de la ligne de commande.Exemple:
Ajouter et valider les modifications
Désormais, ces fichiers seront générés lorsque vous ouvrirez le projet Android Studio et ils ne seront pas ajoutés à git.
la source
.idea
dossier car ils ne sont pas spécifiques à la machine, à l'exception deworkspace.xml
ettasks.xml
. Cela étant dit, ce n'est pas très bien pensé en termes de contrôle de version, à cause de problèmes comme ceux-ci. Je suppose qu'ils finiront par régler le problème.