Android-->build.gradle-->packagingOptions,splits

android {

    ......

    buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    //打包配置
    //1、pickFirsts:当出现重复文件,会使用第一个匹配的文件打包进入apk
    //2、merges:当出现重复文件,合并重复的文件打入apk
    //3、excludes:打包的时候排除匹配的文件
    packagingOptions {
    //        pickFirsts = ['META-INF/LICENSE']
            //这里不要直接=赋值,避免覆盖掉默认值
    //        merge 'META-INF/LICENSE'
            //这里不要直接=赋值,避免覆盖掉默认值
            exclude 'META-INF/LICENSE'
        }

        splits {
        //根据abi打出相关的包,避免把全部的都打进去,apk太大
    //        abi {
    //            enable true
    //            reset()
    //            //只打出以下两个包
    //            include 'armeabi-v7a', 'x86'
    //            //是否打出一个全量的包
    //            universalApk false
    //        }
            //根据分辨率打出相关的包,避免把全部的都打进去,apk太大
            density {
                enable true
                //排除xhdpi的
                exclude 'xhdpi'
            }
        }
    }




    apply plugin: 'com.android.library'

    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.3"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        //如果添加这句话表示将当前模块的proguard-rules.pro合并到引用这个模块的build.gradle中
        consumerProguardFiles 'proguard-rules.pro'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

你可能感兴趣的:(android)