Android Studio(十二):打包多个发布渠道的apk文件
Android Studio相关博客:
Android Studio(二):快捷键设置、插件安装
以前把apk文件上传到应用市场,都是直接打个包,让运营那边的人员去负责去传,也没想过做啥应用的信息统计相关的东东,现在可不行了,小经理告诉我,我们的应用需要做些统计相关的东西,方便日后分析我们的应用还有哪些不足,好吧,既然有需求了,那就只有去做了。
之前就已经知道友盟统计了,今天仔细看了下相关的文档,又在度娘上发现了几个使用Android Studio打包多个平台apk文件的方法,这下可好,正好满足我的需求,遂赶紧尝试研究了下。
网上已经有些个方法,有复杂的,也有简单的,这里,我直接介绍简单的东西,省的迷惑大家了:
1. 首先配置清单文件:AndroidMainFest.xml
<meta-dataandroid:name="UMENG_APPKEY"android:value="您申请的key值" />
<meta-dataandroid:name="UMENG_CHANNEL"android:value="${UMENG_CHANNEL_VALUE}" />
2. 在工程的build.gradle文件中配置
android {signingConfigs {designerassist {keyAlias 'designerassist.keystore'keyPassword 'otb2015'storeFile file('E:/workspace/otb/designerhelper/designerassist.keystore')storePassword 'otb2015'}}compileSdkVersion 19buildToolsVersion '22.0.1'productFlavors {wandoujia {}baidu {}c360 {}uc {}qq {}xiaomi {}meizu {}c91 {}huawei {}lenovo {}wangyi {}yidong {}mgyapp {}anzhuoapk {}tianyi {}appchina {}nduoa {}umeng {}productFlavors.all { flavor ->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}}
说明:
其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。
这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。
你只需要按照上面的配置写就好了,当然,是根据你的需要选择不同的平台。
打包:
首先,你需要先配置下gradle环境:
在系统变量里添加两个环境变量:
1.1 变量名为:GRADLE_HOME,变量值就为gradle的根目录;
所以变量值为:C:\Users\ningshuai\.gradle\wrapper\dists\gradle-2.2.1-all\c64ydeuardnfqctvr1gm30w53
1.2 在系统变量里PATH里面添加gradle的bin目录
值为:C:\Users\ningshuai\.gradle\wrapper\dists\gradle-2.2.1-all\c64ydeuardnfqctvr1gm30w53\gradle-2.2.1\bin
配置完变量后,便可以打包了,打开命令行,切换到你的项目目录下,你会发现自己的目录中有graldew.bat这个文件:
接下来,你就可以直接输入命令:gradle assembleRelease,就可以一次性生成所有的渠道包了:
所有生成的apk在项目的build\outputs\apk下:
如果只是想生成单个渠道的包呢?可以用命令行单独生成,比如:
gradle assembleWandoujiaRelease
当然,除此之外,你还可以直接通过Android studio导出相应平台的apk文件:
好了,so easy。接下来只需要把相应的包发布到不同的应用平台即可,这样,你可以通过友盟查看到相关渠道的下载安装情况了。
Android Studio(十二):打包多个发布渠道的apk文件相关推荐
- 拥抱 Android Studio 之二:Android Studio 与 Gradle 深入
2019独角兽企业重金招聘Python工程师标准>>> 关于学习方式 曾经跟朋友讨论过我们所接受过的大学工科教育,都是一上来先学基础理论,最后再来一个金工实习.一开始不知道为什么而学 ...
- Android Studio生成二维码
Android Studio生成二维码 第一步 导入依赖 第二步 在清单文件里加权限 第三步 初始化 第四步 在清单文件里进行调用 第五步 在MainActivity 第六步 建一个管理类 第七步 新 ...
- android项目打包apk,Android Studio将程序打包成APK的步骤详解
第一步:先点击Build选择GenerateSigned APK 第二步:如果之前有编译成APK的话,就直接选择Choose existing已经存在的key:如果没有编译成APK那就选择Create ...
- Uniapp中使用高德地图,并在android studio中离线打包
Uniapp中使用高德地图,并在android studio中离线打包 带高德地图功能的Uniapp的android离线打包 1. Uniapp中使用高德地图的方式 2. 高德地图中申请key 3. ...
- Android Studio 一个工程打包多个不同包
Android Studio 一个工程打包多个不同包 转: https://blog.csdn.net/kdsde/article/details/88639194 AS主要是利用gradle来实现这 ...
- Android studio 多渠道版本打包方法 flavor dimension
Android studio 多渠道版本打包方法 flavor dimension 前言 开始 新建项目 修改build.gradle 创建差异化文件 创建图标 修改APP配色 修改APP名字 APP ...
- android 矢量图形文件,Android Studio进行APP设计开发之矢量图及XML文件转换
Android Studio进行APP设计开发之矢量图及XML文件转换 当我们使用Android studio进行APP设计开发时,会用到矢量图,那么要将矢量图运用到安卓工程drawable中去,就需 ...
- Android Studio进行APP设计开发之矢量图及XML文件转换
Android Studio进行APP设计开发之矢量图及XML文件转换 当我们使用Android studio进行APP设计开发时,会用到矢量图,那么要将矢量图运用到安卓工程drawable中去,就需 ...
- 【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )
文章目录 一.解压 apk 文件 二.加密生成 dex 文件 三.打包未签名 apk 文件 四.完整代码示例 五.文件解压缩相关代码 六.执行结果 参考博客 : [Android 安全]DEX 加密 ...
最新文章
- (Excel)常用函数公式及操作技巧之九:查询和查找引用
- 操作系统:分享6 个“吓人”的 Linux 命令
- Class_fileAndroid应用调用方法
- 很实用的21个SQL小技巧!
- iPhone越来越难打动你?从iOS平台转投安卓阵营 这招你得学会!
- 设计PNG免抠素材|提高调性!透明液态气泡免扣素材
- 用VBScript实现Zip压缩目录中的所有文件
- [转]正则表达式中re.match、re.search、re.findall的用法和区别
- Lucene Boost 精度表
- wemall app商城源码Android中ViewHolder详细解释
- 全世界都误会我们了。。。。。。。。
- 小京东商城用什么版本的php,最新2018小京东多用户通用商城网源码商城带手机版ecshop源码程序...
- 查看python包的版本
- 顶级赛事 | 2019 CCF BDCI,最值得参与的国际大数据及AI赛事之一
- 基于UP30飞控系统的无人机地面站航线规划方法
- mysql 分库分表中间件 mycat_Mysql—分库分表中间件(Mycat)
- 华硕win10键盘失灵_win10笔记本键盘失灵怎么办_win10笔记本电脑键盘失灵一键修复教程...
- ChinaUnix中的音乐天地
- 并行计算:循环程序并行化的一般方法
- K-armed Bandit
热门文章
- 【转载】哪个OA比较好,18家常见OA系统全方位大阅兵
- React native 浏览器调试
- c语言中循环结构的作用,C语言循环结构知识点
- Kali Linux又增加一个顶级域名kali.download
- Arduino可穿戴教程ArduinoIDE新建编辑源文件
- java强制转换成float_在Java中什么时候double必须强制转换成float 就是要在数值后加f或者强制转换...
- 高响应比优先算法代码_以梦为码丨让每一行代码都充满温情
- easyui js解析字符串_EasyUI Dialog弹出框+JS执行字符串
- 主机通过sftp传输文件到某台服务器ubuntu虚拟机出现:open for write: permission denied
- AI靠语意理解把照片变抽象画,无需相应数据集,只画4笔也保留神韵,有毕加索内味儿了...