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可以帮到你

       自此,打包完成

  • 相关阅读:
    《花好月圆夜》
    关于Url重写
    三大WEB服务器对比分析(apache ,lighttpd,nginx)
    APC 和 Memcache 有什么区别,哪个更好效率更高?
    URL优化不仅仅是静态化重写URL
    php中的静态变量和动态变量的区别框架加载变量时运用
    msicuu.exe (msizap.exe),程序的作用
    显示器接口针脚定义(Dsub15)
    图文教程:DIY全屏开机LOGO详解
    ASP.NET中的媒体播放
  • 原文地址:https://www.cnblogs.com/jiangzhishan/p/9289461.html
Copyright © 2011-2022 走看看