zoukankan      html  css  js  c++  java
  • Android Studio多渠道打包(一)

    1. 多渠道的概念

    • APP发布到不同的应用平台,监测用户是从哪个平台安装的。

    2. 为什么要多渠道打包

    • 统计用户安装APP来源
    • 批量修改生成的apk文件名
    • 可更改包名
    • 生成不同应用名称或图标 

    3.多渠道配置

    • 在AndroidManifest.xml的application标签里添加一个meta-data标签,定义MTA_CHANNEL占位符,如下
      <meta-data android:name="MTA_CHANNEL"
                  android:value="${MTA_CHANNEL_VALUE}" />
    • 修改app下的build.gradle文件,并添加productFlavors属性配置占位符
      android {
          compileSdkVersion 21
          buildToolsVersion "21.1.2"
      
          defaultConfig {
              applicationId "com.aimerd.channel"
              minSdkVersion 11
              targetSdkVersion 21
              versionCode 1
              versionName "1.0.0"
              multiDexEnabled true
          }
      buildTypes {
              debug {
                  minifyEnabled false
                  debuggable true
              }
              release {
                  // 不显示Log
                  buildConfigField "boolean", "LOG_DEBUG", "false"
                  //启用混淆代码的功能
                  minifyEnabled true
                  //压缩对齐生成的apk包
                  zipAlignEnabled true
                  //指定混淆规则,需要压缩优化的混淆要把proguard-android.txt换成proguard-android.txt
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                  //移除无用的资源文件
                  shrinkResources true
                  //启用multidex的支持
                  multiDexEnabled true
              }
          }
      productFlavors uc { manifestPlaceholders = [MTA_CHANNEL_VALUE: "uc"] } _360 { manifestPlaceholders = [MTA_CHANNEL_VALUE: "360"] } baodu { manifestPlaceholders = [MTA_CHANNEL_VALUE: "baidu"] } xiaomi { manifestPlaceholders = [MTA_CHANNEL_VALUE: "xiaomi"] } } }
      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          compile 'com.android.support:appcompat-v7:23.3.0'
      }

    4.生成渠道包

    • 在命令行输入 gradlew assembleRelease,表示生成所有Release包,生成的包在buildoutputsapk目录下
    • 生成指定的包(uc|360|baidu|xiaomi),指定的版本(Release|Debug),右边的Gradle Project可以帮到你

       自此,打包完成

  • 相关阅读:
    城市漫游-牛客
    同步和阻塞理解
    避免用户多次点击,造成重复提交
    页面不可编辑
    正则表达式-简单实例
    从字符串提取一个列表
    JS对象、基本类型和字面量的区别
    本地数据访问时出现跨域问题Cross origin requests are only supported for protocol schemes: ……
    checkbox操作判断 Jquery选择器
    HTML5经典实例——1基础语法和语义
  • 原文地址:https://www.cnblogs.com/jiangzhishan/p/9289461.html
Copyright © 2011-2022 走看看