打包

Android Studio打包

Build-Generate signed apk

多渠道打包

渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等,我们要在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计。

//友盟多渠道打包配置

android {
//解决错误,增加flavorDimensions:ERROR: All flavors must now belong to a named flavor dimension
flavorDimensions "a"
productFlavors {
    uc {}
    _360 {}
    baidu {}
    yyb {}
  }
  productFlavors.all { flavor ->
   flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
  }
 }

 //AndroidManifest.xml中增加:
 <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
//自定义输出apk名字
 applicationVariants.all {
        variant ->
            variant.outputs.all { output ->
                if (buildType.name == 'release') {
                    outputFileName = new File("app_v" + defaultConfig.versionName + "_" +
                            new Date().format("yyyy-MM-dd") + "_" +
                            buildType.name + ".apk")
                }
            }
 }

其他打包工具

AndroidMultiChannelBuildTool: Python多渠道打包工具

问题:

  • 只支持v1签名

  • 没法解决不同渠道使用渠道自己SDK的问题

Walle(瓦力): Android Signature V2 Scheme签名下的新一代渠道包打包神器

瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求。

Last updated

Was this helpful?