J'obtiens l'erreur suivante en essayant de compiler mon projet dans Android Studio:
Gradle: error: diamond operator is not supported in -source 1.6
J'ai 1.7 défini comme cible dans toutes les préférences de projet que j'ai trouvées. Le chemin affiché dans le SDK du projet sous le SDK 1.7 est également le chemin correct vers l'installation de java 1.7.
Même lorsque j'exécute java -version dans le terminal, cela me dit que je tourne sur java 1.7.
J'ai essayé de définir la variable d'environnement JAVA_HOME sur ceci:
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
L'erreur ne disparaît pas. Comment éliminer l'erreur?
java
intellij-idea
gradle
android-studio
java-7
simekadam
la source
la source
sourceCompatibility
défini dans votre build.gradle?Réponses:
La prise en charge de Java 7 a été ajoutée aux outils de construction 19. Vous pouvez désormais utiliser des fonctionnalités telles que l'opérateur diamant, multi-catch, try-with-resources, chaînes dans les commutateurs, etc. Ajoutez ce qui suit à votre
build.gradle
.Gradle 1.7+, le plugin Android gradle 0.6. + Sont requis.
Notez que seulement essayer avec des ressources nécessitent
minSdkVersion
19. D'autres fonctionnalités fonctionnent sur les plates-formes précédentes.Lien vers le guide de l'utilisateur du plugin Android Gradle
Lien pour voir en quoi la source et la cible sont différentes
la source
Peut-être que ces réponses ci-dessus sont anciennes mais avec le nouvel Android Studios 1, vous faites ce qui suit pour voir le module à exécuter sur 1.7 (ou 1.6 si vous préférez). Cliquez sur Fichier -> Structure du projet. Sélectionnez le module que vous souhaitez exécuter, puis sous "Compatibilité source" et "Compatibilité cible", sélectionnez 1.7. Cliquez sur OK".
la source
Vous pouvez le changer dans la nouvelle version du studio Android (0.8.X)
Fichier-> Autres paramètres -> Paramètres par défaut -> Compilateur (développez-le en cliquant sur la flèche gauche) -> Compilateur Java -> Vous pouvez modifier la version du bytecode du projet ici
la source
Dernier Android Studio 1.4.
Cliquez sur Fichier-> Structure du projet-> Emplacement du SDK-> Emplacement JDK.
Vous pouvez également définir la compatibilité de la version JDK du module individuel en accédant au module (sous l'emplacement du SDK) et modifier la compatibilité de la source en conséquence. (Remarque, cela ne s'applique qu'au module Android).
la source
Faites un clic droit sur votre projet> Ouvrir les paramètres du module> Sélectionnez "Projet" dans la section "Paramètres du projet"
Modifiez le SDK du projet sur le dernier (peut être l'API 21) et le niveau de langue du projet sur 7+
la source
Actuellement, Android ne prend pas en charge Java 7, uniquement Java 6. Les nouvelles fonctionnalités de Java 7 telles que la syntaxe du diamant ne sont donc pas prises en charge actuellement. Trouver des sources pour prendre en charge ce n'est pas facile, mais je pourrais constater que le moteur Dalvic est construit sur un sous-ensemble d' Apache Harmony qui ne prend en charge que Java jusqu'à la version 6. Et si vous vérifiez la configuration système requise pour développer des applications Android, il indique également qu'au moins JDK 6 est nécessaire (bien que ce ne soit bien sûr pas une vraie preuve, juste une indication). Et ça dit à peu près la même chose que moi. Si je trouve quelque chose de plus substantiel, je l'ajouterai.
Edit: Il semble que le support de Java 7 ait été ajouté depuis que j'ai initialement écrit cette réponse; Vérifiez la réponse de Sergii Pechenizkyi .
la source
Utilisez toujours la dernière version du SDK pour créer:
Cela n'affecte pas le comportement d'exécution , mais vous offre les dernières fonctionnalités de programmation.
la source
Allez dans votre Gradle et recherchez sourceCompatibility et changez-le de 1.6 à 7 . Cela a fonctionné pour moi au moins.
Vous pouvez également accéder aux paramètres de votre module et définir la compatibilité source / cible sur 1.7.
Fenêtre des paramètres du module
Cela produira le code suivant dans votre Gradle:
la source