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

在更改笔记本电脑并更新到Android Studio版本0.8.2后尝试构build我的项目时出现此错误。

失败:生成失败,出现exception。

  • 出了什么问题:在根项目“MyProject”中找不到“任务”。

  • 尝试:运行gradle任务以获取可用任务的列表。 运行–stacktrace选项来获取堆栈跟踪。 运行–info或–debug选项来获得更多的日志输出。

构build失败

这是我的Gradle文件:

顶级settings.gradle

include ':MyProject' 

build.gradle在MyProject中:

 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' } 

顶级build.gradle是空的

尽pipe回答迟了,但这对Google(单引号)来说很难,而且还不清楚发生了什么事情。 我还没有评论或要求范围的声望(或后3链接),所以这个答案可能有点乏味。

要快速回答,您的项目中可能会有多个Gradle插件。

同步Gradle包装器和插件

我的问题似乎开始于一个损坏的IML文件。 Android Studio(closures和重新打开项目之间)开始抱怨一个IML已经消失了(不是),应该删除一个模块,我拒绝了。 它坚持下来,我升级到AS 0.8.7(金丝雀通道),并卡住OP问题(任务“没有在根项目中find)。 这完全阻止构build,所以我不得不挖到Gradle。

我在OSX上修复步骤(请调整为Windows):

  1. 将Android Studio升级到0.8.7
    • 首选项| 更新| 将“Beta Channel”切换到“Canary Channel”,然后执行Check Now。
    • 你可以跳过这个。
  2. 检查Gradle包装(目前1.12.2;此时不要尝试使用2.0)。

    • 假设您不需要特定的版本,请使用最新的受支持的版本

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

    • 这可以在首选项| Android Studio中设置 Gradle(但0.8.7给我'无效的位置'错误)。

    • “包装器”只是每个Android Studio项目的Gradle的副本。 它允许你在你的OS中使用Gradle 2,在你的项目中使用不同的版本。 Android开发人员文档在这里解释。
    • 然后调整你的插件的 build.gradle文件。 Gradle插件版本必须与整个项目的分发/包装版本兼容。 由于Tools文档(tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements)稍微过时了,您可以将插件版本设置得太低(如0.8.0)和Android Studio将会在包装器的可接受范围内抛出一个错误。

例如,在build.gradle中,你有这个插件:

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

你可以尝试切换到确切的版本,如下所示:

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

和(在每种情况下logging您要更改的版本之后)validation项目中的每个build.gradle文件都采用相同的插件版本。 保留“+”应该可以工作(0.12.0,0.12.1,0.12.2等),但是当我更新Google的Volley库(原来的gradle:0.8。+)和我的主项目(原来的0.12。 +)到固定版本:gradle:0.12.2。

其他检查

  1. 确保在同一个项目中没有两个Android应用程序模块

    • 这可能与最终的解决scheme(上面的不同Gradle版本)交互,并导致

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

    • 要检查,Build | 使项目不应该popup一个窗口询问你想要做什么应用程序。

  2. 使caching失效
    • 文件| 使caching无效/重启(stackoverflow.com/a/19223269/513413)
  3. 如果第2步不起作用,请删除〜/ .gradle /(www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • 退出Android Studio
    • $ rm -rf〜/ .gradle /
    • 启动Android Studio,然后同步:
      • 工具| Android | 与Gradle文件同步项目
    • 在放弃之前重复这个整个序列(退出…同步)几次。
  4. 清理项目
    • 构build| 清洁项目

如果你看到这个…

在我最近的版本中,我一直看到可怕的失败(例外的页面),但在几秒钟内消息将清除,build立成功,应用程序部署。 由于我永远无法解释它和应用程序的工作,我从来没有注意到我的项目中有两个Gradle插件。 所以我认为Gradle插件互相争斗; 一个坠毁,另一个失去了状态,并报告错误。

如果有时间的话,1小时的video“Gradle简介”(www.youtube.com/watch?v=OFUEb7pLLXw)确实帮助我了解了Gradle构build文件,任务和构build决策等。

放弃

在不同的职业生涯中,我正在学习整个堆栈,在一个外部操作系统上……在同一时间,在压力之下。 在过去的几个月中,我已经打到了我认为Android的每一面墙; 我经常来这里,这是我的第一篇文章。 我认为这是一个很难解决的问题,所以我真诚地道歉,如果我的答案的质量反映了我遇到的困难。

从sdk manager下载您导入的项目的系统映像(您的项目的目标android级别)。

这个错误是在你没有安装sdk文件夹的android项目的target sdk的时候发生的

例如。 您导入的项目的目标sdk级别可能是android-19和sdk文件夹 – >系统映像,您可能已安装android-21。 所以你必须从SD卡pipe理器下载android-19系统映像和其他文件,或者如果你有系统映像,你可以复制粘贴它。

去掉:

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

在你的iml文件中。 这对我行得通。

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

当我closures一个Android Studio项目并导入另一个Eclipse项目时,最近发生了这种情况。 这似乎是Android Studio中的一个错误,它保留了以前打开的项目的一些gradle设置,然后在新项目中感到困惑。

解决scheme非常简单:closures项目并完全closuresAndroid Studio,然后重新打开它,然后导入/打开新项目。 一切从此顺利进行。

简单的解决方法是

  1. 构build>清洁项目
  2. 重新启动Android Studio

显然这个错误有多个原因。 这是为我修复的。

我正在运行这样的构build命令:

 ./gradlew :testapp: build 

运行它没有空间解决问题:

 ./gradlew :testapp:build 

在我的情况下,在“文件” – >“项目结构” – >“项目”下设置与“Android插件版本”相同的“Gradle版本”为我解决了这个问题。

确保你的gradle文件中有最新的值。 在撰写本文时:

  • buildToolsVersion "21.1.2"

  • 依赖关系{classpath'com.android.tools.build:gradle:1.1.0'}

另一个解决同样问题的方法是:

这发生在我每次使用向导(工作室版本1.3.2)将eclipse项目导入到studio中时发生的。

我发现,很偶然的是,退出Android工作室,然后重新启动工作室,使问题消失。

沮丧,但希望这可以帮助别人…

有时,如果您打开了两个Android Studio窗口,并且在尝试编译时可能会发生此问题。 对于我来说,当我编译一个没有embedded到项目中的支持​​的Google Cloud Endpoint模块,而不是在不同的Android Studio项目之间共享的时候,当有多个实例打开的时候,这个错误就会出现。 但只要closures其他窗口,一切都会好的。 有时候,你可能不得不重新启动Android Studio。

设置根文件夹的path,然后运行下面的命令

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

这就是我所做的

  1. 删除.idea文件夹

    $ mv .idea .idea.bak

  2. 再次导入项目

我在c:\users\Myuser\.gradle删除/重命名.gradle文件夹并重新启动Android Studio,并为我工作

  1. 打开命令提示符
  2. 然后通过命令提示符转到您的项目文件夹
  3. 键入gradlew生成并运行

从一个Git分支切换到另一个时出现这个错误,然后尝试运行“Clean Project”。 我用acksearch任务名称,并在.iml文件中find它。

我的解决scheme是通过单击(在主菜单中)工具> Android>与Gradle文件同步项目重新生成项目的.iml文件。 ( 感谢这个答案 。)

显然这个问题引起的Android Studio上的各种情况,但原因是build立错误当导入一个现有的项目到Android Studio。

在我的情况下,我已经导入了我的存在的项目,我应该安装一些构build工具,然后最终构buildconfiguration错误。 在这种情况下,只要做以下的事情

  1. closures当前的项目
  2. 文件>新build>导入项目(不要使用打开的最近项目)

    注意:我确定这种错误不在源代码上,这发生在导入项目上

问题

我特意得到了"[module_name]:prepareDebugUnitTestDependencies" task not found错误,每次运行gradle构build。 这发生在我更新我的Android Studio 3.0.0后。

调查

我之前已经在基于gradle的编译器中添加了命令行选项,您可以在下面find它: File – > Settings – > Build,Execution,Deployment – > Compiler – > Command-line Options 。 具体来说,我已经排除了一些任务,包括上述任务。 虽然在以前的稳定版本(当时的2.3版本)上工作得很好,但是这似乎是构build失败背后的原因。

这是许多可能的解决scheme之一。 确保你有下列设置中指定的正确的命令行选项: 文件 – >设置 – >生成,执行,部署 – >编译器 – >命令行选项 ,并没有一个导致这个问题。

在我的情况下,我删除了这个任务的排除(和其他似乎相关的任务),排除了不相关的任务,它的工作!