Android 应用构建速度提升Gradle配置优化

    科技2025-08-22  5

    0.使用最新版本的 Android Gradle 插件

    找到项目跟目录的build.gradle

    1.避免激活旧版的 Multidex minSdkVersion 21(或大于21)(21 之前的 API 级别并没有原生的支持 multidex)

    2.禁用 Multiple APK 构建

    if (project.hasProperty('devBuild')) { splits.abi.enable = false splits.density.enable = false //禁用 PNG 压缩 aaptOptions.cruncherEnabled = false }

    3.最小化使用资源文件

    ... minSdkVersion 21 resConfigs("en", "xxhdpi") ...

    4.禁用 PNG 压缩(方法合并到第2条)

    5.使用 Apply Changes

    6.避免被动的改动

    applicationVariants.all { variant -> variant.outputs.all { output -> // 删除unaligned apk if (output.zipAlign != null) { output.zipAlign.doLast { output.zipAlign.inputFile.delete() } } /*时间相关的不要加 String time = appBuildTime as String if (null == time || time.isEmpty()) { time = getTime() } def versionName = VERSION_NAME*/ output.outputFileName = "app_${appBuildTypes}.apk" } }

    7.不使用动态版本标识

    8.Gradle 内存分配调优(合并到第9条)

    9.开启 Gradle 构建缓存

    # Default value: -Xmx1024m -XX:MaxPermSize=256m org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 #守护进程 org.gradle.daemon=true #并行编译 org.gradle.parallel=true #开启缓存: android.enableBuildCache=true #开启孵化模式: org.gradle.configureondemand=true #开启gradle缓存 org.gradle.caching=true

    10.设置java版本(直接全局配置)

    allprojects { repositories { jcenter() ... } tasks.withType(JavaCompile) { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }

    参考资料:

    https://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652050269&idx=1&sn=079e9e84cda81b24ee4446d404276772&chksm=808cb318b7fb3a0e22a6411ba606b4161790a0a8c17f5f5b579099ae6b0dd5eafc8f4ae6e1c5&mpshare=1&scene=1&srcid=0417nNhPmMuVQp1wAkhFqFy7&sharer_sharetime=1587119071081&sharer_shareid=89492907bfba3b07330db17cfa3ed0e3&key=738af3dfc6942ae4ca961310f97262ceea1d22588e3aad16e65ee3fdf98f4c22068d48bbadbb0d032bd83b0c4def3fb0c1dfb28b29eea3064a7efec0b48bcfe74247fb0657fb09d1432f4830ef138ff7&ascene=1&uin=MjI4MDczNTQ0MQ%3D%3D&devicetype=Windows+10+x64&version=6209005f&lang=zh_CN&exportkey=AcTjwCf5u7JSGAM2PqryQdg%3D&pass_ticket=d7p2YWX%2Ftng7zV8Zttz0XnZLRG5hIeYFvBfBZO70RcY3SB%2BuPUl4%2FKUxUCfJDeFZ

    https://blog.csdn.net/devilnov/article/details/53321164

     

     

    Processed: 0.028, SQL: 8