在更换笔记本电脑并更新到Android Studio版本0.8.2后尝试构建项目时出现此错误。
失败:构建因异常而失败。
- 中找不到
出了什么问题: 任务''在根项目' MyProject'。
尝试: 运行gradle任务以获取可用任务列表。使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
建立失败
以下是我的Gradle文件:
顶级settings.gradle
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'
}
顶级build.gradle为空
答案 0 :(得分:60)
虽然回答很晚,但这对Google来说很难(单引号)并且不清楚发生了什么。我还没有声誉评论或要求范围(或发布3个链接),所以这个答案可能有点单调乏味。
要快速回答,您的项目中可能有多个Gradle插件。
我的问题似乎是从一个损坏的IML文件开始。 Android Studio(在关闭和重新打开项目之间)开始抱怨IML已经消失(它不是)并且应该删除一个模块,我拒绝了。它持续存在,我升级到AS 0.8.7(金丝雀频道)并陷入OP问题(在根项目中找不到任务')。这完全阻止了构建,所以我不得不深入Gradle。
我在OSX上的修复步骤(请针对Windows进行调整):
选中Gradle包装器(目前为1.12.2;此时不要尝试使用2.0)。
假设您不需要特定版本,请使用latest supported distribution
$ vi ~/project/gradle-wrapper.properties
...
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
可以在首页|中的Android Studio中设置Gradle(但0.8.7给了我“无效位置”错误)。
例如,在build.gradle中,你有这个插件:
dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
}
您可以尝试将其切换为确切版本,如下所示:
dependencies {
classpath "com.android.tools.build:gradle:0.12.2"
}
和(在记录了每种情况下你正在改变的版本之后)验证项目中的每个build.gradle文件是否都引入了相同的插件版本。保持“+”应该可以工作(对于0.12.0,0.12.1,0.12.2等),但是当我更新Google的Volley库(原来是gradle:0.8。+)和我的主项目(最初为0.12)时,我的构建成功了。 +)到固定版本:gradle:0.12.2。
确保您在同一个项目中没有两个Android应用程序模块
这可能与最终解决方案(上面的不同Gradle版本)相互作用,并导致
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)
检查,构建| Make Project不会弹出一个窗口,询问你想要制作什么样的应用程序。
在我最近的版本中,我一直看到可怕的失败(异常页面),但在几秒钟内消息就会清除,构建成功并部署应用程序。由于我无法解释它并且应用程序有效,我从未注意到我的项目中有两个Gradle插件。所以我认为Gradle插件相互争斗;一个人坠毁了,另一个人失去了状态并报告了错误。
如果你有时间,1小时的视频“温柔的Gradle简介”(www.youtube.com/watch?v=OFUEb7pLLXw)真的帮助我接近Gradle构建文件,任务,构建决策等。< / p>
我在外国操作系统上学习了整个堆栈,经历了不同的职业生涯......所有这些都在同一时间和压力之下。在过去的几个月里,我遇到了我认为Android所拥有的每一面墙;我经常来这里,这是我的第一篇文章。我认为这是一个难以解决的问题,所以如果我的答案的质量反映了我遇到的困难,我真诚地道歉。
答案 1 :(得分:24)
从sdk manager下载已导入项目的系统映像(项目的目标安卓级别)。
如果您没有在sdk文件夹中安装Android项目的目标sdk
,则会出现此错误例如。您导入的项目的目标sdk级别可能是android-19,而在sdk文件夹 - &gt;系统映像上可能安装了android-21。所以你必须从sdk管理器下载android-19系统映像和其他文件,或者你可以复制粘贴它,如果你有系统映像。
答案 2 :(得分:13)
卸下:
<facet type="android" name="Android">
<configuration />
</facet>
你的iml文件中的。这对我有用。
答案 3 :(得分:9)
最近我关闭了一个Android Studio项目并导入了另一个Eclipse项目。它似乎是Android Studio中的一个错误,它保留了之前打开的项目中的一些gradle设置,然后在新项目中感到困惑。
解决方案非常简单:关闭项目并完全关闭Android Studio,然后重新打开它,然后导入/打开新项目。从那时起一切顺利。
答案 4 :(得分:4)
对我来说简单的解决方法是
答案 5 :(得分:3)
显然这个错误有多种原因。以下是为我修复它的原因。
我正在运行这样的构建命令:
./gradlew :testapp: build
在没有空间的情况下运行它解决了问题:
./gradlew :testapp:build
答案 6 :(得分:2)
我遇到了这个问题,因为它找不到Android SDK路径。我丢失了一个local.properties
文件或一个ANDROID_HOME
环境变量。
答案 7 :(得分:2)
在我的情况下,设置&#39; Gradle版本&#39;与Android插件版本相同&#39;在File-&gt; Project Structure-&gt; Project下为我解决了这个问题。
答案 8 :(得分:2)
有时,如果您打开了两个Android Studio窗口,并且在尝试编译时,可能会出现此问题。对我来说,当我编译一个未嵌入项目的备份Google Cloud Endpoint模块时,而是在不同的Android Studio项目中共享,并且当有多个实例打开时,这个错误用于为我提供帮助。但是一旦你关闭其他窗户,一切都会好起来的。有时,您可能必须完全重启Android Studio。
答案 9 :(得分:2)
从一个Git分支切换到另一个Git分支,然后尝试运行“Clean Project”时出现此错误。我使用ack
搜索任务名称,并在.iml文件中找到它。
我的解决方案是通过单击(在主菜单中)工具&gt;重新生成项目的.iml文件。 Android&gt;使用Gradle文件同步项目。(Thanks to this answer。)
答案 10 :(得分:1)
答案 11 :(得分:1)
每次运行gradle build时,我都会遇到"[module_name]:prepareDebugUnitTestDependencies" task not found
错误。在将我的Android Studio更新为3.0.0之后发生了这种情况。
我以前在基于gradle的编译器中添加了命令行选项,您可以在以下位置找到它:文件 - &gt;设置 - &gt;构建,执行,部署 - &gt;编译器 - &gt;命令行选项。具体来说,我已经排除了许多任务,包括上述任务。虽然这在之前的稳定版本(当时为2.3)上运行良好,但似乎这就是构建失败背后的原因。
这是许多可能的解决方案之一。 确保您在以下设置中指定了正确的命令行选项:文件 - &gt;设置 - &gt;构建,执行,部署 - &gt;编译器 - &gt;命令行选项,并且没有一个导致此问题。
就我而言,我删除了此任务的排除(以及其他似乎相关的任务),将不相关的任务排除在外,并且有效!
答案 12 :(得分:1)
针对同一问题的另一种解决方案:
每次我使用向导(工作室版本1.3.2)将eclipse项目导入工作室时,都会发生这种情况。
我发现,相当偶然的是,退出Android工作室,然后重新启动工作室再次使问题消失。
令人沮丧,但希望这有助于某人...
答案 13 :(得分:1)
确保您的gradle文件中包含最新值。在撰写本文时:
buildToolsVersion "21.1.2"
依赖项{ classpath&#39; com.android.tools.build:gradle:1.1.0&#39; }
答案 14 :(得分:0)
我在.gradle
中移除/重命名c:\users\Myuser\.gradle
文件夹并重启Android Studio并为我工作
答案 15 :(得分:0)
这就是我做的事情
删除.idea文件夹
$ mv .idea .idea.bak
再次导入项目
答案 16 :(得分:0)
显然这个问题是由Android Studio引起的各种情况,但原因是在将现有项目导入android studio时出现构建错误。
在我的情况下,我已导入我存在的项目,我本来应该安装很少的构建工具,然后最终构建配置完成了错误。在这种情况下,只需执行以下操作
答案 17 :(得分:0)
设置根文件夹的路径,然后运行以下命令
ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial
答案 18 :(得分:0)
答案 19 :(得分:0)
我已经解决了这个问题,您只需要在Android文件夹中创建文件
转到android文件夹
创建文件local.properties
然后只需将此代码添加到local.properties文件中:-
如果您使用的是MacBook,则sdk.dir = / Users / USERNAME / Library / android / sdk
如果您使用的是Windows,则sdk.dir = C:\ Users \ USERNAME \ AppData \ Local \ Android \ sdk
如果您使用的是Linux,则sdk.dir = / home / USERNAME / Android / sdk
如果您想知道您的系统USERNAME是什么,那么只需对Mac whoami使用command
然后重新运行命令react-native run-android
谢谢:)
答案 20 :(得分:0)
我在 Mac 上,所以答案就是这样。
转到Android Studio(从菜单栏)-> 首选项-> 构建、执行、部署-> 编译器。然后查找 Command-Line Options ,确保在其文本字段中没有输入任何内容。那应该是空的。然后重新构建项目,仅此而已。
答案 21 :(得分:0)
我遇到了同样的问题,在 Gradle 设置中我没有看到“任务”选项卡,也没有执行 gradlew signinReport 或其他命令。
我按照以下步骤修复它:
1.- 在 AndroidManifest 的主要活动中添加 android:exported = "true"(因为该活动有一个意图过滤器)
2.- 在 Build.gradle (app) 中将 compileSdkVersion 更新为 31
3.- 在同一位置将 targetSdkVersion 也更新为 31。
4.- 点击“立即同步”。
这对我有用。
再见!