web-dev-qa-db-fra.com

Android-studio 3.4.0-3.4.2 Gradle ERREUR: Aucune valeur n'a été spécifiée pour la propriété 'manifestOutputDirectory'

lors de la mise à niveau vers Android-studio 3.4.x/gradle build plugin 3.4.x/gradle 5.3 ... se demandant si c'est un problème avec le Android plugin.

ERROR: No value has been specified for property 'manifestOutputDirectory'.

Mon script gradle n'utilise pas de variables liées au manifeste, ni n'a changé le manifeste. La version avant ma mise à niveau est Android-Studio: 3.3/Gradle pulgin: 3.3.2/Gradle: 5.3


Première mise à jour (20190508): méthode de correction (temporaire)

Recherchez une méthode de correction temporaire, mais la méthode de correction de l'erreur est encore inconnue. Façons à éviter: Je suis un système Mac OS X: Cliquez sur Android Studio-> Préférences ...-> Décocher expérimental: Synchronisez uniquement la variante active.

J'ai étudié la documentation. Cette fonctionnalité peut améliorer la vitesse de compilation. Si je trouve la méthode de correction, je souhaite continuer à cocher "Synchroniser uniquement la variante active".


Deuxième mise à jour (20190518):

L'examen de certains documents n'a pas trouvé de solution.

Mais trouvez probablement quelques conditions récurrentes pour votre référence.

Le processus de ce problème consiste à prendre l'initiative de démarrer l'opération de synchronisation de projet de Gradle. Par exemple, deux endroits dans la figure se produiront lorsque vous cliquerez sur. En cas de problème, vous devez décocher "Synchroniser uniquement la variante active". enter image description here

Cependant, après avoir compilé et installé avec succès, cochez "Synchroniser uniquement la variante active.", Ce problème ne réapparaîtra pas, même si vous modifiez le fichier build.gradle, la première notification qui doit être à nouveau synchronisée, ne cliquez pas sur "Synchroniser now ", utilisez directement run 'app' ou debug 'app', Android-studio effectuera automatiquement la synchronisation, puis compilera et exécutera, et ce problème ne se reproduira plus. enter image description here

Au début, je pensais que changer le code de build.gradle pouvait corriger ce problème. Maintenant, j'ai l'impression qu'Android-Studio ou Gradle-Plugin a des problèmes lors de l'exécution de la synchronisation de projet. J'espère que la version suivante résoudra ce problème.


Troisième mise à jour (20190821):

Android-studio 3.5.0/plugin de construction gradle 3.5.0/gradle 5.4.1

La dernière version stable actuelle a résolu ce problème.

Activer "Synchroniser uniquement la variante active" est correct.

37
Bingerz

Cliquez sur Android Studio-> Preperences-> Experimental puis vous devez décocher - Synchroniser uniquement la variante active.

Uncheck the option is checked

44
Aditya Singh

Sur une installation PC propre, j'ai essayé toutes les astuces ici et rien n'a fonctionné. J'ai remarqué un message enregistré indiquant que la licence n'était pas acceptée. J'ai ouvert le gestionnaire de SDK, téléchargé certains packages qui m'ont incité à accepter la licence et il a commencé à se synchroniser.

8
user3407078

Je viens de passer à AS 3.4 et j'ai eu le même problème. Cela se produit lors du démarrage à froid de l'application. Build > Make Project fonctionne très bien, tout comme la construction à partir de la ligne de commande.

7
Steve Yohanan

Même chose avec la réponse @ user3407078.

Dans mon cas. Cela est dû aux mises à jour d'Android Studio 3.5 , et je n'ai pas installé ou accepté la licence et l'accord pour les outils de construction et la plate-forme SDK 29 .

Checking the license for package Android SDK Build-Tools 29.0.2 in ~/Library/Android/sdk/licenses
Warning: License for package Android SDK Build-Tools 29.0.2 not accepted.
Checking the license for package Android SDK Platform 29 in ~/Library/Android/sdk/licenses
Warning: License for package Android SDK Platform 29 not accepted.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> No value has been specified for this provider.

Il est recommandé de mettre à jour les derniers outils et plate-forme SDK, dans ce cas, la version 29 . Même si nous ne développons que la version inférieure, c'est une étape obligatoire pour commencer à travailler sur votre Android Studio.

ÉDITÉ:

  1. Dans un cas rare, vous pouvez également désactiver la fonction Gradle ici thx @ waqas-khalid-obeidy
  2. Ou si vous utilisez une tâche de ligne de commande gradlew, veuillez naviguer ici pour l'explication complète. thx @ amir-ziarati
6
mochadwi

Cela m'est arrivé lorsque j'ai obtenu un nouvel ordinateur portable et fait une nouvelle installation de Android Studio.

J'ai résolu ce problème en installant la bonne version Android SDK que mon projet cible. Seule l'API 29 a été installée sur ma nouvelle machine lors d'une nouvelle installation de Android Studio , mais mon projet cible l'API 28.

Ouvrez le gestionnaire de SDK et téléchargez le SDK Android Android approprié pour votre application et cette erreur devrait se résoudre d'elle-même.

2
DiscDev

pour mon cas, c'était parce que certaines licences sdk n'étaient pas acceptées. je l'ai compris quand j'ai exécuté le gradlew via la ligne de commande. le lien ci-dessous vous montre comment accepter toutes les licences via l'outil sdkManager.

Vous n'avez pas accepté les accords de licence des composants SDK suivants

0
Amir Ziarati

Peut être manquant Java JDK, peut vouloir vérifier tha

0
Dan Riza

Dans mon cas, le problème était que j'ai opté pour une option incrémentielle

Résoudre le problème

ouvert gradle.properties fichier et supprimer la ligne

kapt.incremental.apt=true   //remove or comment this line
0
Manohar Reddy