Android Studio(十二):打包多个发布渠道的apk文件
以前把apk文件上传到应用市场,都是直接打个包,让运营那边的人员去负责去传,也没想过做啥应用的信息统计相关的东东,现在可不行了,小经理告诉我,我们的应用需要做些统计相关的东西,方便日后分析我们的应用还有哪些不足,好吧,既然有需求了,那就只有去做了。
之前就已经知道友盟统计了,今天仔细看了下相关的文档,又在度娘上发现了几个使用Android Studio打包多个平台apk文件的方法,这下可好,正好满足我的需求,遂赶紧尝试研究了下。
网上已经有些个方法,有复杂的,也有简单的,这里,我直接介绍简单的东西,省的迷惑大家了:
1. 首先配置清单文件:AndroidMainFest.xml
meta-data android:name="UMENG_APPKEY" android:value="您申请的key值" / meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /
android { signingConfigs { designerassist { keyAlias designerassist.keystore keyPassword otb2015 storeFile file(E:/workspace/otb/designerhelper/designerassist.keystore) storePassword otb2015 compileSdkVersion 19 buildToolsVersion 22.0.1说明:
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获取开发版SHA1值和发布版SHA1值的史上最详细方法 今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘钥,申请秘钥要用到SHA1值,所以今天就来总结一下怎样去获取这个值吧,希望对大家有帮助。
相关文章
- xps 转 pdf android版,OakDoc XPS to PDF Converter(XPS文件转PDF格式工具)V2.2 正式版
- android进阶之了解Android系统与开机过程
- Android中根据coverage.ec文件生成报告
- Android preference_android studio preview
- 技术实操| 自有App如何引入小游戏(Android篇)
- android 实现 搜索保存历史记录功能
- 【技术分享】Android渗透测试
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 解压 apk 文件 | 判定是否是第一次启动 | 递归删除文件操作 | 解压 Zip 文件操作 )
- 【Android 热修复】热修复原理 ( Dex 文件拷贝后续操作 | 外部存储空间权限申请 | 执行效果验证 | 源码资源 )
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
- 【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#externalNativeBuild配置 | cmake 配置 | ndkBuild 配置 )
- 【错误记录】编译 Android 版本的 ijkplayer 报错 ( ./init-android.sh: 第 37 行: cd: android/contrib/: 没有那个文件或目录 )
- 【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ③ ( CMake 工程中配置 OpenCV 库文件 | 拷贝 OpenCV 函数库文件 )
- Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件详解手机开发
- Android 判断ListView滑动方向详解编程语言
- android连接服务器下载文件工具类详解编程语言
- Android中动态加载.jar的实现步骤
- 将文件放到Android模拟器的SD卡中的两种解决方法
- Android中删除文件以及文件夹的命令记录
- Android修改源码解决Alertdialog触摸对话框边缘消失的问题