别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述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”设置里面查看完整的版本名。
文章图片
【Android开发(《Gradle Recipes for Android》阅读笔记(翻译)3.1——使用Build Types)】
推荐阅读
- Android(PowerManager类 电源管理)
- Android学习笔记 Activity的生命周期
- Android(或者Java)通过HttpUrlConnection向SpringMVC请求数据(数据绑定)
- 埃森哲面试体验(校园内)
- 算法题(递归程序打印三角形图案)
- 用所有其他的BitWise XOR替换数组的每个元素
- 算法设计(在给定大小的组中反向链表|S2)
- 生成长度为n的所有二进制字符串,其中子字符串“01”恰好出现两次
- 在R编程中从向量创建数据框