启用prefab报错“No variants found for ':app'”的问题咨询
问题原因及解决方法
问题原因
- AGP与Gradle版本不兼容:你当前使用的Android Gradle Plugin(AGP)4.2.2仅支持Gradle 6.7.1及以下版本,但搭配了Gradle 7.4,版本跨度过大导致构建逻辑冲突。启用
prefab true时,这种不兼容会触发构建变体生成失败,出现“No variants found for ':app'”错误。 - AGP版本对Prefab的支持限制:AGP 4.2.x对Prefab的支持存在局限性,且与高版本Gradle适配性差,启用Prefab后会暴露版本不兼容的潜在问题。
- Android Studio与AGP版本不匹配:Android Studio Flamingo(2022.2.1)对应的推荐AGP版本为7.4.x,你使用的AGP 4.2.2属于旧版本,两者适配性不佳,加剧了构建错误。
解决方法
方案1:升级AGP至兼容Gradle 7.4的版本
- 打开项目根目录下的项目级
build.gradle,将AGP版本修改为7.4.2(与Gradle 7.4兼容的稳定版):
dependencies { classpath 'com.android.tools.build:gradle:7.4.2' }
- 同步Gradle,保留
buildFeatures { prefab true }配置即可正常启用Prefab功能。
方案2:降级Gradle至AGP 4.2.2支持的版本
- 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties,将Gradle版本修改为6.7.1:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
- 同步Gradle,同时保留
buildFeatures { prefab true }配置,即可正常构建。
额外注意事项
- 升级AGP后,需确保项目中所有依赖的插件、库版本与新AGP版本兼容,比如Kotlin插件版本推荐1.7.20及以上。
- 启用Prefab后,要确认依赖的AAR库包含Prefab所需的预构建原生库配置文件(如
prefab.json),避免出现其他构建错误。
内容的提问来源于stack exchange,提问作者Violet Giraffe
相关产品推荐
相关产品推荐

