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

多Feature Android即时应用构建APK时出现IllegalStateException问题求助

解决多Feature即时应用构建APK时的IllegalStateException错误

嘿,我帮你排查了这个多Feature即时应用的构建错误,问题出在配置里的几个小细节上,咱们一步步来解决:

问题根源

你遇到的Expected configuration ':module1:debugFeatureCompileClasspath' to contain exactly one file错误,本质是Gradle在处理Feature模块的Manifest合并时,发现有多个被标记为baseFeature的模块,导致它无法确定使用哪个基础配置,直接抛出了异常。

看你的配置就能发现问题:你把BaseModule和apimodule都设置了baseFeature true,但在即时应用的多Feature架构里,只能有一个模块作为baseFeature——也就是你的BaseModule,apimodule只是存放依赖的普通库模块,完全不需要这个配置。

具体修复步骤

1. 修正apimodule的Gradle配置

打开apimodule的build.gradle,删掉baseFeature true这一行,同时确保它用的是库插件:

apply plugin: 'com.android.library'
// 移除 baseFeature true 配置

2. 确认BaseModule的配置正确

BaseModule作为唯一的baseFeature,配置要准确:

apply plugin: 'com.android.feature'

android {
    baseFeature true // 只有这里保留这个配置
    // 其他compileSdk、defaultConfig等配置不变
}

dependencies {
    application project(':app') // 关联安装版应用入口
    feature project(':module1')
    feature project(':module2')
    feature project(':module3')
    api project(':apimodule') // 用api暴露依赖给所有Feature模块
}

3. 规范Feature模块的依赖

比如你的module1,只需要依赖BaseModule即可,不要在Feature模块里直接依赖其他Feature模块,所有跨Feature的依赖都交给BaseModule管理:

dependencies {
    implementation project(':base')
    // 不要在这里添加 :module2/:module3 的依赖
}

4. 清理缓存后重新构建

最后执行Gradle清理命令,彻底清除旧的构建缓存,再重新构建:

./gradlew clean build

额外提醒

  • AppModule作为安装版应用的入口,用implementation引入所有模块是正确的,但不要给它加baseFeature配置。
  • 穿戴应用的wearApp project(':wear')放在AppModule里没问题,但要确保wear模块是独立的应用模块,不是Feature模块。

按照这些步骤调整后,Manifest合并的冲突就会消失,你就能正常构建APK啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:54:30