文章目录

  • 一、Splits#density{} 脚本块配置
    • 1、配置简介
    • 2、配置原型
    • 3、使用示例
  • 二、DensitySplitOptions 配置简介
    • 1、属性方法配置简介
    • 2、属性方法配置使用方法 ( 官方使用文档 )

Android Plugin DSL Reference 参考文档 :

  • 文档主页 : https://google.github.io/android-gradle-dsl/2.3/

  • BaseExtension 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html

  • AppExtension ( build.gradle#android 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html

  • build.gradle#android 模块配置文档 : android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html

  • ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html

  • ProductFlavor#externalNativeBuild 配置 ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) : com.android.build.gradle.internal.dsl.ProductFlavor:externalNativeBuild

  • ExternalNativeBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions.html

  • NdkBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild#ndkBuild 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.NdkBuildOptions.html

  • CmakeOptions ( build.gradle#android#defaultConfig#externalNativeBuild#cmake 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.CmakeOptions.html

  • JackOptions ( build.gradle#android#defaultConfig#jackOptions 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.JackOptions.html

  • AnnotationProcessorOptions ( 注解处理器配置 ) ( build.gradle#android#defaultConfig#javaCompileOptions配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html

  • NdkOptions ( build.gradle#android#defaultConfig#ndk 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html

  • NDK 参考文档 : Add C and C++ Code to Your Project.

  • VectorDrawablesOptions ( build.gradle#android#defaultConfig#vectorDrawables 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html

  • BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html

  • SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html

  • AaptOptions ( build.gradle#android#aaptOptions 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AaptOptions.html

  • AndroidSourceSets ( build.gradle#android#sourceSets 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceSet.html

  • AndroidSourceDirectorySet ( build.gradle#android#sourceSets#aidl/assets/java/jni/jniLibs 配置 ) 文档位置 :android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceDirectorySet.html

  • AndroidSourceFile ( build.gradle#android#sourceSets#manifest 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceFile.html

  • DataBindingOptions ( build.gradle#android#dataBinding ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DataBindingOptions.html

  • DexOptions ( build.gradle#android#dexOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DexOptions.html

  • LintOptions ( build.gradle#android#lintOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html

  • PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html

  • Splits ( build.gradle#android#splits ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.Splits.html

  • AbiSplitOptions ( build.gradle#android#splits#abi ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AbiSplitOptions.html

  • DensitySplitOptions ( build.gradle#android#splits#density ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DensitySplitOptions.html

在 Splits 配置中 , 有 333 个脚本块配置 ,

  • abi ,
  • density ,
  • language;

    参考 android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.Splits.html 文档 ;

一、Splits#density{} 脚本块配置


Splits ( build.gradle#android#splits ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.Splits.html

DensitySplitOptions ( build.gradle#android#splits#density ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DensitySplitOptions.html

1、配置简介

Splits#density {} 脚本块配置 用于配置 根据 屏幕像素密度 进行 apk 分包的设置 ;

2、配置原型

Splits#density {} 脚本块配置原型 : 配置 屏幕像素密度 分包设置 ;

density { }
Configures density split settings.
配置 屏幕像素密度 分包设置Delegates to:
DensitySplitOptions from density

该脚本块主要是配置 Splits#density 属性 , 其类型是 DensitySplitOptions ;

Splits#density 属性 原型如下 :

DensitySplitOptions density
Density settings.

3、使用示例

Splits#density 配置使用示例 : 下面的章节会详细讲解 DensitySplitOptions 配置的属性及方法细节 ;

android {splits {abi {enable true// 重置所有配置reset()// 只生成 x86 和 armeabi-v7a 架构的 apk include 'x86', 'armeabi-v7a'universalApk true}density {enable true// 排除 xhdpi 的打包 apkexclude 'xhdpi'}}
}

使用效果 : 编译 apk 文件时 , 会为每个 屏幕像素密度 生成独立的 apk 文件 ;

如 : 为 xhdpi 生成一个专门在 xhdpi 设备上运行的 apk ;

默认是生成所有屏幕像素密度的 apk 包 , 如果设置了 exclude 'xhdpi' , 就不会生成 该 密度 对应的 apk , 生成其它 ldpi mdpi hdpi xxhdpi xxxhdpi 的 apk 文件 ;

二、DensitySplitOptions 配置简介


DensitySplitOptions ( build.gradle#android#splits#density ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DensitySplitOptions.html

1、属性方法配置简介

在 build.gradle#android#splits#density 中配置的类型是 DensitySplitOptions 配置 , 该配置的属性与方法如下 :

Properties
Property    Description
applicableFilters
Returns a list of all applicable filters for this dimension.
返回此维度所有适用筛选器的列表。auto
Whether the build system should determine the splits based on the "language-*" folders in the resources.
构建系统是否应根据参考资料中的“language-*”文件夹确定拆分。compatibleScreens
A list of compatible screens.
兼容屏幕列表。enable
Whether to split in this dimension.
是否在此维度中拆分。Methods
Method  Description
exclude(excludes)
excludes some values
排除某些值include(includes)
includes some values
包括一些值reset()
Resets the list of included split configuration.
重置包含的拆分配置列表。

2、属性方法配置使用方法 ( 官方使用文档 )

上述方法属性的具体用法 , 参考 https://developer.android.com/studio/build/configure-apk-splits 文档 ;

【Android Gradle 插件】Splits 配置 ③ ( Splits#density{} 脚本块配置 | 根据屏幕像素密度进行分包 | DensitySplitOptions 配置简介 )相关推荐

  1. 【Android Gradle 插件】Splits 配置 ④ ( Splits#language{} 脚本块配置 | 根据语言进行分包 | LanguageSplitOptions 配置简介 )

    文章目录 一.Splits#language{} 脚本块配置 1.配置简介 2.配置原型 3.使用示例 二.LanguageSplitOptions 配置简介 1.属性方法配置简介 2.属性方法配置使 ...

  2. 【Android Gradle 插件】 Splits 配置 ① ( BaseExtension#splits 配置 | Splits 配置简介 )

    文章目录 一.BaseExtension#splits 配置 1.BaseExtension#splits { } 脚配块配置简介 2.BaseExtension#splits { } 脚配块配置原型 ...

  3. 【Android Gradle 插件】工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )

    文章目录 一.工程根目录下 build.gradle 配置文件 1.基本作用 2.远程仓库配置 3.依赖配置 3.所有子模块配置 4.task clean 任务 Android Plugin DSL ...

  4. 【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#buildConfigField 方法 | 单独编译生成 BuildConfig 类的任务 )

    文章目录 一.ProductFlavor#buildConfigField 方法 二.单独执行 Gradle 编译 BuildConfig 的任务 Android Plugin DSL Referen ...

  5. 当前版本的Android Gradle插件不支持按需配置

    本文翻译自:Configuration on demand is not supported by the current version of the Android Gradle plugin A ...

  6. 【Android Gradle 插件】AaptOptions 配置 ⑥ ( Overlay 重叠包机制 | AaptOptions#additionalParameters 附加参数配置 )

    文章目录 一.Overlay 重叠包机制 二.AaptOptions#additionalParameters 附加 -S 参数配置实现Overlay 重叠包机制 Android Plugin DSL ...

  7. 【Android Gradle 插件】DexOptions 配置 ③ ( additionalParameters 属性配置 | 多 dex 参数配置 | --multi-dex 参数 )

    文章目录 一.dx --multi-dex 参数 1.--multi-dex 参数简介 2.--multi-dex 参数配置示例 二.BuildType#multiDexEnabled 属性配置多 d ...

  8. 【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )

    文章目录 一.Android 中的 WebP 图片格式使用 二.WebP 格式转换 三.WebP 参考文档 Android Plugin DSL Reference 参考文档 : Android St ...

  9. Android Gradle 插件版本说明

    Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能.虽然 Android 插件通常会与 Andro ...

最新文章

  1. T端音乐盒子-NPC脚本
  2. OO实现ALV TABLE 五:ALV的栏位属性
  3. Asp.NetCore轻松学-部署到 IIS 进行托管
  4. java安装后在哪里打开_冷却塔声屏障安装后降噪效果不理想,原因出在哪里?...
  5. 计算机二级c选择题怎么准备,马上计算机二级考试,你准备得怎么样了?
  6. SqlServer规则
  7. Cocos2d-x 3.x:如何进行合理的内存分配(使用AutoreleasePool 来合理的管理内存)
  8. jquery常用选择器和常用方法
  9. 华为服务器串号官网查询系统,查询服务器序列号
  10. zabbix+snmp+Granfana监控打印机
  11. C# Prase转换 Convert 转换
  12. IPCam的启动过程和工作流程
  13. 李泉老师《高级商务礼仪锻造》
  14. c语言 ll1文法实验报告,C语言文法 LL(1)文法
  15. ttkbootstrap 学习
  16. 爱普生墨仓式打印机故障检查,卡纸,清洗打印头,补充墨水详解(非常实用)
  17. 图像边缘检测与图像梯度的概念
  18. BugTags 让Bug无所遁形,记录集成BugTags之路
  19. SpringBoot之小彩蛋:动态Banner
  20. Android面试题精选,轻松进阿里(2023最新版)

热门文章

  1. oracle数据库在公有云上,【云端起舞】在Oracle公有云上创建克隆数据库
  2. 丝路传说架设服务器维护,《丝路传说》一键整合服务端+GM工具+视频架设教程...
  3. 数学符号发音及英文表达
  4. HLS流媒体服务器对性能要求,搭建hls直播流媒体服务器有什么要求?
  5. Pyton学习—循环语句
  6. 好强的谷歌插件,不用写代码就能爬虫!
  7. leetcode——第860题——柠檬水找零
  8. 小技巧-不使用js制作高级足球比赛赛程表
  9. 通达OAV12报表中心
  10. java多态工作机制_Java多态