最近一直用android studio
进行开发,在开发和发版的时候,遇到一个多渠道打包的问题,由于公司里是有七个渠道的包进行分发,由于每次去AndroidManifest.xml
修改渠道的值,甚是麻烦。。。
最后去google了一番,发现有些方法,是在gradle
文件里切换各种不同的AndroidManifest.xml
文件,感觉这样也太麻烦些了。。。后面搜索了些,发些大家写得都差不多,发现一个在gradle
利用manifestPlaceholders
这个属性来替换渠道值的方法,但我按照这个方法,没有成功,我就去扒官方的文档才彻底搞定。下面就讲讲怎么实现的吧。
一般用渠道的统计无非是用友盟或者其它之类的,今天就以友盟的为例吧。
渠道信息一般在 AndroidManifest.xml
中修改以下值:
<meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />
首先你必须在AndroidManifest.xml
中的meta-data
修改以下的样子:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
其中${UMENG_CHANNEL_VALUE}
中的值就是你在gradle
中自定义配置的值。
build.gradle
文件就利用productFlavors
这样写:
productFlavors {
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
c360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]
}
uc {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]
}
}
其中[UMENG_CHANNEL_VALUE: "wandoujia"]
就是对应${UMENG_CHANNEL_VALUE}
的值。
最新更新
后来发现上面的重复代码太多,就在网上又发现了一个更简洁的写法
productFlavors {
wandoujia {}
baidu {}
c360 {}
uc {}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
其中name
的值对相对应各个productFlavors
的选项值,这样就达到自动替换渠道值的目的了。
这样生成apk时,选择相应的Flavors
来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。
一次生成所有渠道包
在android studio底栏中有个命令行工具Terminal
,打开后就CMD
可以自动切换到当前项目的目录下。
有的项目下会有
graldew.bat
这个文件,你就可以输入这个命令:gradlew assembleRelease
就可以一次性生成所有的渠道包了
不过我一般不建议大家使用这个命令,gradlew这个命令的gralde的版本无法控制,有时候会莫名其妙的下载老版本的gradle
所以我个人推荐大家使用以下的用法。
先找到gralde
的根目录,在系统变量里添加两个环境变量:
变量名为:GRADLE_HOME
,变量值就为gradle的根目录;
所以变量值为:C:\Users\yazhou\.gradle\wrapper\dists\gradle-2.1-all\27drb4udbjf4k88eh2ffdc0n55\gradle-2.1
还有一个在系统变量里PATH
里面添加gradle
的bin目录
我的就是C:\Users\yazhou\.gradle\wrapper\dists\gradle-2.1-all\27drb4udbjf4k88eh2ffdc0n55\gradle-2.1\bin
这里配置完成了,接着在Terminal
中敲下 gradle assembleRelease
就可以一次性生成所有的渠道包了。
所有生成的apk在项目的build\outputs\apk
下。
转载http://www.cnblogs.com/0616--ataozhijia/p/4203997.html
相关推荐
在Android Studio 3.0版本中,引入了一些新的构建系统改进,这些改进可能会影响到多渠道打包的过程。本文将针对在Android Studio 3.0上进行多渠道打包时遇到的问题进行总结,并提供解决方案。 首先,一个常见的错误...
完成应用开发后,需要打包并签名APK,然后通过Google Play Store或其他分发渠道发布。发布过程中需要注意应用的兼容性、性能优化以及遵循Google的发布政策。 通过学习以上知识点,初学者可以逐步掌握Android App...
在【Android Studio】Android studio 多渠道打包(超简洁版) - demoblog - 博客园.url这篇教程中,开发者可以学习到如何设置构建脚本来创建包含不同渠道参数的APK。通常,这涉及到修改build.gradle文件,添加自定义的...
【Android Studio简介】 Android Studio是Google为Android应用开发者提供的集成开发环境(IDE),基于IntelliJ IDEA,专为优化Android应用程序开发而设计。它提供了代码编辑、调试、性能分析、版本控制集成等一系列...
在Android平台上开发一个计算器应用是一项基础且重要的任务,它能帮助开发者熟悉Android Studio IDE、XML布局设计、Java或Kotlin编程语言以及Android SDK中的各种组件和API。基于Android的计算器通常会涉及到以下几...
完成应用开发后,了解如何签名、打包并发布到Google Play Store或其他分发渠道,是将应用推向市场的最后步骤。 以上只是《Android应用开发入门教程(经典版)》中部分关键知识点的概述,全书还涵盖了更多高级主题,如...
8. **发布与打包**:最后,将完成的应用打包成APK文件,签名后可以通过Google Play Store或其他分发渠道供用户下载安装。 "DateNote"虽然界面简单,但背后涉及的Android开发技术却是全面的。通过这样的实践,你可以...
13. **发布与更新**: 最终,开发者需要将应用打包成APK文件,并通过Google Play Store或其他分发渠道发布,同时还需要考虑应用的更新机制,以便于用户获取新功能和修复。 以上就是移动点餐系统开发涉及的主要知识点...
完成开发后,应用需要打包成APK并通过Google Play Store或其他分发渠道发布。发布前要遵循Google的开发者政策,进行兼容性测试和性能优化。 以上只是Android开发教程笔记可能涵盖的部分内容,具体的学习过程中还会...
13. **打包与发布**: 完成开发后,需要将应用打包成APK,并通过Google Play Store或其他分发渠道发布。 在【压缩包子文件的文件名称列表】"TerisMe"中,我们可以推测这可能是该项目的主程序文件或者是一个特定的...
最终,应用需要打包成APK并通过Google Play Store或其他分发渠道发布。 综上所述,这个"android简单猜数字的游戏"涵盖了Android开发中的多个核心概念,包括用户界面设计、事件处理、数据存储和错误处理等。对于初学...
完成应用开发后,需要打包成APK文件并通过Google Play或其他分发渠道发布。发布过程涉及签名、优化、版本控制和合规性检查等步骤。 以上就是Android官方教程的主要内容,覆盖了Android开发的各个方面,无论你是初学...
当应用开发完成后,需要将其打包成APK文件并通过Google Play或其他分发渠道发布。发布前,要确保应用经过充分的测试,满足质量标准,并处理好隐私政策和权限请求。 以上就是Android开发入门的一些核心知识点。通过...
5. Android Support Library:包含对旧版Android设备的向后兼容性库,以及各种组件和功能的扩展。 6. Gradle插件:与Gradle构建系统集成,用于自动化构建过程和依赖管理。 三、使用Android 7.0 SDK的步骤: 1. ...
11. **Gradle构建系统**: Android Studio使用Gradle作为默认的构建系统,它负责编译、打包和部署应用。开发者可以通过修改build.gradle文件来配置项目的构建属性。 12. **测试与调试**: Android Studio提供了丰富的...
11. **Gradle构建系统**:Android Studio使用Gradle作为默认的构建工具,负责编译、打包和依赖管理。 12. **测试**:为了确保应用的质量,开发者可能使用了JUnit或Espresso进行单元测试和UI测试。 13. **发布准备*...
完成游戏开发后,开发者可以使用 Android Studio 的打包功能生成 APK 文件,然后通过 Google Play 商店或其他分发渠道发布给用户下载和玩。 总的来说,FlappyChickAndEngine 是一个很好的学习资源,可以帮助开发者...
10. **发布与更新**: 开发完成后,应用需要打包成APK并通过Google Play或其他分发渠道发布。开发者需了解签名、优化APK大小和发布流程。 通过阅读作者在简书上的开发历程,开发者不仅可以学习到具体的编程技术,还...