gradle读取配置文件

2018-10-30 10:58:41

最近在导入一些开源项目的时候,发现配置文件的写法和自己平时写的不一样,平时是这样写的。


apply plugin: 'com.android.application'


android {

    compileSdkVersion 23

    buildToolsVersion "23.0.2"


    defaultConfig {

        applicationId "com.example.hecun.myapplication"

        minSdkVersion 15

        targetSdkVersion 23

        versionCode 1

        versionName "1.0"

    }

   ........

}


dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])

    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:23.2.1'

    compile 'com.android.support:design:23.2.1'

    compile 'com.nineoldandroids:library:2.4.0'

}


其实还有另外一种写法,有些项目中会这样写。


android {


    compileSdkVersion rootProject.ext.android.compileSdkVersion

    buildToolsVersion rootProject.ext.android.buildToolsVersion


    defaultConfig {

        applicationId rootProject.ext.android.applicationId

        minSdkVersion rootProject.ext.android.minSdkVersion

        targetSdkVersion rootProject.ext.android.targetSdkVersion

        versionCode rootProject.ext.android.versionCode

        versionName rootProject.ext.android.versionName

    }


........

}

dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile project(":libraries:headsupcompat")

    compile project(":libraries:smooth-app-bar-layout")

    compile rootProject.ext.dependencies["design"]

    compile rootProject.ext.dependencies["appcompat-v7"]

    compile rootProject.ext.dependencies["recyclerview-v7"]

    compile rootProject.ext.dependencies["picasso"]

    compile rootProject.ext.dependencies["numberprogressbar"]

    compile rootProject.ext.dependencies["photoview"]

    compile rootProject.ext.dependencies["umeng-analytics"]

    compile rootProject.ext.dependencies["retrofit"]

    compile rootProject.ext.dependencies["rxandroid"]

    compile rootProject.ext.dependencies["okhttp-urlconnection"]

    compile rootProject.ext.dependencies["okhttp"]

    compile rootProject.ext.dependencies["butterknife"]

    compile rootProject.ext.dependencies["otto"]

    compile rootProject.ext.dependencies["glide"]

}



可以看到和我们写的不一样,应该是引用了某个地方的东西,我们去看看 



我们打开这个文件



ext {


    android = [compileSdkVersion: 22,

               buildToolsVersion: "22.0.1",

               applicationId    : "me.drakeet.meizhi",

               minSdkVersion    : 14,

               targetSdkVersion : 22,

               versionCode      : 359,

               versionName      : "2.5.9"]


    dependencies = ["appcompat-v7"        : "com.android.support:appcompat-v7:22.2.1",

                    "design"              : "com.android.support:design:22.2.1",

                    "recyclerview-v7"     : "com.android.support:recyclerview-v7:22.2.1",

                    "nineoldandroids"     : "com.nineoldandroids:library:2.4.0",

                    "picasso"             : "com.squareup.picasso:picasso:2.5.2",

                    "photoview"           : "com.github.chrisbanes.photoview:library:1.2.3",

                    "numberprogressbar"   : "com.daimajia.numberprogressbar:library:1.2@aar",

                    "umeng-analytics"     : "com.umeng.analytics:analytics:latest.integration",

                    "retrofit"            : "com.squareup.retrofit:retrofit:1.9.0",

                    "rxandroid"           : "io.reactivex:rxandroid:1.0.0",

                    "okhttp-urlconnection": "com.squareup.okhttp:okhttp-urlconnection:2.0.0",

                    "okhttp"              : "com.squareup.okhttp:okhttp:2.0.0",

                    "butterknife"         : "com.jakewharton:butterknife:7.0.1",

                    "otto"                : "com.squareup:otto:1.3.8",

                    "glide"               : "com.github.bumptech.glide:glide:3.6.1"]

}



注意,这时候需要在跟目录build.gradle中添加下面一句话


apply from: "config.gradle"


  • 2020-04-17 11:29:23

    TweenMax中文初级教程四

    用于滚动窗口(类似于window.scrollTo(x, y))或DOM元素(如myDiv.scrollTop = y; myDiv.scrollLeft = x;)。滚动窗口时使用window作为动画目标。

  • 2020-04-17 14:06:29

    图片解释EaseIn,EaseOut,EaseInOut

    1.EaseIn:即缓动发生在入口处,也就是刚开始的时候。 2.EaseOut:即缓动发生在出口处,也就是结束之前。 3.EaseInOut:就是两边都有缓动了.

  • 2020-04-21 14:47:13

    Redis危险命令重命名、禁用

    flushdb,清空数据库 flushall,清空所有记录,数据库 config,客户端连接后可配置服务器 keys,客户端连接后可查看所有存在的键

  • 2020-04-21 15:13:15

    redis 简单使用

    Redis和Memcached类似,也属于k-v数据存储 Redis官网 https://redis.io支持更多value类型,除了和string外,还支持hash、lists(链表)、sets(集合)和sorted sets(有序集合) Redis是可以把数据存储在磁盘上的并且使用了两种文件格式:全量数据(RDB)和增量请求(aof)。一般叫做redis持久化 全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载。

  • 2020-04-21 15:14:20

    SpringBoot + Redis:基本配置及使用

    # Redis数据库索引(默认为0) spring.redis.database=0# Redis服务器地址 spring.redis.host=127.0.0.1# Redis服务器连接端口 spring.redis.port=6379# Redis服务器连接密码(默认为空) spring.redis.password=# 连接池最大连接数(使用负值表示没有限制) spring.redis.jedis.pool.max-active=20# 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.jedis.pool.max-wait=-1# 连接池中的最大空闲连接 spring.redis.jedis.pool.max-idle=10# 连接池中的最小空闲连接 spring.redis.jedis.pool.min-idle=0# 连接超时时间(毫秒) spring.redis.timeout=1000

  • 2020-04-22 10:49:10

    css按钮特效大全

    打开这个连接,你会发现很多按钮动画脚本,基本这些动画就够大家用的了。