【Android Gradle 插件】BuildType 编译类型配置 ④ ( minifyEnabled 配置 | multiDexEnabled | pseudoLocalesEnabled )
文章目录
Android Plugin DSL Reference 参考文档 :
- 文档主页 : https://google.github.io/android-gradle-dsl/2.3/
- 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
- 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
- NDK 参考文档 : Add C and C++ Code to Your Project.
一、BuildType#minifyEnabled 配置
BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html
BuildType#minifyEnabled 配置项 用于配置 是否开启 混淆优化 , 默认为 false ;
BuildType#minifyEnabled 配置原型 :
boolean minifyEnabled
Whether Minify is enabled for this build type.
Java 代码混淆参考如下博客 :
- 【Android 安全】DEX 加密 ( ProGuard 混淆 | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 )
- 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt )
- 【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息 | retrace.bat 命令执行目录 | 暴露更少信息 )
- 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt )
- 【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )
二、BuildType#multiDexEnabled 配置
BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html
BuildType#multiDexEnabled 配置 用于配置 是否支持多 Dex 机制 , 如果当前方法数超过
则需要开启 ;
Boolean multiDexEnabled
Whether Multi-Dex is enabled for this variant.
BuildType#multiDexEnabled 配置 需要结合 BuildType#multiDexKeepFile 配置 和 BuildType#multiDexKeepProguard 配置 使用 ;
Boolean multiDexEnabled
是否为此变体启用多索引。
File multiDexKeepFile
文本文件,指定将编译到主dex文件中的其他类。
文件中指定的类附加到使用aapt计算的主索引类。
如果设置了,文件每行应该包含一个类,格式如下:com/example/MyClass。班
File multiDexKeepProguard
文本文件,带有附加的ProGuard规则,用于确定哪些类被编译到主dex文件中。
如果已设置,则此文件中的规则将与生成系统使用的默认规则结合使用。
三、BuildType#pseudoLocalesEnabled 配置
BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html
BuildType#pseudoLocalesEnabled 配置 作用是 配置国际化相关区域配置 ;
是否在APK中生成伪语言环境。
如果启用,将向APK中添加两个伪区域设置(en-XA和ar-XB),以帮助测试应用程序中的国际化支持。
BuildType#pseudoLocalesEnabled 配置原型 :
boolean pseudoLocalesEnabled
Whether to generate pseudo locale in the APK.
If enabled, 2 fake pseudo locales (en-XA and ar-XB) will be added to the APK to help test internationalization support in the app.
相关文章
- android 混淆规则作用,Android代码混淆详解
- android退出app代码,Android应用退出代码各种方式
- android telephony 原理解析与开发指南_Android逆向pdf
- android跳转到相册需要权限,Android打开相册获取图片路径[通俗易懂]
- 【错误记录】Android 应用 release 打包报错处理 ( 关闭语法检查 | 日志处理 | release 配置 )
- 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )
- 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )
- 【Android Gradle 插件】gradle.properties 中配置编译参数并在 Java 代码 BuildConfig 中调用该参数
- 【ijkplayer】编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )
- 【Android Gradle 插件】SigningConfig 签名配置 ② ( keyAlias 配置 | keyPassword 配置 )
- 【Android Gradle 插件】AndroidSourceSets 配置 ① ( Overlay 重叠包机制 | 使用 sourceSets 配置多个 res 目录 )
- 【Android Gradle 插件】AdbOptions 配置 ① ( BaseExtension#adbOptions 脚本块配置 | AdbOptions 配置简介 )
- 【Android Gradle 插件】DataBindingOptions 配置 ( BaseExtension#dataBinding 脚配块配置 | DataBindingOptions 属性)
- 【Android Gradle 插件】LintOptions 配置 ② ( abortOnError 配置 | 手动执行 lint 检查并生成 lint-result.html 检查报告 )
- 【Android Gradle 插件】LintOptions 配置 ⑤ ( absolutePaths 属性配置 | check 属性配置 | checkAllWarnings 属性配置 )
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ④ ( 为自定义 Gradle 插件的扩展配置扩展 | 在自定义插件中获取扩展属性 )
- 【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 在模块中定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )
- 【Android Gradle 插件】Gradle 基础配置 ② ( Gradle 空白项目构建示例演示 )
- 【Android Gradle 插件】Gradle 构建机制 ② ( Groovy 语言 DSL 特性 | settings.gradle 配置文件解析 | 配置子模块工程目录 | 顶层配置 )
- 【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )
- [android] 看博客学习Android常见的几种RuntimeException详解手机开发