Android Asset Packs问题:gradlew错误拼接assets目录
问题原因与修复方案
错误根源
你在app模块的build.gradle.kts里配置了冲突的内容:
- 已经通过
assetPacks.addAll(listOf(":long", ":notlong"))正确声明了对两个asset pack模块的依赖 - 同时又错误地将这两个asset pack的
assets目录手动添加到了app模块的assets.srcDirs中
通过assetPacks配置依赖后,Gradle会自动识别独立的asset pack模块并处理它们的资源,完全不需要手动把它们的assets目录加到app的资源目录里。手动添加会触发Gradle错误的路径合并逻辑,把两个独立路径拼接成带冒号的单个路径,导致系统找不到这个不存在的目录。
修复步骤
- 打开app模块的
build.gradle.kts - 修改
assets.srcDirs配置,只保留app自身的资源目录,删除指向asset pack的路径:assets.srcDirs("src/main/assets") - 保存配置后重新执行构建命令:
./gradlew bundleDebug --stacktrace --info
额外验证
确保long和notlong模块的build.gradle.kts正确配置了asset pack插件与按需交付:
plugins { id("com.android.asset-pack") } android { namespace = "com.yourpackage.long" // 替换为对应模块的命名空间 assetPack { delivery { onDemand = true installTime = false } } }
内容的提问来源于stack exchange,提问作者Vitaliy
相关产品推荐
相关产品推荐

