【Android Gradle 插件】BuildType 编译类型配置 ⑤ ( renderscriptDebuggable 配置 | shrinkResources 配置 )

2023-03-30 15:12:45 浏览数 (2)

文章目录

  • 一、BuildType#renderscriptDebuggable 配置
  • 二、BuildType#shrinkResources 配置

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#renderscriptDebuggable 配置


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

BuildType#renderscriptDebuggable 配置 作用是 配置 是否开启 渲染脚本 RenderScript 调试功能 , RenderScript 一般用于高性能计算 ;

代码语言:javascript复制
是否将生成类型配置为使用可调试的RenderScript代码生成apk。

RenderScript 高性能计算参考 【Android RenderScript】RenderScript 简介 ② ( RenderScript 引入 | RenderScript 简介 ) 博客 ;

BuildType#renderscriptDebuggable 配置原型 :

代码语言:javascript复制
boolean renderscriptDebuggable
Whether the build type is configured to generate an apk with debuggable RenderScript code.

二、BuildType#shrinkResources 配置


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

BuildType#shrinkResources 配置 用于设置 是否自动优化未使用的资源 , 该配置生效的前提是 BuildType#minifyEnabled 设置必须为 true ;

代码语言:javascript复制
是否启用了未使用资源的缩减。默认为 false;

BuildType#minifyEnabled 配置 参考 【Android Gradle 插件】BuildType 编译类型配置 ④ ( minifyEnabled 配置 | multiDexEnabled | pseudoLocalesEnabled ) 博客 ;

BuildType#shrinkResources 配置原型 :

代码语言:javascript复制
boolean shrinkResources
Whether shrinking of unused resources is enabled. Default is false;

使用示例 :

代码语言:javascript复制
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 true
            // 是否启用资源压缩 , 未使用的资源会被优化
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix ".jerry"
        }
    }
}

0 人点赞