Android gradle项目build出问题,求教各位大神

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android gradle项目build出问题,求教各位大神相关的知识,希望对你有一定的参考价值。

build出现error如下

Error:FAILURE: Build failed with an exception.

* What went wrong:
Task 'generateBaiduReleaseSources' not found in project ':myApp'.

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

参考技术A 很明显啊,你是不是调用百度的什么东西了,错误显示这个百度资源在你的myApp中没有找到,你把这个资源添加进去就可以了。本回答被提问者和网友采纳

为啥一个 Android Studio 项目中有两个 build.gradle 文件?

【中文标题】为啥一个 Android Studio 项目中有两个 build.gradle 文件?【英文标题】:Why are there two build.gradle files in an Android Studio project?为什么一个 Android Studio 项目中有两个 build.gradle 文件? 【发布时间】:2014-06-08 03:09:41 【问题描述】:

将 Eclipse 项目导入 Android Studio 后,我看到两个 build.gradle 文件:

1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle

第一个版本较短,第二个版本包含compileSdkVersion等的定义。

拥有两个独立文件的目的是什么?是否有单独的构建任务?

【问题讨论】:

与Difference between build.gradle(Project) and build.gradle(Module)类似的问题 【参考方案1】:

&lt;PROJECT_ROOT&gt;\app\build.gradle 专用于应用模块

&lt;PROJECT_ROOT&gt;\build.gradle 是一个“***构建文件”,您可以在其中添加所有子项目/模块通用的配置选项。

如果您在项目中使用另一个模块,作为本地库,您将拥有另一个 build.gradle 文件: &lt;PROJECT_ROOT&gt;\module\build.gradle

对于***文件中的 example,您可以指定以下常用属性:

buildscript 
    repositories 
        mavenCentral()
    

    dependencies 
        classpath 'com.android.tools.build:gradle:1.3.0'
    


ext 
    compileSdkVersion = 23
    buildToolsVersion = "23.0.1"

在你的app\build.gradle

apply plugin: 'com.android.application'

repositories 
    mavenCentral()


android 
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

【讨论】:

+1 谢谢,将立即接受您的回答。 build.gradle 文件是否必须存在才能触发构建?另外,***构建文件是否调用子级文件? (虽然没有证据。) 如果你想用 gradle 构建项目,build.gradle 文件是必须的。 Android Studio 不需要 gradle,但强烈推荐。顶层文件不调用子文件; gradle 适用于任务,但很难在评论中解释。 非常感谢 Gabriele,这将使我开始。 尤其是rootProject.ext.compileSdkVersion 结构信息量很大。 到底是用ext...绕道还是直接将android插件和compileSdkVersion应用到顶层构建文件?【参考方案2】:

来自官方文档:

Android Studio 项目包含一个***项目 Gradle 构建文件,允许您添加项目中所有应用程序模块通用的配置选项。每个应用程序模块还有自己的build.gradle 文件,用于特定于该模块的构建设置。

项目构建文件

&lt;PROJECT_ROOT&gt;\build.gradleProject Build File 用于整个项目,因此它将用于全局项目配置。 典型的项目构建文件包含以下内容:

buildscript 定义: 存储库和 依赖关系 Gradle 插件版本

默认情况下,项目级 Gradle 文件使用 buildscript 来定义 Gradle repositoriesdependencies。这允许不同的项目使用不同的 Gradle 版本。支持的存储库包括 JCenter、Maven Central 或 Ivy。此示例声明构建脚本使用 JCenter 存储库和包含适用于 Gradle 版本 1.0.1 的 Android 插件的类路径依赖项工件。


模块构建文件

&lt;PROJECT_ROOT&gt;\app\build.gradleModule Build File 用于特定模块,因此它将用于特定模块级别的配置。 模块构建文件包含以下内容:

安卓设置 compileSdkVersion buildToolsVersion defaultConfig 和 productFlavors 清单属性,例如 applicationId、minSdkVersion、targetSdkVersion 和测试信息 构建类型 构建属性,例如可调试、ProGuard 启用、调试签名、版本名称后缀和测试信息 依赖关系

你可以在这里阅读官方文档:

Projects and modules build settings

【讨论】:

以上是关于Android gradle项目build出问题,求教各位大神的主要内容,如果未能解决你的问题,请参考以下文章

React Native:找不到 com.android.tools.build:gradle:2.2.3

build.gradle 文件中的 compileKotlin 块抛出错误“找不到参数的方法 compileKotlin() [...]”

Android Studio 将外部项目添加到 build.gradle

为啥一个 Android Studio 项目中有两个 build.gradle 文件?

Flutter Android Build Gradle错误配置根项目'android'?

Android Studio开发解读 - gradle编译项目的build目录结构