zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#ndk 配置 | ProductFlavor#proguardFiles 配置 )

Android配置gradle插件 ndk ProductFlavor
2023-06-13 09:18:01 时间

文章目录

Android Plugin DSL Reference 参考文档 :

一、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'
        }
    }
}