多渠道打包

本文介绍两种多渠道打包方式:

  • productFlavor (每次打包都要重新构建一遍,效率比较慢)

      productFlavors {
      //新建产品A
      A {
          //程序包名
          applicationId "com.xxx.xxx"
          //不同渠道号
          manifestPlaceholders = [UMC:"xxx"]
          //versionName
          versionName "1.0.0"
          //versionCode
          versionCode 1
    
      }
      //新建产品B
      B {
          //程序包名
          applicationId "com.xxx.xxx2"
          //不同渠道号
          manifestPlaceholders = [UMC:"xxx2"]
          //versionName
          versionName "2.1.1"
          //versionCode
          versionCode 2
      }
    复制代码

    productFlavor 是defaultConfig的子集,defaultConfig {}中的属性在productFlavors{}中都可以单独设置,若重复会以productFlavors{}中的属性为最终属性

    buildConfigField 自定义配置常量 applicationId 配置包名 其他 任何做区分的都可以在这里配置,打出多渠道包、

  • walle (效率高,参考美团1分钟打900渠道包)

    1. 背景

    APK Signature Scheme v2的推出,在META-INF目录内添加空文件的做法导致无法签名,所以采用直接修改APK signing block。

    2. 步骤:

    //添加插件 dependencies { classpath "com.meituan.android.walle:plugin:latest.integration" }

    //使用插件 apply plugin: 'walle'

    //添加签名信息 signingConfig signingConfigs.sankuai

    //依赖库文件 dependencies { compile 'com.meituan.android.walle:library:1.0.3' }

    //添加配置信息

    walle {
        apkOutputFolder = new File("${project.buildDir}/outputs/channels"); //在app/build/outputs/channels 下生成xxx.apk
        // 定制渠道包的APK的文件名称
        ${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk
        apkFileNameFormat = '${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk';
        // 渠道配置文件   其中${project.getProjectDir()}指的是app目录
        channelFile = new File("${project.getProjectDir()}/channel")
    }
复制代码
//创建渠道文件channel.txt

//打包命令

生成渠道包      gradlew clean assembleReleaseChannels
支持 productFlavors gradlew clean assembleMeituanReleaseChannels
生成单个渠道包  gradlew clean assembleReleaseChannels -PchannelList=渠道名称
生成多个渠道包  gradlew clean assembleReleaseChannels -PchannelList=渠道名称,渠道名称
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值