Je sais que cette question m'a été posée à plusieurs reprises et j'ai suivi la plupart des réponses mais aucune de celles-ci ne m'a aidé. C'est donc mon problème, chaque fois que je synchronise mon projet, il échoue toujours. Voici à quoi ressemble la console Gradle:
Exécution des tâches: [: app: generateDebugSources, : app: generateDebugAndroidTestSources,: app: mockableAndroidJar, : application: prepareDebugUnitTestDependencies]
La configuration à la demande est une fonctionnalité d’incubation. Java incrémentiel la compilation est une caractéristique en incubation. : app: preBuild UP-TO-DATE : app: preDebugBuild UP-TO-DATE: app: checkDebugManifest : app: preReleaseBuild MISE À JOUR : app: prepareComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-DATE: application: prepareComAndroidSupportAppcompatV72420Library UP-TO-DATE: application: prepareComAndroidSupportDesign2420Library UP-TO-DATE : app: prepareComAndroidSupportMediarouterV72300Library MISE À JOUR : app: prepareComAndroidSupportRecyclerviewV72420Bibliothèque ACTUALISÉE : app: prepareComAndroidSupportSupportCompat2420Library ACTUALISÉE : app: prepareComAndroidSupportSupportCoreUi2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportCoreUtils2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportFragment2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportMediaCompat2420Library UP-TO-DATE : app: prepareComAndroidSupportSupportV42420Library à jour : app: prepareComAndroidSupportSupportVectorDrawable2420Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServices940Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAds940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesAdsLite940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesAnalytics940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesAppindexing940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesAppinvite940Library MISE À JOUR: app: prepareComGoogleAndroidGmsPlayServicesAuth940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesAuthBase940Library UP-TO-DATE: application: prepareComGoogleAndroidGmsPlayServicesBase940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesBasement940Library MISE À JOUR: app: prepareComGoogleAndroidGmsPlayServicesCast940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesCastFramework940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesClearcut940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesContextmanager940Library UP-TO-DATE: application: prepareComGoogleAndroidGmsPlayServicesDrive940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesFitness940Library UP-TO-DATE: application: prepareComGoogleAndroidGmsPlayServicesGames940Library MISE À JOUR: app: prepareComGoogleAndroidGmsPlayServicesGass940Library UP-TO-DATE: application: prepareComGoogleAndroidGmsPlayServicesGcm940Library À JOUR : app: prepareComGoogleAndroidGmsPlayServicesIdentity940Library FAILURE: La construction a échoué avec une exception.
Qu'est-ce qui a mal tourné: Java.lang.NullPointerException (pas de message d'erreur)
Essayez: Exécuter avec l'option --stacktrace pour obtenir le suivi de la pile. Exécutez-la avec l'option --info ou --debug pour obtenir davantage de sorties de journal.
ÉCHEC DE CONSTRUCTION
Temps total: 7.518 secondes
ET ce sont mes dépendances
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:24.2.0'
compile 'com.Android.support:design:24.2.0'
compile 'com.google.Android.gms:play-services:9.4.0'
testCompile 'junit:junit:4.12'
compile 'com.google.Android.gms:play-services-location:9.4.0'
compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-database:9.0.2'
compile 'com.firebase:firebase-client-Android:2.4.0'
compile 'com.google.firebase:firebase-core:9.4.0'
}
apply plugin: 'com.google.gms.google-services'
Comment résoudre le problème?
J'ai supprimé le dossier .gradle du projet et j'ai pu le reconstruire à nouveau.
N.B: Faites une sauvegarde, juste au cas où.
Ce problème s'est créé lorsque le système a soudainement redémarré, puis dégradé le fichier. et ce fichier corrompu mis en cache, nous devons donc supprimer ce fichier de votre projet
your_project_path/.gradle/2.14.1/taskArtifacts
Il sera re-généré à nouveau.
Puis redémarrez le studio Android et recompilez le projet.
source: https://code.google.com/p/Android/issues/detail?id=220741#c13
C'est travaillé pour moi.
Si vous rencontrez toujours ce problème, même après avoir supprimé le dossier .gradle sous le chemin de votre projet, comme suggéré ci-dessus , , supprimez tous les processus Java exécutés sur le gestionnaire de tâches et essayez de mettre à jour votre Android. Studio.
J'étais dans la même situation mais maintenant cela fonctionne bien.
J'espère que ça aide!
Le problème est probablement le fichier gradle.properties. Si vous tapez ./gradlew tasks
dans le terminal, vous voyez l'erreur que vous avez mentionnée, mais ./gradlew tasks --info
affiche plus de détails sur l'erreur. Pour moi, dans tous mes projets, c'était le même message d'erreur:
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home,daemonRegistryDir=/Users/christian/.gradle/daemon,pid=66346,idleTimeout=null,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=4bf81505-0eab-4f50-859a-8c9c616b97e5,javaHome=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home,daemonRegistryDir=/Users/christian/.gradle/daemon,pid=65018,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Solution: (inutile de modifier .bash_profile
, de rétrograder gradient ou de supprimer gradle.folder).
org.gradle.Java.home=path
dans gradle.properties. où path
est le chemin Java d'Android Studio (accueil Java indiqué dans le journal --info
). Pour moi, c'est /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
, pour vous, le chemin pourrait être différent.Voici à quoi ressemble mon fichier gradle.properties après le changement:
org.gradle.Java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
org.gradle.daemon=true
Notes : L'espace entre "Android Studio" dans le chemin est intentionnel, il ne fonctionne pas si un trait de soulignement est utilisé. Les caractères d'échappement \
sont autorisés mais pas nécessaires: ...Android\ Studio.app/Contents/jre....
J'ai également activé le programme d'exécution du démon, mais cela n'est pas nécessaire pour que gradlew puisse exécuter ses tâches. Si votre erreur de pointeur NULL est différente, utilisez --info
pour vous orienter dans la bonne direction.
Je suis entrain de courir:
Android Studio 3.1.4 (on a Mac 10.13)
Java version "10"
classpath 'com.Android.tools.build:gradle:3.1.4' (dependency)
J'espère que ça aide quelqu'un!
Supprimer les lignes ci-dessous des dépendances, car vous compilez déjà une dépendance complète des services de jeu
compile 'com.google.Android.gms:play-services-location:9.4.0'
compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
Vérifiez votre app/build.gradle
. Mon problème était un '
dans une dépendance.
compile 'com.google.Android.gms:play-services-location:9.4.0'
compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-database:9.0.2'
Je ne suis pas sûr que ce soit le coupable, mais vous avez un sacré bordel avec les versions utilisées ici. Essayez d'utiliser des versions récentes ou au moins identiques pour tous les composants associés.
Cet outil peut vous aider à rester synchronisé à l'avenir: https://github.com/ben-manes/gradle-versions-plugin
J'ai eu un problème similaire lors de l'importation de Firebase dans mon projet. Tout d’abord, assurez-vous que vous avez bien suivi les étapes du didacticiel et importé le fichier .json fourni dans le bon répertoire.
De plus, depuis que firebase v9.0 a été implémenté dans les services de Google Play, pour que firebase fonctionne correctement, assurez-vous que les services de Google Play sont à jour sur le périphérique que vous testez,
J'ai également trouvé cette réponse utile lors de la résolution de mon problème https://stackoverflow.com/a/37310513/6728099
J'ai le même problème quand la version Java est 1.9
jenv use Java 1.8
tout problème est résolu.
Je recevais un NPE en raison de la version jdk, le passage de 11 à 8 a résolu ce problème
Pour supprimer jdk 11
Sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:kaptDebugKotlin'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.Java:110)
Caused by: Java.lang.NullPointerException
at org.gradle.workers.internal.DefaultWorkerExecutor$2.transform(DefaultWorkerExecutor.Java:164)
at org.gradle.workers.internal.DefaultWorkerExecutor$2.transform(DefaultWorkerExecutor.Java:161)
at org.gradle.util.CollectionUtils.collect(CollectionUtils.Java:204)
at org.gradle.util.CollectionUtils.collect(CollectionUtils.Java:187)
at org.gradle.util.CollectionUtils.collect(CollectionUtils.Java:191)
at org.gradle.workers.internal.DefaultWorkerExecutor.getDaemonForkOptions(DefaultWorkerExecutor.Java:161)
at org.gradle.workers.internal.DefaultWorkerExecutor.submit(DefaultWorkerExecutor.Java:96)
at org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask.compile(KaptWithoutKotlincTask.kt:75)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)