美文网首页Android进阶之路Android知识android技术专栏
Android 每天进步一点点之Gradle dependenc

Android 每天进步一点点之Gradle dependenc

作者: kecai | 来源:发表于2017-07-04 17:00 被阅读412次
    compile 'org.greenrobot:eventbus:3.0.0'
    compile 'com.squareup.okhttp3:okhttp:3.5.0'
    

    大家对以上的gradle的依赖管理都不陌生,Gradle只要简单的这样引入eventbus,okhttp之后就可以在项目上实际进行使用了。
    如果 依赖的库 版本升级了,那该怎么办?你可能会说直接在 build.gradle 进行修改就行,这当然是个解决方法。如果只有这个地方要进行修改的话,问题倒是不大。但是,如果你的项目里面有好几个 module 呢?现在 APP 的规模越来越大,项目里面有多个 module 是非常正常的,每一次的版本更新,你都要修改所有的地方,麻烦不说,还可能会遗漏掉某些地方。所以分享一下我今天学习到的 Gradle方便之处,会更一步解决我上面所遇到的问题。

    一、首先在根目录添加 dependencies.gradle 文件,并在dependencies.gradle 中配置我们所要依赖的库:文件内容简单如下

    project.ext{
    android={
    compileSdkVersion 23
    buildToolsVersion "25.0.2"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    applicationId="com.kecai.demo"
    }

    dependencies={
        "baiduLBS"  : compile files('libs/BaiduLBS_Android.jar')
        "core"  : compile files('libs/core_3.2.0.jar')
        "libamm"  : compile files('libs/libammsdk.jar')
        "mta-sdk"  : compile files('libs/mta-sdk-1.6.2.jar')
        "open_sdk"  : compile files('libs/open_sdk_r5756.jar')
        "pgyer_sdk"  : compile files('libs/pgyer_sdk_2.4.5.jar')
    }
    

    }
    ependencies.gradle 中主要是 android 和依赖的一些基本配置,这个文件中的内容都是 gradle 支持的语法。android 中主要是 APP 的一些基本配置,如 SDK 的版本。dependencies 中主要是我们依赖的第三方库,把经常使用的第三方库都放在里面,以后所有 module 以及我们的主项目都统一在这里读取就行了。
    二、在 build.gradle 读取配置文件所依赖的内容。代码内容如下

    根目录下的build.gradle,修改如下,这样会让每个module 都可以读取以上的dependencies.gradle的内容配置。
    apply from :"dependencies.gradle"

    buildscript{
    repositories{
    jcenter()
    }
    dependencies {
    compile files('com.android.tools.build:gradle:2.3.1')
    }

    allprojects{
      repositories{
        jcenter()
      }
    }
    
    task clean(type:Delete){
      delete rootProject.buildDir
    }
    

    }

    然后再修改下app项目下的build.gradle 文件的内容

    apply plugin: 'com.android.application'
    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
    multiDexEnabled true
    }

    }

    dependencies {
    compile rootProject.ext.dependencies["baiduLBS"]
    compile rootProject.ext.dependencies["core"]
    compile rootProject.ext.dependencies["libamm"]
    compile rootProject.ext.dependencies["mta-sdk"]
    compile rootProject.ext.dependencies["open_sdk"]
    compile rootProject.ext.dependencies["pgyer_sdk"]
    }

    总结:上述代码可以观察,在我们每个app项目下的build.gradle中只要引入

    rootProject.ext.android.xxx或者rootProject.ext.dependencies[""]即可,如果要修改版本,直接在根目录直接修改

    相关文章

      网友评论

        本文标题:Android 每天进步一点点之Gradle dependenc

        本文链接:https://www.haomeiwen.com/subject/tatvcxtx.html