【Android Gradle 插件】CompileOptions 配置 ( BaseExtension#compileOptions 脚配块配置 | CompileOptions 属性配置 )

2023-03-30 15:20:41 浏览数 (1)

文章目录

  • 一、BaseExtension#compileOptions { } 脚配块配置
    • 1、配置简介
    • 2、BaseExtension#compileOptions { } 脚配块配置原型
    • 3、BaseExtension#compileOptions 属性原型
  • 二、CompileOptions 编译选项配置
    • 1、CompileOptions#encoding 属性配置
    • 2、CompileOptions#incremental 属性配置
    • 3、CompileOptions#sourceCompatibility 属性配置
    • 4、CompileOptions#targetCompatibility 属性配置

Android Plugin DSL Reference 参考文档 :

  • 文档主页 : https://google.github.io/android-gradle-dsl/2.3/
  • BaseExtension 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html
  • 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
  • SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html
  • AaptOptions ( build.gradle#android#aaptOptions 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AaptOptions.html
  • AndroidSourceSets ( build.gradle#android#sourceSets 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceSet.html
  • AndroidSourceDirectorySet ( build.gradle#android#sourceSets#aidl/assets/java/jni/jniLibs 配置 ) 文档位置 :android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceDirectorySet.html
  • AndroidSourceFile ( build.gradle#android#sourceSets#manifest 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceFile.html
  • NDK 参考文档 : Add C and C Code to Your Project.

一、BaseExtension#compileOptions { } 脚配块配置


BaseExtension 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html

1、配置简介

BaseExtension#compileOptions { } 脚配块配置 主要用于 配置编译选项 ;

该脚本块配置 主要是配置 BaseExtension 中的 CompileOptions compileOptions 属性 ,

该配置在 " build.gradle # android # compileOptions " 层级 ;

2、BaseExtension#compileOptions { } 脚配块配置原型

BaseExtension#compileOptions { } 脚配块配置原型如下 :

代码语言:javascript复制
compileOptions { }
Configures compile options.

Delegates to:
CompileOptions from compileOptions

3、BaseExtension#compileOptions 属性原型

BaseExtension#compileOptions 属性原型 :

代码语言:javascript复制
CompileOptions compileOptions
Compile options.

二、CompileOptions 编译选项配置


CompileOptions ( build.gradle#android#compileOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.CompileOptions.html

CompileOptions 配置是 Java 编译选项 ;

CompileOptions 有如下属性配置 :

代码语言:javascript复制
encoding	
Java source files encoding.

incremental	
Whether java compilation should use Gradle's new incremental model.

sourceCompatibility	
Language level of the java source code.

targetCompatibility	
Version of the generated Java bytecode.

1、CompileOptions#encoding 属性配置

CompileOptions#encoding 属性表示加载的 Java 源文件的编码 , 默认为 UTF-8 , 类型为字符串 ;

CompileOptions#encoding 属性原型 :

代码语言:javascript复制
String encoding
Java source files encoding.

配置示例 :

代码语言:javascript复制
    compileOptions {
        encoding 'UTF-8'
    }

2、CompileOptions#incremental 属性配置

CompileOptions#encoding 属性表示 是否启用 gradle 新增加的 增量模式 , 默认为 true ;

CompileOptions#incremental 属性原型 :

代码语言:javascript复制
Boolean incremental
Whether java compilation should use Gradle's new incremental model.

This may cause issues in projects that rely on annotation processing etc.

配置示例 :

代码语言:javascript复制
    compileOptions {
        encoding 'UTF-8'
        incremental true
    }

3、CompileOptions#sourceCompatibility 属性配置

CompileOptions#sourceCompatibility 属性表示 编译使用的 Java 版本 ;

配置项可以是如下格式 :

代码语言:javascript复制
"1.6"
1.6
JavaVersion.Version_1_6
"Version_1_6"

CompileOptions#sourceCompatibility 属性原型 :

代码语言:javascript复制
JavaVersion sourceCompatibility
Language level of the java source code.

Similar to what Gradle Java plugin uses. Formats supported are:

"1.6"
1.6
JavaVersion.Version_1_6
"Version_1_6"

配置示例 :

代码语言:javascript复制
    compileOptions {
        encoding 'UTF-8'
        incremental true
        sourceCompatibility JavaVersion.Version_1_7
    }

4、CompileOptions#targetCompatibility 属性配置

CompileOptions#targetCompatibility 属性表示 生成 Java 字节码版本 ;

配置项可以是如下格式 :

代码语言:javascript复制
"1.6"
1.6
JavaVersion.Version_1_6
"Version_1_6"

CompileOptions#targetCompatibility 属性原型 :

代码语言:javascript复制
JavaVersion targetCompatibility
Version of the generated Java bytecode.

Similar to what Gradle Java plugin uses. Formats supported are:

"1.6"
1.6
JavaVersion.Version_1_6
"Version_1_6"

配置示例 :

代码语言:javascript复制
    compileOptions {
        encoding 'UTF-8'
        incremental true
        sourceCompatibility JavaVersion.Version_1_7
        targetCompatibility JavaVersion.Version_1_7
    }

0 人点赞