0
点赞
收藏
分享

微信扫一扫

【Android Gradle 插件】AaptOptions 配置 ③ ( cruncherEnabled 配置 | cruncherProcesses 配置 )



文章目录

  • ​​一、AaptOptions#cruncherEnabled 配置​​
  • ​​1、配置说明​​
  • ​​2、使用示例​​
  • ​​3、测试效果​​
  • ​​① 正面效果​​
  • ​​② 负面效果​​
  • ​​二、AaptOptions#cruncherProcesses 配置​​

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​​
  • 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​​
  • NDK 参考文档 : ​​Add C and C++ Code to Your Project.​​

一、AaptOptions#cruncherEnabled 配置

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

1、配置说明

AaptOptions#cruncherEnabled 配置 表示 是否开启 png 图片优化检查 , 默认为 true , 开启 png 图片优化检查 ;

AaptOptions#cruncherEnabled 配置原型 :

boolean cruncherEnabled
Returns true if the PNGs should be crunched, false otherwise.

2、使用示例

配置示例 :

android {
compileSdkVersion 30
buildToolsVersion "30.0.3"

defaultConfig {
applicationId "com.example.classloader_demo"
}

aaptOptions {
// aapt 附加参数
additionalParameters '--rename-manifest-package', 'com.example.classloader_demo2'
// 是否开启 png 图片优化检查
cruncherEnabled true
}
}

3、测试效果

① 正面效果

测试 png 优化检查 效果 : 将 jpeg 格式的图片修改为 png 后缀 , 在 编译时 , 会进行优化检查 , 如果图片格式错误 , 会中断编译 , 报如下错误 :

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
> Android resource compilation failed
ERROR:D:\002_Project\002_Android_Learn\ClassLoader_Demo\app\src\main\res\drawable\abc.png: AAPT: error: failed to read PNG signature: file does not start with PNG signature.

ERROR:D:\002_Project\002_Android_Learn\ClassLoader_Demo\app\src\main\res\drawable\abc.png: AAPT: error: file failed to compile.

【Android Gradle 插件】AaptOptions 配置 ③ ( cruncherEnabled 配置 | cruncherProcesses 配置 )_android studio

② 负面效果

如果将 AaptOptions#cruncherEnabled 配置 设置为 false , 即使 png 图片错误 , 也能编译成功 ;

android {
compileSdkVersion 30
buildToolsVersion "30.0.3"

defaultConfig {
applicationId "com.example.classloader_demo"
}

aaptOptions {
// aapt 附加参数
additionalParameters '--rename-manifest-package', 'com.example.classloader_demo2'
// 是否开启 png 图片优化检查
cruncherEnabled false
}
}

【Android Gradle 插件】AaptOptions 配置 ③ ( cruncherEnabled 配置 | cruncherProcesses 配置 )_AaptOptions_02

二、AaptOptions#cruncherProcesses 配置

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

AaptOptions#cruncherProcesses 配置 : 获取要使用的 cruncher 进程数量 , 更多的 cruncher 进程会使得文件处理的更快 , 但是会占用更多的内存和 CPU ;

AaptOptions#cruncherProcesses 配置原型 :

int cruncherProcesses
Obtains the number of cruncher processes to use. More cruncher processes will crunch files faster, but will require more memory and CPU.

该配置一般不需要进行配置 ;



举报

相关推荐

0 条评论