Android Gradle 插件BuildType 编译类型配置 ② ( consumerProguardFiles 配置 | debuggable 配置 | embedMicroApp配置 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Gradle 插件BuildType 编译类型配置 ② ( consumerProguardFiles 配置 | debuggable 配置 | embedMicroApp配置 )相关的知识,希望对你有一定的参考价值。

文章目录

Android Plugin DSL Reference 参考文档 :





一、BuildType#consumerProguardFiles 配置



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


BuildType#consumerProguardFiles 配置是 Library 中的混淆文件配置 ;

发布的AAR中包含的ProGuard规则文件。
然后,使用AAR的任何应用程序项目都将使用这些proguard规则文件(如果启用了proguard)。
这允许AAR指定收缩或模糊排除规则。
这仅对库项目有效。这在应用程序项目中被忽略。

BuildType#consumerProguardFiles 配置原型 :

List<File> consumerProguardFiles

ProGuard rule files to be included in the published AAR.
These proguard rule files will then be used by any application project that consumes the AAR (if ProGuard is enabled).
This allows AAR to specify shrinking or obfuscation exclude rules.
This is only valid for Library project. This is ignored in Application project.

参考文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html#com.android.build.gradle.internal.dsl.BuildType:consumerProguardFiles





二、BuildType#debuggable 配置



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


BuildType#debuggable 配置 是 BuildType 中特有的配置 , 该值默认为 true ;

BuildType#debuggable 配置设置为 true , 则默认生成的是可调式的 apk 安装文件 ;

BuildType#debuggable 配置设置为 false, 则生成的 apk 文件安装运行后 , 无法对 debug 版本的代码进行调试 ;

boolean debuggable
Whether this build type should generate a debuggable apk.

使用示例 :

android 

    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig 
        applicationId "kim.hsl.svg"
        minSdkVersion 18
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        
        applicationIdSuffix ".tom"
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        
        debug 
            applicationIdSuffix ".jerry"
            // 默认为 true , 生成的 debug apk 可调试 
            // 设置为 false , 生成的 debug apk 不可调试 
            debuggable false
        
    





三、BuildType#embedMicroApp 配置



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


BuildType#embedMicroApp 配置是 可穿戴设备应用使用的配置 , 普通的手机应用不用处理该配置 ;

是否应使用此构建类型将链接的Android Wear应用嵌入变体中。
Wear应用程序可以与以下代码链接:

dependencies 
  freeWearApp project(:wear:free') // applies to variant using the free flavor
  wearApp project(':wear:base') // applies to all other variants

BuildType#embedMicroApp 配置原型 :

boolean embedMicroApp

Whether a linked Android Wear app should be embedded in variant using this build type.

Wear apps can be linked with the following code:

dependencies 
  freeWearApp project(:wear:free') // applies to variant using the free flavor
  wearApp project(':wear:base') // applies to all other variants

以上是关于Android Gradle 插件BuildType 编译类型配置 ② ( consumerProguardFiles 配置 | debuggable 配置 | embedMicroApp配置 )的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ⑥ ( 在 buildSrc 模块中依赖 Android Gradle 插件 | 完整代码示例 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ⑥ ( 在 buildSrc 模块中依赖 Android Gradle 插件 | 完整代码示例 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ② ( buildSrc 目录中实现 Gradle 插件 | 实现 Gradle 插件代码 | 模块引入插件并编译 )

Android Gradle 插件Android Module 模块 build.gradle 构建脚本 Groovy 语法分析 ① ( Gradle 二进制插件引入 | Gradle依赖配置 )

Android Gradle 插件Android Module 模块 build.gradle 构建脚本 Groovy 语法分析 ① ( Gradle 二进制插件引入 | Gradle依赖配置 )