【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#ndk 配置 | ProductFlavor#proguardFiles 配置 )
2023-06-13 09:18:01 时间
文章目录
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
- NDK 参考文档 : Add C and C++ Code to Your Project.
一、ProductFlavor#multiDexEnabled 配置
ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html
ProductFlavor#ndk
配置 , 用于封装 NDK 的每种变体配置 , 例如 ABI 过滤器 ;
ProductFlavor#ndk
配置是 NdkOptions 类型的 , 文档地址 https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html ;
用于配置打包哪些 CPU 架构的动态库 ;
Gradle本机库的ABI配置应该与APK一起构建和打包。您可以列出NDK支持的ABI的任何子集。
Groovy 代码示例 :
android {
defaultConfig {
ndk {
abiFilters "armeabi-v7a" , "arm64-v8a", "x86", "x86_64"
}
}
}
二、ProductFlavor#proguardFiles 配置
ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html
ProductFlavor#proguardFiles
配置 , 用于配置混淆文件 ;
机翻文档仅做参考 :
返回要使用的ProGuard配置文件。
有两个默认规则文件
proguard-android.txt
proguard-android-optimize.txt
它们位于SDK中。使用 getDefaultProguardFile(String filename) 将返回文件的完整路径。除了启用优化之外,它们是相同的。
请参见类似命名的方法来指定文件。
此外在 build.gradle#android#buildTypes 中 , 也可以配置混淆文件 , buildTypes 和 ProductFlavor 都继承同一个类 BaseConfigImpl
, 部分配置重复 ;
android {
defaultConfig {
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
相关文章
- android 混淆规则作用,Android代码混淆详解
- Android SDK 下载安装及配置[通俗易懂]
- 测试android sdk是否安装成功,配置Android SDK
- Android Studio 安装配置教程 – Windows(详细版)
- 【Android NDK 开发】Visual Studio 2019 使用 CMake 开发 JNI 动态库 ( 动态库编译配置 | JNI 头文件导入 | JNI 方法命名规范 )
- 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
- 【Android 安全】DEX 加密 ( 多 DEX 加载 | 65535 方法数限制和 MultiDex 配置 | PathClassLoader 类加载源码分析 | DexPathList )
- 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )
- 【错误记录】Android Studio 中查看 Gradle 配置的方法源码 ( 配置 gradle-wrapper.properties 中版本为 gradle-x.x.x-all.zip )
- 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( plugins 闭包代码块中引入插件 | PluginAware#apply 方法引入插件 )
- 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )
- 【Android Gradle 插件】AaptOptions 配置 ② ( additionalParameters 附加参数配置 | --rename-manifest-package 配置 )
- 【Android Gradle 插件】AaptOptions 配置 ④ (failOnMissingConfigEntry 配置|ignoreAssets/ignoreAssetsPattern配置)
- 【Android Gradle 插件】AndroidSourceSets 配置 ① ( Overlay 重叠包机制 | 使用 sourceSets 配置多个 res 目录 )
- 【Android Gradle 插件】AdbOptions 配置 ② ( AdbOptions#installOptions 配置 | AdbOptions#timeOutInMs 配置 )
- 【Android Gradle 插件】DexOptions 配置 ② ( additionalParameters 属性配置 | dx 工具 | dx 附加参数 )
- 【Android Gradle 插件】 Splits 配置 ① ( BaseExtension#splits 配置 | Splits 配置简介 )
- 【Android Gradle 插件】主工程依赖指定 Library 的特定变体 ( LibraryExtension#publishNonDefault 配置 | 依赖指定 Library 变体 )
- 【Android Gradle 插件】Gradle 依赖管理 ⑩ ( dependencies 依赖配置项 configurations )
- 【Android Gradle 插件】Gradle 构建机制 ④ ( Gradle 构建生命周期 | 初始阶段 | 配置阶段 | 执行阶段 )
- 【Android Gradle 插件】Android 依赖管理 ③ ( dependencies 依赖配置 | Project#dependencies 函数分析 | 自定义依赖配置 )
- 【Unity3D】Android 打包 ② ( Android 编译选项 | Android 工程设置 | 配置基本信息 | 配置不同分辨率图标 | 配置启动动画 | 其它设置 )
- [android] 采用aidl绑定远程服务详解手机开发
- [android] 隐式意图的配置详解手机开发
- Android中的android:layout_weight使用详解