Android多渠道打包的方法步骤
时间:2022-07-28
本文章向大家介绍Android多渠道打包的方法步骤,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文介绍了Android多渠道打包的方法步骤,分享给大家,具体如下:
1.生成签名文件
点击 Build – Generate Signed APK:
2.创建一个签名
红色填写部分需要认真填写,并牢记,其余部分随意填写
有了签名,单个app打包我就不详细说了,具体说下多渠道打包的步骤
2.多渠道打包
作用:就是根据不同的渠道值,去具体分析每个渠道的用户情况
步骤一:
在AndroidManifest.xml的application标签里添加一个meta-data标签定义
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" /
步骤二:
修改app下的build.gradle文件,在build.gradle中添加productFlavors属性配置占位符
productFlavors {
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
helper91 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "helper91"]
}
anzhuo {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "anzhuo"]
}
}
或者
productFlavors {
baidu {
}
helper91 {
}
anzhuo {
}
}
productFlavors.all {
flavor - flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
配置完成,现在打包会发现
可以选择不同的渠道去生成不同的apk文件
3.多渠道中修改某个渠道的包名
helper91 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "helper91"]
applicationId="com.test.channel"
}
4.某个渠道使用不同应用名称或图标
比如百度渠道要使用自己单独的应用名称和图标
1.src目录下创建名字baidu的文件夹,这里文件夹的名字要和.gradle设置的渠道名字一样
2.创建values- strings.xml文件并创建字段”app_name”值为自己想要的应用名称
3.修文应用图标,在baidu文件夹下创建res文件夹,并且在res文件夹下边创建mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi,mipmap-xxhdpi,mipmap-xxxhdpi,不同像素值的文件夹,并把想要设置为应用的图标拷贝进去,注意这里的图片的名字必须和main下的一致。
5.自动规范apk的名字
applicationVariants.all { variant -
variant.outputs.each { output -
def outputFile = output.outputFile
if (variant.buildType.name.equals('release')) {
//生成apk名字的格式:Channel_1.0.0_2016-06-22_baidu.apk
//可自定义自己想要生成的格式
def fileName = "Channel_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
- spring:如何用代码动态向容器中添加或移除Bean ?
- WebComponent魔法堂:深究Custom Element 之 标准构建
- druid 数据源 使用属性文件的一个坑
- Angular企业级开发(3)-Angular MVC实现
- spring: 加载远程配置
- java:如何让程序按要求自行重启?
- Angular学习-指令入门
- java:如何让程序按要求自行重启?
- linux:nohup 不生成 nohup.out的方法
- 让VIM支持Python2 by update-alternatives
- Angular中ngCookies模块介绍
- 如何让jboss eap 6.2+ 的多个war应用共享 jar 包?
- scala 学习笔记(07) 一等公民的函数
- 让BASH,VIM美美的Powerline
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(四):发布与回滚
- linux centos 安装Jenkins(非docker方式)
- mysql5.7 derived_merge=on 弄丢了我的 order by!
- 用nrm轻松管理npm镜像 自用 实践笔记
- 模拟战役(DFS||并查集解法)
- 学会这些(滑动关机、应用多开、QQ微信消息攻击、表白神器),逼格瞬间提升1000倍
- 位数问题
- 题目 2229: [蓝桥杯][算法训练]最大最小公倍数
- 武汉工程大学2020GPLT选拔赛(重现赛)详细代码讲解
- 用邻接链表存图 详讲
- strstr函数的详细讲解
- ICPC Pacific Northwest Regional Contest 2019 C D E M 题解
- wordpress:您的主机禁用了mail()函数,找回用户名和密码
- AtCoder Beginner Contest 166 A ~~E
- AtCoder Beginner Contest 165 A ~~D