Android Studio 构建失败,在根项目‘ MyProject’中找不到“ Task”。”

在更改笔记本电脑并更新到 Android Studio 版本0.8.2之后尝试构建项目时,我得到了这个错误。

失败: 构建失败,有异常。

  • 出了什么问题: 在根项目‘ MyProject’中没有找到任务。

  • 运行分级任务以获得可用任务列表。使用—— stacktrace 选项运行以获取堆栈跟踪。使用—— info 或—— debug 选项运行以获得更多的日志输出。

建造失败

这是我的格拉德尔文件:

顶级设置,等级

include ':MyProject'

在 MyProject 中的 build.gradle:

apply plugin: 'com.android.application'


buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
}
}
repositories {
mavenCentral()
}


android {
compileSdkVersion 20
buildToolsVersion "20"


defaultConfig {
minSdkVersion 14
targetSdkVersion 20
}
}


dependencies {
compile 'de.timroes.android:EnhancedListView:0.3.0@aar'
compile 'com.nineoldandroids:library:2.4.0'
}

顶级建筑,级别是空的

166897 次浏览

Though late in answering, this is a hard one to Google (the single quotes) and it’s not clear what’s happening. I don't have the reputation yet to comment or ask for scope (or post 3 links), so this answer may be a little tedious.

To answer fast, you may have multiple Gradle plugins in your project.

Synchronize Gradle Wrapper and Plugins

My issue seemed to start with a corrupted IML file. Android Studio (between closing and reopening a project) began complaining an IML was gone (it wasn’t) and a module should be deleted, which I declined. It persisted, I upgraded to AS 0.8.7 (canary channel) and got stuck on the OP issue (Task '' not found in root project). This completely blocked builds so I had to dig in to Gradle.

My repair steps on OSX (please adjust for Windows):

  1. Upgrade Android Studio to 0.8.7
    • Preferences | Updates | Switch "Beta Channel" to "Canary Channel", then do a Check Now.
    • You might be able to skip this.
  2. Checked the Gradle wrapper (currently 1.12.2; don’t try to use 2.0 at this time).
    • Assuming you don’t need a particular version, use the latest supported distribution

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • This can be set in Android Studio at Preferences | Gradle (but 0.8.7 was giving me ‘invalid location’ errors).

    • The 'wrapper' is just a copy of Gradle for each Android Studio project. It allows you to have Gradle 2 in your OS, and different versions in your projects. The Android Developer docs explain that here.

    • Then adjust your build.gradle files for the plugin. The Gradle plugin version must be compatible with the distribution/wrapper version, for the whole project. As the Tools documentation (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) is slightly out of date, you can set the plugin version too low (like 0.8.0) and Android Studio will throw an error with the acceptable range for the wrapper.

Example, in build.gradle, you have this plugin:

dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
}

You can try switching it to the exact version, like this:

dependencies {
classpath "com.android.tools.build:gradle:0.12.2"
}

and (after recording what version you’re changing from in each case) verifying that every build.gradle file in your project pulls in the same plugin version. Keeping the “+” should work (for 0.12.0, 0.12.1, 0.12.2, etc), but my build succeeded when I updated Google’s Volley library (originally gradle:0.8.+) and my main project (originally 0.12.+) to the fixed version: gradle:0.12.2.

Other checks

  1. Ensure you don’t have two Android Application modules in the same Project
    • This may interact with the final solution (different Gradle versions, above), and cause

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • To check, Build | Make Project should not pop up a window asking what application you want to make.

  2. Invalidate your caches
    • File | Invalidate Caches / Restart (stackoverflow.com/a/19223269/513413)
  3. If step 2 doesn't work, delete ~/.gradle/ (www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • Quit Android Studio
    • $ rm -rf ~/.gradle/
    • Start Android Studio, then sync:
      • Tools | Android | Sync Project with Gradle Files
    • Repeat this entire sequence (quit...sync) a few times before giving up.
  4. Clean the project
    • Build | Clean Project
  5. Project structure mismatch; see https://stackoverflow.com/a/64962359/8740349 for details.

If You See This...

In my recent builds, I kept seeing horrible fails (pages of exceptions) but within seconds the messages would clear, build succeeded and the app deployed. Since I could never explain it and the app worked, I never noticed that I had two Gradle plugins in my project. So I think the Gradle plugins fought each other; one crashed, the other lost its state and reported the error.

If you have time, the 1-hour video "A Gentle Introduction to Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) really helped me approach the Gradle build files, tasks, build decisions, etc.

Disclaimer

I'm learning this entire stack, on a foreign OS, after working a different career...all at the same time and under pressure. In the last few months I have hit every wall I think Android has; I've been here quite often and this is my first post. I thought this was a hard fix, so I sincerely apologize if the quality of my answer reflects the difficulty I had in getting to it.

Download system image(of targeted android level of your project) from sdk manager for the project you have imported.

This error comes when you do not have target sdk of your android project installed in sdk folder

for eg. Your imported project's target sdk level may be android-19 and on sdk folder->system-images you may have android-21 installed. so you have to download android-19 system image and other files from sdk manager or you can copy paste it if you have the system image.

Remove:

<facet type="android" name="Android">
<configuration />
</facet>

in your iml file. That works for me.

https://plus.google.com/+AlexRuiz/posts/49hP3V9GSGe

Make sure you have the latest values in your gradle files. As of this writing:

  • buildToolsVersion "21.1.2"

  • dependencies { classpath 'com.android.tools.build:gradle:1.1.0' }

In my case, setting the 'Gradle version' same as the 'Android Plugin version' under File->Project Structure->Project fixed the issue for me.

Set the path of the root folder and after run the below command

ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial

Apparently this error has multiple causes. Here's what fixed it for me.

I was running the build command like this:

./gradlew :testapp: build

Running it without the space fixed the issue:

./gradlew :testapp:build

This happened to me recently when I close one Android Studio project and imported another Eclipse project. It seemed to be some bug in Android Studio where it preserves some gradle settings from previously open project and then get confused in the new project.

The solution was extremely simple: Close the project and shut down Android Studio completely, before re-opening it and then import/open the new project. Everything goes smoothly from then on.

This is what I did

  1. Remove .idea folder

    $ mv .idea .idea.bak

  2. Import the project again

I remove/Rename .gradle folder in c:\users\Myuser\.gradle and restart Android Studio and worked for me

Yet another solution to the same problem:

This happened to me every time I imported an eclipse project into studio using the wizard (studio version 1.3.2).

What I found, quite by chance, was that quitting out of Android studio and then restarting studio again made the problem go away.

Frustrating, but hope this helps someone...

  1. Open Command Prompt
  2. then go your project folder thru Command prompt
  3. Type gradlew build and run

Simple fix for me was

  1. Build > Clean project
  2. Restart Android Studio

I got this error when switching from one Git branch to another, and then trying to run "Clean Project". I used ack to search for the Task name, and found it in a .iml file.

My solution was to regenerate the project's .iml file by clicking (in the main menu) Tools > Android > Sync Project with Gradle Files. (Thanks to this answer.)

Sometimes, if you have opened two windows of Android Studio, and when you try to compile, this issue might happen. For me, when I was compiling a backed Google Cloud Endpoint module which was not embedded in a project, rather shared among different Android Studio projects, and when there is more than once instance open, this error use to spring up for me. But as soon as you close other windows, everything will be fine. Sometimes, you might have to restart Android Studio altogether.

Apparently this issue caused by Android Studio on the various situation but the reason is build error When importing an existing project into android studio.

In my case, I've imported my exist project where I was supposed to install few build tools then finally build configuration was done with error. In this case, just do the following things

  1. Close the current project
  2. File>New>Import Project (Don't use the open recent project)

    Note: I'm sure this kind of error is not on source code when this happened on Import project.

Problem

I specifically got the "[module_name]:prepareDebugUnitTestDependencies" task not found error, every time I ran gradle build. This happened to me after updating my Android Studio to 3.0.0.

Investigation

I had previously added command-line options to the gradle-based compiler, which you can find under: File -> Settings -> Build, Execution, Deployment -> Compiler -> Command-line Options. Specifically, I had excluded a number of tasks, including the aforementioned task. While that worked fine on the previous stable version (2.3 at that time), it seems like this was the reason behind the build failure.

Solution

This is one of many possible solutions. Make sure you have the correct command-line options specified in the settings under: File -> Settings -> Build, Execution, Deployment -> Compiler -> Command-line Options, and that none of them is causing this problem.

In my case, I removed the exclusion of this task (and other tasks that seemed related), left the unrelated tasks excluded, and it worked!

I got this problem because it could not find the Android SDK path. I was missing a local.properties file with it or an ANDROID_HOME environment variable with it.

In my case, I meet this problem that compile options in Android Studio is "stacktrace." Modify stacktrace to --stacktrace, the problem solved.

enter image description here

I have solved this problem You just need to Create file in Android Folder

Go android folder

Create file local.properties

then just add this code in local.properties file:-

If you are using MacBook then sdk.dir=/Users/USERNAME/Library/android/sdk

if you are using Windows then sdk.dir=C:\Users\USERNAME\AppData\Local\Android\sdk

if you are using Linux then sdk.dir = /home/USERNAME/Android/sdk

if you want to know what is your system USERNAME then just use command for Mac whoami

and then just rerun command react-native run-android

Thanks :)

Am on Mac so answer is as per like that.

Go to Android Studio(From Menu Bar) -> Preferences -> Build, Execution, Deployment -> Compiler . Then look for Command-Line Options , there make sure nothing typed in its Text Field. That should be empty. Then rebulid project and thats it.

I had the same problem and the "Tasks" tab doesn't appear to me on the Gradle settings, neither doing the commands gradlew signinReport or something.

I fix it doing the following steps:

1.- Add android: exported = "true" in my main activity of the AndroidManifest (because that Activity has an intent-filter)

2.- Update in Build.gradle (app) the compileSdkVersion to 31

3.- Update in the same place the targetSdkVersion also to 31.

4.- Click on "Sync now".

And that works for me.

Farewell!

For this you may simply just goto: SETTINGS > EXPERIMENTAL > Then uncheck the option: "Do not build Gradle Task List during Gradle sync", Click on "Apply" > "Ok" and then click on the "Sync Project with Gradle files" option from the right side of the menu bar. Your issue should be resolved.