android studio build.gradle配置文件详解

import java.text.SimpleDateFormat

apply plugin: 'com.android.application'
//统计方法数
//apply plugin: 'com.getkeepsafe.dexcount'
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"
    defaultConfig {
        applicationId "com.dsm.secondlock"
        minSdkVersion 18
        targetSdkVersion 25
        /*
          整数值,代表应用程序代码的相对版本,也就是版本更新过多少次。
          整数值有利于其它程序比较,检查是升级还是降级。
          你可以把这个值设定为任何想设的值,但是,你必须保证后续更新版的值要比这个大。
          系统不会强制要求这一行为,但是随着版本更新值也增加是正常的行为。
          一般来说,你发布的第一版程序的versionCode设定为1,然后每次发布都会相应增加,
          不管发布的内容是较大还是较小的。这意味着android:versionCode不像应用程序的发布版本(看下面的
          android:versionName)那样显示给用户。应用程序和发布的服务不应该显示这个版本值给用户。
        */
        versionCode 10
        /*
          字符串值,代表应用程序的版本信息,需要显示给用户。
          与android:versionCode一样,系统不会为了任何内部的目的使用这个值,除了显示给用户外。
          发布的服务也需要提取这个值来显示给用户。
        */
        versionName "v3.0.3"
        multiDexEnabled true
        manifestPlaceholders = [
                GETUI_APP_ID    : "woyGEtbGqg5ipVQIxLkkrA",
                GETUI_APP_KEY   : "2I90eUGtr56t4mTKXeNDxA",
                GETUI_APP_SECRET: "cGOCCeNEKx932WF90OiEG"
        ]

        ndk {
            //目前发现一个奇怪的现象,如果不添加arm64-v8a平台,在iMac (21.5-inch, Late 2013)电脑上,魅族M571C无法加载猫眼so库,但是在其他电脑上却没有这个问题,疑问????
            abiFilters "armeabi", "armeabi-v7a", "x86_64"
//            abiFilters "armeabi-v7a"
        }
        buildConfigField "String", "APP_PUBLISH_TIME", String.format("\"%s\"", new SimpleDateFormat("yyyyMMdd HH:mm:ss", Locale.US).format(new Date()))
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    signingConfigs {
        debug {
            storeFile file("$projectDir/xiaodi.keystore")
            storePassword "xiaodi"
            keyAlias "xiaodi"
            keyPassword "xiaodi"
        }
        release {
            storeFile file("$projectDir/xiaodi.keystore")
            storePassword "xiaodi"
            keyAlias "xiaodi"
            keyPassword "xiaodi"
        }
    }
    buildTypes {
        debug {
            buildConfigField "boolean", "LOG_DEBUG", "true"
            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }

        release {
            buildConfigField "boolean", "LOG_DEBUG", "false"
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//            signingConfig signingConfigs.debug
        }
    }
    dexOptions {//dex配置
        javaMaxHeapSize "4g"
        preDexLibraries = false
        additionalParameters = [//dex参数详见 dx --help
                                '--multi-dex',//多分包
                                '--set-max-idx-number=48000',//每个包内方法数上限
                                '--main-dex-list=' + project.rootDir.absolutePath + '/app/maindexlist.txt',//打包进主classes.dex的文件列表(放在build.gradle同级目录)
                                '--minimal-main-dex'//使上一句生效
        ]
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    productFlavors {
        defaultConfig{//开发服
            buildConfigField "String", "INTERFACE_SERVER", String.format("\"%s\"","https://192.168.1.186:443")
            buildConfigField "String", "HTML_SERVER", String.format("\"%s\"","http://192.168.1.186:8080")
            manifestPlaceholders = [UMENG_APPKEY    : "581a8f8482b63519a600391b"]
        }
        flavor_D {//测试服
            buildConfigField "String", "INTERFACE_SERVER", String.format("\"%s\"","https://192.168.1.186:4437")
            buildConfigField "String", "HTML_SERVER", String.format("\"%s\"","http://192.168.1.186:8899")
            manifestPlaceholders = [UMENG_APPKEY    : "581a8f8482b63519a600391b"]
        }
        flavor_O {//正式服
            buildConfigField "String", "INTERFACE_SERVER", String.format("\"%s\"","https://xiaodi.dsmzg.com:443")
            buildConfigField "String", "HTML_SERVER", String.format("\"%s\"","http://dsmzg.com:8080")
            manifestPlaceholders = [UMENG_APPKEY    : "5819a369f43e4848eb0017b5"]
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/SocialSDK_sms.jar')
    compile files('libs/SocialSDK_WeChat_Simplify.jar')
    compile files('libs/umeng_social_api.jar')
    compile files('libs/umeng_social_net.jar')
    compile files('libs/base64-2.3.8.jar')
    compile files('libs/commons-lang3-3.1.jar')
    compile files('libs/EquesSdkApp-out.jar')
    compile project(':zxinglibrary')
    compile project(':xiaodihomelibrary')
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.getui:sdk:2.9.5.0'
    compile 'com.umeng.analytics:analytics:latest.integration'
    compile 'com.android.support:support-v4:25.1.0'
}

 

转载于:https://my.oschina.net/dccjll/blog/886445

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值