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开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)
如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...
- Android开发工具全面转向Android Studio(2)——AS project/module的CRUD
本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...
- 配置cordova的android开发环境(无android studio)
原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...
- 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...
- Eclipse搭建Android开发环境并运行Android项目
Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.2——DSL文档
问题: 你需要查找Android Gradle DSL的完整文档. 解决方案: 访问Gradle Tools网站,从Android开发网站下载ZIP文件. 讨论:Android开发网站首页有完整的AP ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试
问题: 你想要测试app中的非android部分. 解决方案: 可以使用Android Studio1.1里面增加的单元测支持和Android的Gradle插件. 讨论: ADT插件只支持集成测试,并 ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.3——用Eclipse ADT导出App
问题: 想在一个已经存在的Eclipse ADT的项目中使用Gradle 解决方案: Eclipse ADT插件可以帮助生成Gradle文件 讨论: Eclipse的ADT插件是在2013年推出Gra ...
- Android开发:《Gradle Recipes for Android》阅读笔记1.2
在android开发中会需要配置使用app的android SDK的最低版本和目标版本,这个是bulidl.gradle的android模块设置.默认有以下几个设置: applicationId,这个 ...
随机推荐
- Scala 将BigDecimal转换为Long
待转换.asInstanceOf[Number].longValue (Double转为Long也适用)
- maven 打包不全(xml,properties文件没打进包)解决方案
在pom.xml的build标签中加入以下代码即可 <build> <resources> <resource> ...
- Appium Python 一:环境搭建
安装Android SDK以及模拟器 由于Appium依赖于Android SDK,所以需要先安装SDK. 这里由于需要在Android模拟器上跑测试用例,所以同时需要安装Android 模拟器. 1 ...
- Destroy reall destroy ?!
最近做战斗逻辑的时候发现一个问题 测试脚本mTest: public class mTest : MonoBehaviour { public mTest2 tmp2; void OnGUI() { ...
- javaEE开发之文件下载
package com.example.web; import java.io.File; import java.io.FileInputStream; import java.io.IOExcep ...
- java8 环境变量设置
Java8环境变量配置:a.JAVA_HOME:jdk安装目录b.CLASSPATH:.;%JAVA_HOME%\libc.PATH:%JAVA_HOME%\bin配置环境变量方法:1.点击计算机,右 ...
- linux c中select使用技巧——计时器(转)
通过本文你会了解到: 1. select()原型及参数说明 2. select()应用情景 3. select()注意事项 4. select()作定时器 原型 int select(int nfds ...
- poj 3592 Instantaneous Transference 【SCC +缩点 + SPFA】
Instantaneous Transference Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 6204 Accep ...
- 电脑 F键(功能键)的具体作用
F1:如果你处在一个选定的程序中而需要帮助,那么请按下F1.如果现在不是处在任何程序中,而是处在资源管理器或桌面,那么按下F1就会出现Windows的帮助程序.如果你正在对某个程序进行操作,而想得到W ...
- Docker 基础概念科普 和 常用操作介绍
Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...