Android多渠道打包的方法步骤
作者:苏打水解渴 发布时间:2022-10-17 12:05:07
本文介绍了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"))
}
来源:http://blog.csdn.net/baidu_31956557/article/details/78251249?utm_source=tuicool&utm_medium=referral
猜你喜欢
- 前言飞行棋小游戏是学习C#以来,接触的第一个游戏项目,根据小杨老师的思路引导,自己的代码也实现了功能,经过思路的梳理,试着不借助代码自己去实
- Android getevent用法实例详解最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找。翻阅了几篇博
- Hibernate中有HQL查询语法。但我们用得比较熟的还是数SQL语句,那么应该怎么来让Hibernate支持SQL呢?这个不用我们去考虑
- 本文实例为大家分享了C#实现单词本功能的具体代码,供大家参考,具体内容如下看到网上有类似的教程视频实现单词本,于是自己敲了一个实现单词本功能
- 1:普通实现99乘法表太简单,是个程序员都会,实现如下:package test.ms;public class Test99 {publi
- C#调用c++dll文件是一件很麻烦的事情,首先面临的是数据类型转换的问题,相信经常做c#开发的都和我一样把学校的那点c++底子都忘光了吧(
- 1. 单个属性yaml 内的属性如下:server: port: 80只需在成员变量上注解 @Value(“
- 引言 批量下载思路,首先前端发送下载请求,携带必要参数,
- 介绍前面一章说了AbstractApplicationContext中的refresh方法中的invokeBeanFactoryPostPr
- 首先是.select在MP查询中,默认查询所有的字段,如果有需要也可以通过select方法进行指定字段。其中要注意的细节:wrapper.s
- 演示 - 初始化销毁顺序/* 初始化和销毁的执行顺序 */@SpringBootApplicationpublic
- 一、QQ邮箱打开POP3/SMTP服务上面的服务开启后,会得到一串授权密码在springboot配置中需要用到二、springboot配置I
- 1. 前言我们知道,在日常开发中使用的 HashMap 是线程不安全的,而线程安全类 HashTable 和 SynchronizedMap
- 前言最近数据库大作业要连接数据库,看了很多博客文章终于连接好了,但是没有看到一篇博客是能直接连接完成的,所以在这记录一下希望能帮助大家sql
- 本文实例讲述了java使用Hashtable过滤数组中重复值的方法。分享给大家供大家参考,具体如下:package org.eline.co
- 一、网络保存数据介绍可以使用网络来保存数据,在需要的时候从网络上获取数据,进而显示在App中。用网络保存数据的方法有很多种,对于不同的网络数
- Java 使用getClass().getResourceAsStream()方法获取资源之前想获取一个资源文件做一些处理,使用getCla
- java -jar设置添加启动参数方法java -jar 参数前后位置说明springboot项目启动的时候可以直接使用java -jar
- Application.Idle()方法表示:当应用程序处于空闲状态时执行相应代码。示例程序1、界面设计:一个简单的Lable控件2、代码u
- Lombok简介和其他语言相比,Java经常因为不必要的冗长被批评。Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,