关于config.gradle 配置和使用

2019-10-16  本文已影响0人  xixi哈哈笑笑

前言

我们在项目开发的过程中,通常会使用一些系统组件的依赖和第三方的轮子,为了方便我们管理这些轮子,我们可以为项目引入config.gradle文件去同意管理项目中的依赖

一、在项目的根目录Project下创建config.gradle文件

二、编辑 config.gradle

ext {
    android = [
            compileSdkVersion: 27,
            buildToolsVersion: "27.0.3",
            supportVersion   : "27.+",
            targetSdkVersion : 27,
            minSdkVersion    : 17,
            versionCode      : 236,
            versionName      : "2.3.6"
    ]

    signing = [
            storeFile    : 'E:\\Android\\SVN\\QqgoCustomer\\qqgo.jks',
            storePassword: 'qqgo123',
            keyAlias     : 'qqgo',
            keyPassword  : 'qqgo123'
    ]

    // api 测试
    apidebug = [
            // 服务器域名
            HostName     : '"http://120.1.1.1"',
            // 用户版端口
            Port_01      : '"8043"'
    ]

    // api 正式
    apirelease = [
            // 服务器域名
            HostName     : '"http://120.1.1.1"',
            // 用户版端口
            Port_01      : '"1115"'
    ]
}

三、在项目的 build.gradle文件中引用config.gradle文件

apply from: "config.gradle"

四、在app的build.gradle中使用

android {
    // 签名
    signingConfigs {
        config {
            storeFile file(rootProject.ext.signing.storeFile)
            storePassword rootProject.ext.signing.storePassword
            keyAlias = rootProject.ext.signing.keyAlias
            keyPassword rootProject.ext.signing.keyPassword
        }
    }
    // 版本
    compileSdkVersion rootProject.ext.android.compileSdkVersion
    buildToolsVersion rootProject.ext.android.buildToolsVersion
    defaultConfig {
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode rootProject.ext.android.versionCode
        versionName rootProject.ext.android.versionName

        buildTypes {
            debug {
                buildConfigField 'String', 'HostName', rootProject.ext.apidebug.HostName
                buildConfigField 'String', 'Port_01', rootProject.ext.apidebug.Port_01rootProject.ext.apidebug.UnionPayMode
            }
            release {
                buildConfigField 'String', 'HostName', rootProject.ext.apirelease.HostName
                buildConfigField 'String', 'Port_01', rootProject.ext.apirelease.Port_01
            }
        }
    }
}

五、在代码中使用

Rebuild Project后自动生成BuildConfig

// 获取请求地址请求端口
String url_01 = BuildConfig.HostName;
String port = BuildConfig.Port_01;
上一篇 下一篇

猜你喜欢

热点阅读