当前位置: 首页 > 知识库问答 >
问题:

build.gradle(Project)和build.gradle(Module)之间的区别

许嘉福
2023-03-14

我试图添加一个Android异步Http客户端的依赖项到我的项目中。因此项目中有两个build.gradle文件。

根据我的理解,有不同种类的依赖关系:

  1. 在build.gradle(project:my-app)的根级别上定义的
  2. build.gradle(project:my-app)的buildscript中的一个
  3. 另一个是build.gradle(模块:app)
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

共有1个答案

濮阳祯
2023-03-14

build.gradle(项目:my-app)

顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项。

每个项目都包含一个顶级的Gradle文件。它通常包含所有模块的公共配置。无论这个顶级Gradle gile中包含什么,它都将影响所有模块。

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

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha3'

        //Maven plugin
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.hrskrs.gesturefun"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':gesture-fun')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.jakewharton:butterknife:7.0.1'
}
 类似资料:
  • 问题内容: 当我在Jenkins主屏幕上时,会获得的链接。当我创建一个新作业并将其命名为“ New Job”并运行它时,我得到了结果。查看结果时,我会指向。单击此按钮后,我会在页面顶部看到。 在詹金斯,工作和项目是一回事吗?还是名称可以互换使用? 问题答案: 是的,它们的意思完全相同!以下是Jenkins指南: 设置项目 转到Jenkins主页,选择“新作业”,然后选择“构建自由样式的软件项目”。

  • 假设flavor1a、flavor1b、flavor2a和flavor2b... 假设目录结构: 在gradle中,有没有一种简单的方法可以做到以下几点: 我似乎不能通过sourceSets=['src/xxxx']在我的构建中的每个产品版本中进行配置。gradle

  • 我有一个Gradle项目,我需要转移它的所有依赖项,并与另一个Maven项目一起使用。换句话说,我如何从build.gradle生成pom.xml?

  • 我下载了Android Studio项目。在项目的根只有一个build.gradle下一个结构: 当我运行 build.gradle 脚本时,我收到错误: 我知道肯定还有另一个像这样的顶级gradle文件: 但它不存在。如何添加此构建文件?或者也许是解决此问题的另一种方法? 该项目是在旧版本的android studio中创建的。也许他在旧版本中为另一种方式工作?我在等待帮助。非常感谢。

  • 如果有人能帮助我了解一些关于Android Studio的事情,那将是最有启发的。 所以,大约一个月前,我从Eclipse转到了Android Studio,到目前为止,我只在开发我的迁移应用程序。因此,我只是按照Eclipse中的惯例对AndroidManifest.xml文件进行了修改。 targetedSdkVersion-我自己对应用程序的最佳运行条件的偏好? buildToolsVers

  • 问题内容: 我将Jenkins用于我的Android应用程序构建。在每个版本中,我都会得到一些信息,例如版本号等。 我正在寻找一种方法来读取Jenkins建立工作时的价值。我知道我们可以使用env变量获取buildNumber ,但是如何获取? 问题答案: 您可以通过添加一个确定该的Execute Shell步骤并使用EnvInject插件将其导出为环境变量来执行此操作。 假设您包含: 您可以添加

  • 我需要gradle ver 2.1.4所以我试着改变 类路径'com.android.tools.build:gradle:2.1.3'

  • 我将在我的应用程序中使用Facebook SDK。我必须打开建筑。gradle并添加以下代码: 但是在Eclipse中,我可以在哪里为我的项目打开这个?我在谷歌上搜索过,但找不到任何相关信息。