andoird gradle 渠道包
来源:互联网 发布:2017淘宝网双11销量 编辑:程序博客网 时间:2024/05/02 01:29
0.打渠道包
Walle(瓦力):Android Signature V2 Scheme签名下的新一代渠道包打包神器
https://github.com/Meituan-Dianping/walle/
1. gradle 构建任务和构建场景
1.1 android 工程四种任务
- assemble任务,汇集所有项目输出
- check任务,运行所有校验
- build任务,既汇集又校验
- clean任务,清除所有项目输出
什么是BuildTypes、Flavors、BuildVariants
BuildTypes:构建类型,AndroidStudio的Gradle组件默认提供给了“debug”“release”两个默认配置,此处用于配置是否需要混淆、是否可调试等
Flavors:产品渠道,默认不提供任何默认配置,在实际发布中,根据不同渠道,我们可能需要用不同的包名,服务器地址等
BuildVariants:每个buildtype和flavor组成一个buildvariant
http://www.jsc0.com/post/145.html
2.打包命令
2.1 assemble + BuildTypes
assemble 这个命令,可以结合 Build Type 创建自己的task,如:
./gradlew assembleDebug
./gradlew assembleRelease
2.2assemble +Product Flavor + BuildTypes
除此之外 assemble 还能和 Product Flavor 结合创建新的任务,其实 assemble 是和 Build Variants 一起结合使用的,而 Build Variants = Build Type + Product Flavor , 举个例子大家就明白了:
如果我们想打包wandoujia渠道的release版本,执行如下命令就好了:
./gradlew assembleWandoujiaRelease
如果我们只打wandoujia渠道版本,则:
2.3assemble +Product Flavor
./gradlew assembleWandoujia
此命令会生成wandoujia渠道的Release和Debug版本
同理我想打全部Release版本:
./gradlew assembleRelease
这条命令会把Product Flavor下的所有渠道的Release版本都打出来。
2.4 多渠道目录
针对多渠道,例如staging、production连个flavor,他们所对应的源码目录是在主Module目录中的创建目录“src/staging/java”和“src/production/java”与原有的“src/main/java”目录对称
步骤分析:在Gradle进行构建时,它会现在main目录下寻找所需的.java文件,如果找不到,就会在构建时选择的渠道对应源码目录下寻找,如果此时main和渠道源码目录都有同一个.java文件,就会报“duplicate class(重复类)”错误。因此,应该删除main的原文件。
3. Resource merge priority
4 .gradlew vs gradle
gradlew是包装器,自动下载包装里定义好的gradle 版本,保证编译环境统一;
gradle 是用本地的gradle;
英文原版可以看这里 : The Gradle Wrapper
英文不好的话, 我也找到了中文版 : Wrapper (gradlew)
5. 参考链接
http://www.cnblogs.com/laughingQing/p/5855774.html
http://stormzhang.com/android/2016/07/15/android-gradle-config/
- andoird gradle 渠道包
- Android Gradle打渠道包
- gradle 构建不同渠道 APK 包
- 使用Gradle打Android渠道包
- gradle 神器编译不同的渠道包
- Android Studio 使用Gradle 打渠道包
- Gradle 使用Gradle构建Android应用的渠道包
- android studio 使用gradle批量打渠道包
- Gradle分渠道/包名/应用名打包Apk
- 使用Gradle构建Android应用的渠道包
- 使用Gradle构建Android应用的渠道包
- 使用Gradle构建Android应用的渠道包
- 使用Gradle构建Android应用的渠道包
- Android使用gradle快速生成渠道apk包。
- Android Gradle自动化之旅—适配渠道包
- 使用Gradle构建Android应用的渠道包
- Gradle之多渠道打包
- Android Studio 批量打包(渠道包,最新基于Gradle 2.2.1、Android Plugin 1.2.3)
- 【Unity】简单的分数排行榜功能实现(Web数据库)
- 使用python爬取百度百科python词条相关的1000个网页的标题和简介
- java单例和静态类区别
- Oracle数据库instr函数的应用
- Amlogic读写I2C测试节点
- andoird gradle 渠道包
- 使用Fresco注意的问题
- ViewPager无限轮播
- SerializeField 序列化域结合HideInInspector的使用
- 资源|17类对抗网络经典论文及开源代码(附源码)
- while loading shared libraries:libncurses.so.5问题
- 安卓 -- 微信分享集成
- 如何阻止h5body的滑动
- 1.0 在eclipse中使用maven创建springMVC项目