Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.1——使用Build Types
问题:
你想要自定义debug和release的build types,并且新建一些新的types。
解决方案:
使用buildTypes块配置build types。
讨论:
build type决定了app如何被打包。默认的,android的gradle插件支持两种build type:debug和release。两种都在模块的build.gradle文件中的buildTypes块下定义。在新的项目下的buildTypes块如下:
例子中值显示了release的build,但是想要编辑默认配置可以很容易的增加debug块。每个块都可以支持一些列的属性。完整的属性和方法可以在http://google.github.io/android-gradle-dsl/current/index.html上查看。
在release里面,minifyEnaled和自动去除包里面没有用到的资源有关。如果设置为true,gradle也会去除没有用到的依赖库。这只有在shrinkrResources属性也被设置为true的时候才生效。
更多的细节可以查看https://developer.android.com/studio/build/shrink-code.html页面。
在buildtypes里面还有个属性叫debuggable。debug builds自动设置debuggable为true,其他builds都默认为false。
为了在同一个设备上安装不同build types的同一app,Android必须能够区分他们的应用ID。applicationIDsuffix属性可以允许gradle生成多个拥有不同id的apk。
android {
buildTypes {
debug {
applicationIDsuffix '.debug'
versionNameSuffix '-debug'
}
}
}
现在同一个设备上可以同时安装release和debug版本的app。如果你能看到设备配置,在Apps里面,你可以看到debug和release版本是同一个app。
如果要区分它们,可以分别选择每个版本在“App info”设置里面查看完整的版本名。
最新文章
- WCF学习之旅—实现支持REST服务端应用(二十三)
- JavaScript生成新标签的三个方法(摘抄自留)
- (Hibernate进阶)Hibernate映射——多对一单向关联映射(四)
- R语言中的循环函数(Grouping Function)
- html内容写入到文件中的时候出现‘TypeError: expected a character buffer object’错误
- 详解C#break ,continue, return
- 在SharePoint中无代码开发InfoPath应用: 获取当前用户信息
- 用C#实现RSS的生成和解析,支持RSS2.0和Atom格式
- Nginx/Apache图片缩略图技术
- 汉诺塔III 递推题
- DOM中的NodeList与HTMLCollection
- java对象引用传递和值传递的一些总结
- Python爬虫从入门到放弃(二十)之 Scrapy分布式原理
- 17089 最大m子段和
- 1086. Tree Traversals Again (25)
- java 对同一个文件进行读写操作
- 【webpack】流行的前端模块化工具webpack初探
- vue axios 简单封装以及思考
- Shiro入门 - 通过自定义Realm连数数据库进行授权
- 2017-2018-2 20165325 实验一《Java开发环境的熟悉》实验报告
热门文章
- 警惕rapidxml的陷阱(二):在Android上默认内存池分配数组过大,容易导致栈溢出
- chrome护眼模式
- uva 11584 Partitioning by Palindromes 线性dp
- Microsoft.VisualC 命名空间包含支持用 c + + 语言的代码生成和编译的类。 混合编程中使用COM接口指针
- Unity多媒体展示项目经验分享-ImageEffect+动态绑定
- html checkbox 实现全选/取消全选
- Python绘制分段函数
- 错误: ISO C++ 不同意在类内初始化很量静态成员
- js - 模块化开发的兼容exports的套路
- Atitit.播放系统规划新版本 and 最近版本回顾 v3  pbf.doc