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: ""]
}
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包,生成的包在build\outputs\apk目录下
- 生成指定的包(uc|360|baidu|xiaomi),指定的版本(Release|Debug),右边的
Gradle Project可以帮到你
自此,打包完成
Android Studio多渠道打包(一)的更多相关文章
- [Android Studio] Android studio 多渠道打包(超简洁版)
[Android Studio] Android studio 多渠道打包(超简洁版) 转载:http://xuyazhou.com/archives/461 http://relex.me/usin ...
- Android studio 使用心得(四)—android studio 多渠道打包(二)
Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...
- Android studio 多渠道打包
一般用渠道的统计无非是用友盟或者其它之类的,今天就以友盟的为例吧. 渠道信息一般在 AndroidManifest.xml中修改以下值: <meta-data android:name=&quo ...
- Android Studio多渠道打包(二)
虽然多渠道打包的方式有很多种,那么今天我要说的通过工具的形式进行多渠道打包 首先,打开Android studio,找到顶部Build,点开 选择红色部分,里面的编辑框可以帮助我们更快的熟悉Gradl ...
- Android Studio多渠道打包
本文所讲述的多渠道打包是基于友盟统计实施的. 多渠道打包的步骤: 1.在AndroidManifest.xml里设置动态渠道变量 <meta-data android:name="UM ...
- Android Studio多渠道打包的使用
项目地址 https://github.com/mcxiaoke/gradle-packer-plugin 项目介绍 gradle-packer-plugin 是Android多渠道打包工具Gradl ...
- 用android studio多渠道打包
1. 官方教程 https://developer.android.com/studio/build/build-variants.html 2. 设置Build Types参数 打开 Project ...
- Android studio 自定义打包apk名
Android Studio打包应用默认生成的apk名称是:app-release.apk .如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了 需要在build.g ...
- android studio多渠道多包名多apk打包
转自 利用 Android Studio 和 Gradle 打包多版本APK 搬砖的道路上,经常会有各种不同的需求,比如今天就碰到过一个打包版本的apk的要求, 比如一个apk给多个客户使用,如张三 ...
随机推荐
- Analyzing .net core application with SonarQube Scanner for MSBuild
SonarQube是管理代码质量一个开放平台,省略安装过程,下面介绍下如何使用sonarqube去扫描c# 代码. 前提:下载SonarQube Scanner for MSBuild.https:/ ...
- sql server 索引阐述系列四 表的B-Tree组织
一.概述 说到B-tree组织,就是指索引,它可以提供了对数据的快速访问.索引使数据以一种特定的方式组织起来,使查询操作具有最佳性能.当数据表量变得越来越大,索引就变得十分明显,可以利用索引查找快速满 ...
- 可以用py库: pyautogui (自动测试模块,模拟鼠标、键盘动作)来代替pyuserinput
PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块 pyUserInput模块安装前需要安装pywin32和pyHook模块.(想要装的看https://www.cnblogs.com/m ...
- 详解CSS的Flex布局
本文由云+社区发表 Flex是Flexible Box 的缩写,意为"弹性布局",是CSS3的一种布局模式.通过Flex布局,可以很优雅地解决很多CSS布局的问题.下面会分别介绍容 ...
- datatables 配套bootstrap样式使用小结(2) ajax篇
距离上一篇有点时间了,周末做了伴郎参加了一个土豪同学的婚礼. 上一篇是介绍一下基本的用法,基本的原理是取出所有的数据,然后调用$.datatables(option)方法格式化,这种方法显然不太科学, ...
- advanced installer重新打包教程
一.简介 本次利用Advanced Installer软件里的Repackager重封装工具进行测试制作MSI安装包,还开可以利用Advanced Installerr制作MSI安装包 原理为执行两次 ...
- [转]VirtualBox安装CentOS7
本文转自:http://www.cnblogs.com/xyinjie/p/9437049.html 一:.下载CentOS7的镜像 下载地址:https://www.centos.org/downl ...
- 【转载】C#防SQL注入过滤危险字符信息
不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...
- IdentityServer开题篇
最近也研究了一段时间的IdentityServer4,园里关于IdentityServer的文章也很多,这里也简单写写,做做记录(文笔不佳,见谅). 1.identityserver是什么? Iden ...
- SharedPreferences存储读取数据
存储 //创建SharedPreferences 存储用户名SharedPreferences sharedPreferences = getSharedPreferences("name& ...