Question

Je n'arrive pas à compiler mes applications Android en raison d'une exception vraiment ennuyeuse d'Android Studio :

]()![enter image description here

Execution failed for task ':myapp-services:compileDebugJava'.
    Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.

Je suis sur Ubuntu 12.04 et j'utilise Java 7 JRE/JDK d'Oracle.

Dans ~/.bashrc:

export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"

Dans android-studio/bin/studio.sh:

export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"

Sortie de javac -version:

javac 1.7.0_51

Sortie de java -version:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

Sortie de printenv JAVA_HOME:

/usr/lib/jvm/java-7-oracle

Sortie de which javac:

/usr/bin/javac

Je me suis également déconnecté et reconnecté à ma session.

Je ne suis vraiment pas sûr de ce qui me manque ici.Pourquoi Android Studio ne parvient-il pas à compiler mon application ?

Était-ce utile?

La solution 2

J'ai trouvé une solution dans une réponse différente:

rm ~/.AndroidStudioPreview/config/options/jdk.table.xml

Ce qui semble s'être produit, c'est que quelque chose a été configuré pour une version précédente d'Android Studio et que cette configuration a duré trop longtemps :)

Autres conseils

Je l'ai résolu en mettant à jour build.gradle (Top-Level) avec

classpath 'com.android.tools.build:gradle:2.1.2'

J'obtenais également cette erreur.Après de nombreuses heures à essayer de le résoudre, j'ai réussi à résoudre le problème.

Dans mon cas, exécuter l’application depuis la ligne de commande a fait l’affaire !

Voici ce que j'ai fait (j'utilise Windows 10).S'il vous plaît, exécutez ces commandes à la racine du projet (où nous avons le application annuaire):

1) gradlew assembleDebug

  • Gradle exécutera ses tâches et vous devriez voir le message : CONSTRUIRE AVEC RÉUSSITE

2) adb install -r app\build\outputs\apk\app-debug-unaligned.apk

  • Après avoir exécuté cette ligne, vous verrez le message :100%] /data/local/tmp/app-debug-unaligned.apk pkg:/data/local/tmp/app-debug-unaligned.apk Succès

3) adb shell suis start -n package_name/package_name.MainActivity, où "package_name" doit être remplacé par le nom de votre package (vous pouvez le trouver sur AndroidManifest.xml).Si "MainActivity" n'est pas votre activité de lanceur, remplacez-la par votre propre activité.

  • Vous verrez le message : Départ:Intention { cmp=package_name/.MainActivity }, où "package_name" est le nom du package de votre application.

Il installera l'application sur votre appareil et après cela, Android Studio semble retrouver la variable JAVA_HOME.Vous devriez pouvoir exécuter l'application en appuyant sur le bouton "Exécuter" sur Android Studio.

J'espère que ça aide quelqu'un !

Je l'ai résolu en mettant à jour le chemin de classe de (build.gradle (Project:projectName))

classpath 'com.android.tools.build:gradle:2.2.3' 

mettre à jour le module build.gradle

    classpath 'com.android.tools.build:gradle:3.0.1'

J'ai résolu mon problème

Accédez à Paramètres-> Structure du projet-> Chemin JDK et remplacez-le par le JDK système au lieu du Studio JDK, vous serez opérationnel.

Je viens de télécharger la dernière version (android-studio-ide-1641136.dmg) et je viens de modifier le contenu du fichier Info.plist.Il est initialement configuré pour utiliser la version 1.6* à partir de la version Java.J'ai installé la version 1.8, je viens donc de passer à la version 1.8* et j'ai fonctionné.

Je suis sur Mac Yosemite.

J'ai trouvé un problème avec le fichier Android Studio Studio.Bat et ici

    ::------------------------------------------------------
    :: Locate a JDK installation directory which will be used to run the IDE.
    :: Try (in order): ANDROID_STUDIO_JDK, ..\jre, JDK_HOME, JAVA_HOME.
    :: ---------------------------------------------------------------------
    IF EXIST "%ANDROID_STUDIO_JDK%" SET JDK=%ANDROID_STUDIO_JDK%
    IF NOT "%JDK%" == "" GOTO jdk
    IF EXIST "%~dp0\..\jre" SET JDK=%~dp0\..\jre
    IF NOT "%JDK%" == "" GOTO jdk
    IF EXIST "%JDK_HOME%" SET JDK=%JDK_HOME%
    IF NOT "%JDK%" == "" GOTO jdk
    IF EXIST "%JAVA_HOME%" SET JDK=%JAVA_HOME%
    IF "%JDK%" == "" GOTO error

Avez-vous le problème dans les 2 dernières lignes de code ?
Il semble que si votre variable d'environnement est %JAVA_HOME%, le fichier de commandes affichera une erreur GOTO et un message d'erreur s'affichera et c'est tout AUCUN STUDIO ANDROID POUR VOUS, même si %JAVA_HOME% contient un chemin valide mais si la variable d'environnement ressemble à %ANDROID_STUDIO_JDK% comme le mien c'est parce que je l'ai créé moi-même alors ça fonctionnera


SOLUTIONS PROPOSÉES

(1) Modifier le fichier batch où vous voyez ceciIF EXIST "%JAVA_HOME%" SET JDK=%JAVA_HOME% IF "%JDK%" == "" GOTO error
Change-le en ceci
IF EXIST "%JAVA_HOME%" SET JDK=%JAVA_HOME% IF NOT "%JDK%" == "" GOTO jdk IF "%JDK%" == "" GOTO error
(2) Créer une variable environnementale nommée% android_studio_jdk% comme indiqué icihttps://kb.wisc.edu/cae/page.php?id=24500

Vérifier écho $JAVA_HOME

si cela ne vous donne pas le chemin correct.suivre définition du chemin JAVA_HOME sur Ubuntu

si cela vous donne le chemin correct, vous devez mettre à jour la version de votre plugin Gradle (cela a fonctionné pour moi) et reconstruire le projet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top