不会吧,不会吧,你还不会Android多渠道打包吗?

不会吧,不会吧,你竟然还不会多渠道打包?哈哈,切入正题,下面为大家讲解多渠道打包。

多渠道打包就是让我们项目一次生成多个渠道的apk包。

步骤一

第一步我们先来配置AndroidManifest.xml

在我们AndroidManifest.xml文件下的avtivity标签中配置以下内容:


png

第二步到我们的根build.gradle下配置:

maven{url 'https://dl.bintray.com/umsdk/release'}


png

步骤二

在APP级别下的build.gradle文件下,配置我们的flavor

productFlavors{

          wandoujia{

manifestPlaceholders = [UMENG_CHANNEL_VALUE:"wandoujia"]

          }

          xiaomi{

manifestPlaceholders=[UMENG_CHANNEL_VALUE:"xiaomi"]

          }

      }

png

productFlavors在android级别下,与buildTypes同级。

这是豌豆荚和小米两个渠道,如果渠道很多那我们这样一个一个写是不是太费劲?往下看:

productFlavors{

    yingyongbao{}

    wandoujia{}

    baidu{}

    xiaomi{}

    c360{}

    uc{}

    huawei{}

    oppo{}

    c91shouji{}

    meizu{}

    productFlavors.all{ flavor->

        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE:name]

}

}

png

这是另一种方式,如果渠道包过多,推荐这一方式。

步骤三

接下来就可以打包了:Build ->Generate Signed Bundle/APK...


png

选择APK,然后输入我们的签名文件,如果没有签名文件先去生成签名文件。


png

选择我们的渠道包。然后记得将V1,V2全部勾选哦~然后点击Finish等待即可。

如果报错:


png

他说我们的flavor dimension维度不统一,我们在android下的defaultConfig中添加:

flavorDimensions"versionCode"    就可以了


完成后,去我们项目的app文件下去查看,如图:


png


png

这样多渠道打包就完成了。

如果你还想对apk包的名称进行修改的话,如下:

//更改apk包名称:下面格式:Xtan_版本号_渠道_时间.apk

android.applicationVariants.all{variant->

    variant.outputs.all{

        outputFileName="Xtan_${defaultConfig.versionName}_${variant.productFlavors[0].name}_${createTime()}.apk"

    }

}


png

其中的时间为:

def createTime() {

return new Date().format("yyyyMMddHHmm", TimeZone.default)

}


png

这样再生成的apk包就是我们想要的格式了,如图:


png

哈哈,讲解的还算详细?点赞转发~

你可能感兴趣的:(不会吧,不会吧,你还不会Android多渠道打包吗?)