Gradle详解

2018-06-07  本文已影响10人  Il_mondo

结构

project
    |---gradle
        |---wrapper
            |---gradle-warpper.properties
    |---module
        |---builde.gradle
    |---builde.gradle
    |---settings.gradle

构建项目

android {
    buildTypes {
          debug {
              minifyEnabled true // 启用混淆
              shrinkResources true // 资源压缩
              proguardFiles ... // 混淆文件
              buildConfigField 'type', 'field name' , 'field value'
              resValue 'type', 'name', 'value'
          }
          ...
    }
}

多渠道打包

android {
    productFlavors {
        xiaomi {
              // 指定包名
              applicationId 'com.packageName..'
              buildConfigField 'type', 'field name' , 'field value'
              // 指定资源
              java.srcDirs = ['...']
              res.srcDirs = ['...']
              assets.srcDirs = ['...']

              manifestPlaceholders = [
                // 占位符
              ]
        }
        ...
    }
}

自动签名

signingConfigs {
    debug {
        keyAlias '...'
        keyPassword '...'
        storeFile file("../name.jks")
        storePassword '...'
    }

    release {
        // ...
    }
}

常见配置

dexOptions {  javaMaxHeapSize "..." } 

// 指定 java 版本
android {
    compileOptions {
        sourceCompatibility = "1.7" //JavaVersion.VERSION_1_7
        targetCompatibility = "1.7" //JavaVersion.VERSION_1_7
    }
}

// Lint 检查控制
lintOptions {
    abortOnError false
}

参考文献
[1] Google. Android Plugin DSL Reference[M]
[2] DevSiven. Gradle For Android : 1-5

上一篇下一篇

猜你喜欢

热点阅读