精华内容
下载资源
问答
  • 主要给大家介绍了关于Android中build.gradle文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 非常欢迎您使用自己项目的build.gradle文件提出请求。 常问问题 有趣的项目。 为什么创建它? 我开始一个新项目,然后想通了,我问我的Android开发伙伴,他们使用什么库。 此之前的几周,另一位Android开发人员...
  • 从 Bitbucket 存储库中的每个 build.gradle 文件下载 Android 元数据。 先决条件 您需要一个特殊的配置文件来为该工具提供有关您的存储库的信息。 [ { " name " : " repositotyName " , " androidInformationUrl...
  • build.gradle文件介绍

    千次阅读 2019-04-24 23:10:04
    build.gradle文件介绍 对于以前用Eclipse开发安卓的小伙伴来说,Gradle文件是陌生的。 不同于Eclipse,而Android Studio 是采用Gradle来构建项目的。 先来介绍最外层目录下的build.gradle文件,代码如下: ...

    转载自:https://www.cnblogs.com/ZWRpoi/p/6260295.html

    build.gradle文件介绍

    对于以前用Eclipse开发安卓的小伙伴来说,Gradle文件是陌生的。
    不同于Eclipse,而Android Studio 是采用Gradle来构建项目的。

    先来介绍最外层目录下的build.gradle文件,代码如下:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.2.2'
        }
    }
    allprojects {
        repositories {
            jcenter()
        }
    }

    在repositories闭包中:

    jcenter():它是一个代码托管仓库,很多的Android开源项目都会选择将代码托管到jcenter上,声明了这行配置后,我们就可以在项目中轻松使用任何的jcenter上的开源项目了

    在repositories闭包中:

    classpath 'com.android.tools.build:gradle:2.2.2'声明了一个Gradle插件。gradle:2.2.2为Gradle插件的版本号。

    下面来介绍app目录下的build.gradle文件,代码如下:

    apply plugin: 'com.android.application'
        android {
            compileSdkVersion 24
            buildToolsVersion "24.0.2"
            defaultConfig {
                applicationId "com.androidtest"
                minSdkVersion 15
                targetSdkVersion 24
                versionCode 1
                versionName "1.0"
            }
            buildTypes {
                release {
                    minifyEnabled false
                    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                }
            }
        }
        dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            compile 'com.android.support:appcompat-v7:23.4.0'
            testCompile 'junit:junit:4.12'
        }

    介绍

    第一行的apply plugin:代表着应用了一个插件。一般来说有两个值可选。

    1. com.android.application 表示这是一个应用程序模块。
    2. com.android.library 表示是一个库模块。

    区别:

    com.android.application是代表可以直接运行的,

    com.android.library是只能作为代码依附在别的应用程序模块来运行。所以在引入一些Model为自己的应用程序所用时,build.gradle文件的第一行就是apply plugin:com.android.library。

    android闭包:

    compileSdkVersion:用于指定项目的编译版本。这里24表示使用Android7.0系统的SDK进行编译。

    buildToolsVersion:用于指定项目的构建工具的版本。

    android闭包中有defaultConfig闭包:

    applicationId:用于指定项目的包名,在创建项目的时候已经指定了包名,当要改变整个项目的包名时可以在这里改变。

    minSdkVersion:项目最低的兼容版本。15表示兼容到API 15 既是android 4.0.

    targetSdkVersion:表示你在该目标版本上已经做过了充分的测试,系统将为你的应用开启一些最新的功能和特性。假如targetSdkVersion 为23或者更高,那么在Android6.0中运行这个应用时会开启新的功能和特性;但是设置成了22的话,只能说明你的应用程序在Android5.1系统上做过了充分的测试,Android6.0的新功能就不会启用了。

    注意
    在以前eclipse中设置这些都是AndroidManifest.xml文件中设置的。

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    而在Android Studio中,即使在AndroidManifest.xml设置了,依然是不起作用的,运行时只承认build.gradle下的设置。

    versionCode:项目的版本号

    versionName:项目版本号的版本名。

    这两个属性在生成安装文件时用到。

    android闭包中有buildTypes闭包:

    通常这个闭包中会有两个闭包,一个是debug,一个release。

    debug闭包用于生成测试版安装文件的配置,release闭包用于生成正式版安装文件的配置。dubug闭包可以忽略不写。

    release闭包中的具体内容:

    minifyEnabled:用于是否对项目的代码进行混淆。true代表开启,false代表关闭。

    proguardFiles:指定混淆时使用的文件。

    proguard-android.txt:在Android SDK 目录下的,里面是所有项目通用的混淆规则。

    proguard-rules.pro:是在当前项目根目录下的,里面编写当前项目特有的混淆规则。

    dependencies闭包

    在这个闭包下可以指定当前项目所有的依赖关系。通常Android Studio 项目中一共有三种依赖方式:本地依赖、库依赖和远程依赖。

    本地依赖可以对本地的Jar包或目录添加依赖关系

    库依赖可以对项目中的库模块添加依赖关系。

    远程依赖则可以对jcenter库上的开源项目添加依赖关系。

    在本项目中的第一行 compile fileTree(dir: 'libs', include: ['*.jar'])就是本地依赖声明,他把libs目录下的所以.Jar后缀文件全部添加带项目的构建路径中去。同时也可以只指定一个文件,例如:compile files('libs/picasso-2.4.0.jar')

    在本项目中并没有使用到库依赖。库依赖的基本格式为 compile project后面加上依赖库的库名称,例如gallery为库名称,那么compile project(':gallery')就能添加这个库的依赖关系。

    在本项目中的第二行 ** compile 'com.android.support:appcompat-v7:23.4.0'**这种声明是远程依赖声明。因为是用远程的库,所以Gradle在构建项目的时候会检查一下本地仓库是否已经缓存了,如果没有就自动联网下载,然后再添加到项目的构建路径中去。

    远程依赖时每次都要检查是否有这个缓存,所以使编译变的很慢。可以设置成离线的Gradle模式。

    展开全文
  • 前言 Android Studio是采用gradle...一、Project的build.gradle文件: 对应的build.gradle代码如下: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildsc
  • Gradle配置Gretty插件所需的两个文件(build.gradle、gretty.plugin)
  • Android Studio是采用gradle...一、Project的build.gradle文件: 对应的build.gradle代码如下: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript
  • build.gradle文件详解

    千次阅读 2020-07-01 15:36:59
    建议阅读:... ... 1.build.gradle //构建脚本(给脚本用的脚本) buildscript { //存储一个属于gradle的变量,整个工程都能用,可通过gradle.ext.springBootVersion使用 ext { springBoo.

    建议阅读:https://www.cnblogs.com/mingfeng002/p/11751119.html

    原文链接:https://blog.csdn.net/jiaov/article/details/86557527

    • build.gradle - 文件包含项目构建所使用的脚本。
    • settings.gradle - 文件将包含必要的一些设置,例如,任务或项目之间的依懒关系等

     

    1. build.gradle

    //构建脚本(给脚本用的脚本)
    buildscript {
        //存储一个属于gradle的变量,整个工程都能用,可通过gradle.ext.springBootVersion使用
        ext {
            springBootVersion = '2.1.2.RELEASE'
        }
        /*配置仓库地址,从而找到外部依赖
        按照你在文件中(build.gradle)仓库的顺序寻找所需依赖(如jar文件),
        如果在某个仓库中找到了,那么将不再其它仓库中寻找
        */
        repositories {
            //mavenLocal()本地库,local repository(${user.home}/.m2/repository)
            mavenCentral()//maven的中央仓库
            //阿里云Maven远程仓库
            maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        }
        /*配置springboot插件加载
        */
        dependencies {
            // classpath 声明说明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }
    //使用以下插件
    apply plugin: 'java'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'
    
    group = 'com.example'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '1.8'//jvm版本要求
    // 定义仓库
    repositories {
        maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        maven{url 'https://mvnrepository.com/'}
        mavenCentral()
    }
    // 定义依赖:声明项目中需要哪些依赖
    dependencies {
        compile  'org.springframework.boot:spring-boot-starter'
        compile('org.springframework.boot:spring-boot-starter-web')//引入web模块,springmvc
        compile  'org.springframework.boot:spring-boot-starter-test'
    }
    
    新配置弃用配置行为作用
    implementationcompile依赖项在编译时对模块可用,并且仅在运行时对模块的消费者可用。 对于大型多项目构建,使用 implementation 而不是 api/compile 可以显著缩短构建时间,因为它可以减少构建系统需要重新编译的项目量。 大多数应用和测试模块都应使用此配置。implementation 只会暴露给直接依赖的模块,使用此配置,在模块修改以后,只会重新编译直接依赖的模块,间接依赖的模块不需要改动
    apicompile依赖项在编译时对模块可用,并且在编译时和运行时还对模块的消费者可用。 此配置的行为类似于 compile(现在已弃用),一般情况下,您应当仅在库模块中使用它。 应用模块应使用 implementation,除非您想要将其 API 公开给单独的测试模块。api 会暴露给间接依赖的模块,使用此配置,在模块修改以后,模块的直接依赖和间接依赖的模块都需要重新编译
    compileOnlyprovided依赖项仅在编译时对模块可用,并且在编译或运行时对其消费者不可用。 此配置的行为类似于 provided(现在已弃用)。只在编译期间依赖模块,打包以后运行时不会依赖,可以用来解决一些库冲突的问题
    runtimeOnlyapk依赖项仅在运行时对模块及其消费者可用。 此配置的行为类似于 apk(现在已弃用)。只在运行时依赖模块,编译时不依赖
    新版本:
    ----------------------------------
    plugins {
        id 'org.springframework.boot' version '2.3.0.RELEASE'
        id 'io.spring.dependency-management' version '1.0.9.RELEASE'
        id 'java'
    }
    
    group = 'com.example'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '1.8'
    
    repositories {
        mavenCentral()
    }
    
    ext {
        set('springCloudVersion', "Hoxton.SR4")
    }
    
    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
        testImplementation('org.springframework.boot:spring-boot-starter-test') {
            exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
        }
    }
    
    dependencyManagement {
        imports {
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
        }
    }
    
    test {
        useJUnitPlatform()
    }
    
    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
        implementation group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-starter', version: '2.0.4'
        testImplementation('org.springframework.boot:spring-boot-starter-test') {
            exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
        }
    }
    -------------------
    也可以这样
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:recyclerview-v7:27.1.1'
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.2'
        implementation 'com.jakewharton:butterknife:5.1.1'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    ————————————————
    

    2.settings.gradle配置

    settings.gradles是模块Module配置文件,大多数setting.gradle的作用是为了配置子模块,
    根目录下的setting.gradle脚本文件是针对module的全局配置
    
    settings.gradle用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
    
    例如配置module名rootProject.name = 'project-root',为指定父模块的名称,
    include 'hello' 为指定包含哪些子模块
    
    
    ------------------------
    //平台根
    rootProject.name = 'project-root'
    //包含子系统以及模块
    include ':project-core'
    //Hello系统模块的加载
    include ':project-hello'
    //World系统模块的加载
    include ':project-world'
    

    3.gradle wrapper

    • gradlew / gradlew.bat 这个文件用来下载特定版本的 gradle 然后执行的,就不需要开发者在本地再安装 gradle 了。这样做有什么好处呢?开发者在本地安装 gradle,会碰到的问题是不同项目使用不同版本的 gradle 怎么处理,用 wrapper 就很好的解决了这个问题,可以在不同项目里使用不同的 gradle 版本。gradle wrapper 一般下载在 GRADLE_CACHE/wrapper/dists 目录下
    • gradle/wrapper/gradle-wrapper.properties 是一些 gradlewrapper 的配置,其中用的比较多的就是 distributionUrl,可以执行 gradle 的下载地址和版本
    • gradle/wrapper/gradle-wrapper.jar 是 gradlewrapper 运行需要的依赖包
    展开全文
  • 2、在gradle.properties文件下配置密钥文件信息 # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified ...
  • gradle构建的项目有build.gradle和settings.gradle文件 build.gradle - 文件包含项目构建所使用的脚本。 settings.gradle - 文件将包含必要的一些设置,例如,任务或项目之间的依懒关系等 settings.gradle配置 ...

    gradle构建的项目有build.gradle和settings.gradle文件

    • build.gradle - 文件包含项目构建所使用的脚本。
    • settings.gradle - 文件将包含必要的一些设置,例如,任务或项目之间的依懒关系等

    settings.gradle配置

    settings.gradles是模块Module配置文件,大多数setting.gradle的作用是为了配置子模块,
    根目录下的setting.gradle脚本文件是针对module的全局配置
    
    settings.gradle用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
    
    例如配置module名rootProject.name = 'project-root',为指定父模块的名称,
    include 'hello' 为指定包含哪些子模块
    
    //平台根
    rootProject.name = 'project-root'
    //包含子系统以及模块
    include ':project-core'
    //Hello系统模块的加载
    include ':project-hello'
    //World系统模块的加载
    include ':project-world'
    

    build.gradle的配置(类似于Maven工程中的pom.xml相同)

    1.subprojects
    
        1.1 apply plugin:'java' 表示应用java插件添加对java的支持
        
        1.2 apply plngin:'war'表示应用的war插件
        
        1.3 repositories 为指定第三方依赖包仓库的地址,
        图中配置的依次为本地仓库,maven私服地址,以及maven中央仓库。
        
        ```
        //声明在何处查找项目的依赖项
        repositories{
            mavenCentral()
        }
        ```
        
        repositories是一个仓库,gradle会根据从上到下的顺序依次去仓库中寻找jar.
        
        其中mavenLocal()表示使用本地maven仓库;
        mavenCentral()使用maven中心仓库 。
        
        1.4 dependencies是用于声明这个项目依赖于哪些jar
        ```
        dependencies{
            testCompile group:'junit','name','version':'4.11'
        }
        
        
        //In this section you declare the dependencies for your production and test code
        dependencies {
        
        
            
            
            compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.0
        
            // The production code uses the SLF4J logging API at compile time
            compile 'org.slf4j:slf4j-api:1.7.21'
         
         
            // Declare the dependency for your favourite test framework you want to use in your tests.
            // TestNG is also supported by the Gradle Test task. Just change the
            // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
            // 'test.useTestNG()' to your build script.
            testCompile 'junit:junit:4.12'
        }
        ```
        
        测试编译阶段我们依赖junit的jar。其中包括complile(编译时)
        runtime(运行时)testCompile(测试编译时)testRuntime(测试运行时)
        。
        
        ```
        repositories{
            mavenCentral()
        }
        ```
        
        1.5 sourceCompatibility和targetCompatibility
        
        sourceCompatibility:指定编译.java文件的jdk版本
        
        targetCompatibility:确保.class文件与targetCompatibility
        所指定版本或者更新版本的java虚拟机兼容
    

    要求targetCompatibility>=sourceCompatibility

    编写代码依赖
    在需要依赖的模块上面的build.gradle文件内
    ,查找到dependencies{}模块。添加以下代码:
    
    compile project(':名称')
    
    在冒号后面输入模块的名称
    

    2.在网络查看Gradle存储库

    在哪里查找信息groupId,artifactId和版本? 
    
    可以去网站: http://mvnrepository.com ,在首页搜索common-lang3
    ,然后点击需要的版本号,例如点击3.9,就会出现相对应的信息
    

    Gradle命令介绍

    gradle projects 查看工程信息
    
    gradle tasks 查看任务信息
    
    gradle task name 执行task任务
    

    Gradle 工作流程

    以multi-project build为例,Gradle工作流程如下:

    初始化阶段:
    首先解析settings.gradle
    
    Configration阶段:
    解析每个Project中的build.gradle,解析过程中并不会执行各个build.gradle中的task。
    
    经过Configration阶段,Project之间及内部Task
    之间的关系就确定了。一个 Project 包含很多 Task,
    每个 Task 之间有依赖关系。Configuration
    会建立一个有向图来描述 Task 之间的依赖关系,
    所有Project配置完成后,会有一个回调project
    .afterEvaluate,表示所有的模块都已经配置完了。
    
    执行Task任务
    展开全文
  • 主要介绍了Android Studio新建工程默认在build.gradle中加入maven阿里源的问题,本文通过实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • build.gradle文件中定义了变量。 提供了 repositories { maven { url "${download_url}" 开发提供了gradle.properties文件,并建议将文件拷贝到C:\Users\Administrator\.gradle 下面,还是提示相同的错误,...

    新下载的project,在gradle 同步时,提示 Could not find property 'download_url' on org.gradle.api.**** 错误,根据提示信息,打开build.gradle文件,发现url定义了变量。

    repositories {
        maven {
            url "${download_url}"

    开发提供了gradle.properties文件,并建议将文件拷贝到C:\Users\Administrator\.gradle 下面。拷贝文件后还是提示错误,怀疑是文件保存位置错误。

    通过搜索,发现文章 http://voidcn.com/article/p-adatvysb-bsx.html ,找到问题原因与解决方法。

    Gradle寻找gradle.properties文件是这些地方:
    >在项目构建目录(这是您的构建脚本的地方)
    >在子项目目录中
    >在gradle用户home(由GRADLE_USER_HOME环境变量定义,如果未设置默认为USER_HOME / .gradle)

    来自一个文件的属性将覆盖之前的属性(因此gradle中的文件用户主页优先于其他文件,子项目中的文件优先于项目根目录中的文件)。

    参考:https://gradle.org/docs/current/userguide/build_environment.html

    查看自己的环境变量设置, 根据GRADLE_USER_HOME设置,把 gradle.properties文件拷贝到D:\java-learn\tools\.gradle下面, gradle刷新下载正常了。 

    展开全文
  • 5.详解build.gradle文件

    千次阅读 2019-01-30 17:48:21
     我们之前分析安卓项目的目录结构的时候,可以看到build.gradle有两个,一个是位于最外层的,一个是位于app目录下的,这两个文件都对构建安卓项目都起着至关重要的作用。先来看看最外层的build.gradle ...
  • So I have tried to add my local .jar file dependency to my build.gradle file: 因此,我尝试将本地.jar文件依赖项添加到
  • 详解 build.gradle 文件

    千次阅读 2019-01-11 14:03:22
    此篇文章主要讲解android studio中app目录下的build.gradle文件,先看一下代码(图片演示): 如图所示,一般初始的项目,App目录下的build.gradle文件都是长这个怂样,下面一行行的去分析。 第一行表示的是一个...
  • 概括什么是Gradle ...build.gradle - 文件包含项目构建所使用的脚本。 settings.gradle - 文件将包含必要的一些设置,例如,任务或项目之间的依懒关系等 settings.gradle编译优先级高于build.gradle setti
  • maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
  • github项目地址 ...build.gradle示例一 plugins { id 'java' } //相当于maven的groupid group 'com.cyjz' //相当于maven的version version '1.0-SNAPSHOT' //maven中的artifactId相当于name,...
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 ... 开发android项目中,我们通常会遇到两个build.gradle文件。如下图所示: 一个用于整个项目,另一个用于app...
  • 自己写了几个gradle文件模板,如果还使用Support包开发的可以参考。 定义一个全局统一配置文件config.gradle Project目录下的config.gradle /** * 全局统一配置文件 */ ext { //true 每个业务Module可以...
  • gradle的两大主要文件一个是settings.gradle以及build.gradle 这里引用百度的话来解释settings.gradle 单项目构建该文件可选,但多项目构建这个文件是必须的,因为需要这个文件中声明哪些子项目需要参与构建,也...
  • Android 中 build.gradle 文件详解

    千次阅读 2019-08-19 14:26:21
    一般来说一个新创建的项目中,有两个 build.gradle 文件,一个是工程目录下的,一个是 app 目录下的,这两个 build.gradle 文件对 Android Studio 项目的作用是非常重要的,接下来我们就新建一个项目来进行详细的...
  • 对于以前用Eclipse开发安卓的小伙伴来说,Gradle文件是陌生的。 不同于Eclipse,而...先来介绍最外层目录下的build.gradle文件,代码如下: buildscript { repositories { jcenter() } dependencies { ...
  • android build.gradle调用config.gradle属性

    千次阅读 2019-08-21 10:46:55
    android原生,app.gradle调用config.gradle的属性: 参考:(完全按照人家写法,稍作整理作为笔记作为以后参考,不喜勿喷!) https://www.jianshu.com/p/5d1a84bc5210 https://www.jianshu.com/p/b675c553212f ...
  • 计算的系统变量或者用户变量新建Gradle_HOME:下载gradle文件的路径(E:\java\gradle_5.3) iii.GRADLE_HOME是在用户还是系统变量中新建配置的,那么path就用该配置的path(path:%GRADLE_HOME%\bin)或者最直接的就...
  • 设置Android Studio的build.gradle文件的默认生成模板正文 这里是一些不必要的唠叨,可直接从正文开始阅读,进行配置。 Android Studio新建一个项目默认生成的build.gradle文件使用的国外镜像google()和jcenter(),...
  • Android studio中build.gradle文件简单介绍

    万次阅读 多人点赞 2019-02-11 20:15:42
    Android每新建一个项目,都会有两个build.gradle文件,有一个最外层目录下,有一个app目录下,如果切换到 Android 模式下则全部 Gradle Scripts下。下面先介绍看起来少的(最外层目录下的)。 主要介绍: ...
  • 如题,升级4.1之后突然发现gradle文件不见了,折腾了一下午,发现是ignore文件引起的问题,4.0.2版本file-setting-Editor-File Types-.gitignore文件下配置 .gradle文件,方便版本管理。经过测试发现去掉.gradle...
  • 3.在弹出的导出窗口中,打开Android的文件夹,选择“Generate Gradle Build Files”。 4.选中你想要导入到Android Studio中的项目,Finish。 PS:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个...
  • 原网址:... 1.Project build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript {//这里是gradle脚本执行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,029
精华内容 40,811
关键字:

build.gradle文件在哪里