web-dev-qa-db-fra.com

Android Studio 0.4.3 - La tâche 'assembler' n'a pas été trouvée dans le projet racine

Mis à jour à 0.4.3 l'autre jour et essayant de démarrer un nouveau projet, même pas utiliser un projet existant, et j'obtiens cette erreur:

ECHEC: La construction a échoué avec une exception.

  • Ce qui s'est mal passé: La tâche 'assembler' n'a pas été trouvée dans le projet racine 'XXX'.

  • Essayez: Exécutez les tâches de dégradé pour obtenir une liste des tâches disponibles. Exécuter avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez-la avec l'option --info ou --debug pour obtenir davantage de sorties de journal.

Voici ce que j'ai trouvé dans le fichier journal:

2014-01-26 09:50:18,186 [ 276355]   WARN - nal.AbstractExternalSystemTask - com.Android.builder.model.SourceProvider.getAidlDirectories()Ljava/util/Collection; 
com.intellij.openapi.externalSystem.model.ExternalSystemException: com.Android.builder.model.SourceProvider.getAidlDirectories()Ljava/util/Collection;
    at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.Java:185)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.Java:113)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.Java:61)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.Java:41)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.Java:37)
    at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.Java:59)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.Java:37)
    at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.Java:49)
    at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.Java:48)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.Java:137)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.Java:123)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.Java:471)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4$2.run(ExternalSystemUtil.Java:549)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.Java:464)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.Java:178)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.Java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.Java:212)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.Java:171)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.Java:373)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.Java:420)
    at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:471)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:334)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:166)
    at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
    at Java.lang.Thread.run(Thread.Java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.Java:150)

Et voici mon fichier build.gradle (intact):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.8.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

J'ai consulté quelques articles en ligne, mais aucun n'a encore fonctionné. Toute aide serait appréciée.

25
nt827

Je devais revenir à Android 0.3.2 pour que cela fonctionne avec la version 0.4.3 ne fonctionnait pas. Tout a bien fonctionné jusqu'à présent.

2
nt827

Réponse rapide

Supprimer tout ce qui se trouve entre et incluant la balise composant

<component name="FacetManager"> 
   ... <!-- remove all in this node 
</component>` 

Longue réponse

Voir http://tools.Android.com/knownissues

Si vous obtenez le message d'erreur suivant:

Gradle: 
FAILURE: Could not determine which tasks to execute.
* What went wrong:
Task 'assemble' not found in root project 'MyProject'.
* Try:
Run gradle tasks to get a list of available tasks.

Le vrai problème est que la version précédente d'Android Studio mal configuré le fichier IDEA (par exemple, MyProject.iml) - un fichier .__ supplémentaire a été ajouté. "<component name="FacetManager">" Élément XML qui ne devrait pas être présent.
Dans le cas ci-dessus, la solution consiste à modifier "MyProject.iml" et pour supprimer le noeud entier <component name="FacetManager"> ... </component>

Dans le cas de votre projet spécifique appelé XXX, vous voudriez corriger le fichier appelé XXX.iml

La documentation indique également "Vous pouvez également supprimer le dossier .idea du projet et les fichiers iml, puis réimporter vos sources dans un nouveau projet Android Studio." Non pas que cette solution fonctionne pour vous car vous ne pouvez même pas obtenir un nouveau projet à construire. 

24
Stephan Branczyk

Cela a fonctionné pour moi. Ouvrez votre racine build.gradle file.

Ajoutez ceci comme première ligne: task assemble{}

6
arshu

Je partage comment j'ai résolu le problème - Si vous supprimez une bibliothèque. vous devez vous rappeler de le supprimer également du fichier settings.gradle. sinon, il peut construire avec succès via la ligne de commande et non via le studio Android

2
Gal Bracha

Vous devrez peut-être ajouter settings.gradle avec des sous-projets.

Le fichier settings.gradle doit être placé à la racine du projet et contenir au moins la ligne suivante:

include ':app'

Référence: https://georgik.rocks/missing-run-or-debug-action-in-Android-studio/

0
palimad

Essayez de courir pour les nouvelles versions de Gradle

$ gradle init

Cela créera le build.gradle initial. Pour voir tous les commandants, lancez simplement

$ gradle
0
Roman