Android Studio BuildType 构建类型
来源:互联网 发布:tensorflow linux 推荐 编辑:程序博客网 时间:2024/05/22 06:07
一、BuildType 属性以及方法。
下面简要介绍下BuildType的属性以及方法,更多详情,可以参阅:
BuildType详情
1、属性
2、方法
二、构建类型(Building type)的应用
- 1、可以在模块级 build.gradle 文件的 android {} 代码块内部创建和配置构建类型。
- 2、当创建新模块时,Android Studio 会自动为您创建debug和release这两种构建类型。
下面我们通过一个案例,来熟悉BuildType以及源集的配置,并验证以下事项:
- 1、每一个构建类型(BuildingType),都会产生对应的一个APK。
- 2、源集的加载优先级。
备注:想要看到运行效果或者想要动手配置的同学,请移驾Github。
下面的案例,使用了一个类库DemosAndApi,该类库用于快速构建Demos演示或者Api程序。
1、创建或者配置构建类型(Building type):
applicationIdSuffix
:应用程序标识后缀。 versionNameSuffix
:版本名称后缀。 initWith
:允许您从其他构建类型复制其配置。
android { ... defaultConfig {...} buildTypes { release {// 备注:"release"类型的构建类型 minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug {// 备注:"debug"类型的构建类型 applicationIdSuffix ".debug" } jnidebug { // 复制 构建类型=“debug”的配置 initWith debug applicationIdSuffix ".jnidebug" jniDebuggable true } }}
2、添加源集目录。
上面的配置,为模块新增加了jnidebug
源集,那么,我们可以在工程中,为其配置源集目录。
关于源集,可以参考这篇文章。Android Studio Set of source 代码源集
工程文件树,展示如下:
3、配置源集文件。
在每个源集中,我们都只有一个MainActivity,该类展示在界面上展示当前所处于的源集或者所对应的构建类型。详情请参阅源码。
4、执行编译
- 4.1、选择AndroidStudio左下角的Build Variants来配置需要编译的类型。
- 4.2、每一种构建类型都编译完毕后,我们查阅:
app/build/outputs
目录可以看到,相应的apk已经生成了。
5、Overlay覆盖机制。
我们先通过比较debug、release、jnidebug三种构建类型的运行结果:
- 5.1、debug 源集的apk运行效果:
类库DemosAndApi为我们加载了debug和main源集的页面,并且页面来自各自源集的配置。
5.2、release运行结果
Github源码库中有release构建类型的运行结果,在此就不在贴出来了。5.3、jnidebug的运行结果
jnidebug是我们新建的构建类型,它的运行结果如下:
在此处,我们看到jnidebug的运行效果不一样了,这是因为,我们在jnidebug的源集中,重新定义了main源集的资源。
<resources>······ <string name="app_name_jnidebug_label">app/jnidebug/jnidebug_MainActivity</string> <string name="app_name_main_label">app/main/main_MainActivity_来自jnidebug源集的覆盖</string></resources>
在这里延伸出来一个概念,资源的overlay,在BuildType中,资源存在覆盖机制,存在优先级。
构建变体 > 构建类型[BuildType] > 产品风味[ProductFlavor] > 主源集[main] > 库依赖项
从上面的优先级来看,main源集的优先级 是比较低的,也就是说,【新创建的源集】可以覆盖【main源集】的资源。
写作不易,耗费心力,如果上面的内容对你有帮助,请随意打赏,让我们坚持下去~
- Android Studio BuildType 构建类型
- Android 自定义构建类型 BuildType
- Android 开发 buildtype配置
- Android gradle 中使用 buildType
- 不同buildType下的区别构建配置方式
- Android Studio构建优化
- Android Studio构建优化
- Android studio 构建名词解释
- Android Studio构建工具Gradle构建原理
- Android studio 项目构建四|构建变体
- Android studio使用构建library
- 加速Android Studio/Gradle构建
- 加速Android Studio/Gradle构建
- 加速Android Studio/Gradle构建
- 加速Android Studio/Gradle构建
- 加速Android Studio/Gradle构建
- Android Studio下构建NDK
- 加速Android Studio/Gradle构建
- java对象和xml的互相转换,JAXB可以轻松实现
- 2017"百度之星"程序设计大赛
- postman 使用
- 批处理--ren重命名
- Spring--IoC_值注入
- Android Studio BuildType 构建类型
- 记录一个cell的Action事件无响应bug
- 线性表的顺序存储与实现
- java的多线程同步剖析
- 【poj3264】 Balanced Lineup(st表)
- adb命令安装apk
- c++ primer
- NKOJ 3844 服务器信息储存(最短路)
- Eclipse安装svn插件的几种方式