多渠道打包正式签名APK

在清单文件中进行配置

<meta-data
        android:name="UMENG_CHANNEL"
        android:value="${CHANNEL}" />

在gradle中配置

android {
    productFlavors {

        zj {
            manifestPlaceholders = [CHANNEL: "zj"]
        }

        xiaomi {
            manifestPlaceholders = [CHANNEL: "xiaomi"]
        }

        qh360 {
            manifestPlaceholders = [CHANNEL: "qh360"]
        }

        baidu {
            manifestPlaceholders = [CHANNEL: "baidu"]
        }

        wandoujia {
            manifestPlaceholders = [CHANNEL: "wandoujia"]
        }

    }
}

或者这样写

android {
    productFlavors {
        zj {}
        huawei {}
        xiaomi {}
// qqyyb {}
// wandoujia {}
// baidu {}
// qh360 {}
// nduow {}
// mumy {}
// lenovo {}
// oppo {}
// vivo {}
// samsung {}

        productFlavors.all { flavor -> flavor.manifestPlaceholders = [CHANNEL: name] } } }

打包的配置

android {
    signingConfigs {
        // your debug keystore
        debug {
            storeFile file("buglytestreleasekey.jks")
            storePassword "buglytestreleasekey"
            keyAlias "buglytestreleasekey"
            keyPassword "buglytestreleasekey"
        }

        release{
            storeFile file("buglytestreleasekey.jks")
            storePassword "buglytestreleasekey"
            keyAlias "buglytestreleasekey"
            keyPassword "buglytestreleasekey"
        }
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }

        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }
    }
}

编译打包

这样进行操做以后,不只在平时运行的时候也能够生成正式包并运行,而且在打包的时候,也会生成不一样渠道的正式签名包,与正常的操做基本上是一致的,只不过多渠道打包的时候特别慢,若是渠道包过多的话,那就须要很长的时间,由于他每次打包的时候,都至关于从新编译生成,因此生成的渠道包越多,须要的时间越长,除了系统提供的这个方法以外,还有其余的快速生成多渠道包的方案,其中一个就是美团的《一分钟900渠道包》,利用了一些特殊的方法进行快速打包,只是替换了其中的一些文件,从而避免了从新打包的耗时,以后,会在其余的博客中进行更新,敬请期待!android