You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅为APK配置assets.srcDirs而不影响App Bundle?

解决方案

你可以通过Gradle的任务判断逻辑,仅在构建APK时动态设置assets.srcDirs,避免App Bundle打包时包含重复资源。

在应用模块的build.gradle中添加以下配置:

android {
    // 保留你原有的Play Asset Delivery相关配置

    sourceSets {
        main {
            // 默认不额外配置assets目录,确保App Bundle构建时仅使用Play Asset Delivery的资源
        }
    }

    // 判断当前是否为APK构建任务
    def isApkBuild = !gradle.startParameter.taskNames.any { taskName ->
        taskName.startsWith("bundle")
    }

    if (isApkBuild) {
        sourceSets.main.assets.srcDirs = ['../assets/src/main/assets']
    }
}

原理说明

  • 当执行bundleDebug、bundleRelease等App Bundle构建任务时,isApkBuild会返回false,不会添加额外的assets目录,避免与Play Asset Delivery的资源冲突。
  • 当执行assembleDebug、assembleRelease等APK构建任务时,isApkBuild返回true,会将指定的常规资源目录添加到assets.srcDirs中,满足APK的资源需求。

内容的提问来源于stack exchange,提问作者Henste93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:01:09