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

升级至3.1.0-alpha08(canary-8)后Robolectric 3.6.1为何无法找到manifest输出?

解决AGP 3.1.0-alpha08搭配Robolectric 3.6.1时多模块测试的「Unable to find manifest output」错误

我之前也碰到过类似的问题,结合实践和社区讨论,给你整理了几个可行的解决办法:

快速临时修复

1. 手动指定测试manifest路径

在base、core、repository这些出问题的库模块的build.gradle文件中,添加sourceSets配置,明确告诉AGP测试用的manifest文件位置:

android {
    sourceSets {
        test {
            manifest.srcFile 'src/test/AndroidManifest.xml'
        }
        androidTest {
            manifest.srcFile 'src/androidTest/AndroidManifest.xml'
        }
    }
}

如果你的测试目录还没有对应的manifest文件,直接创建一个最简版本即可,比如对应模块包名的空manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.yourcompany.base"> <!-- 替换成你的模块实际包名 -->
</manifest>

2. 回退AGP版本

如果暂时不想调整配置,可以先把AGP降级到3.1.0-alpha07或者更早的预览版本,这个问题在之前的版本中是不存在的,等官方修复该bug后再升级即可。

问题背后的原因

这个错误是AGP 3.1.0-alpha08在处理多渠道库模块的测试配置时出现的bug——它没有正确生成或识别测试任务所需的manifest输出路径。而app模块作为应用模块,manifest的处理逻辑和库模块不同,因此没有触发这个错误。Robolectric初始化测试环境必须依赖manifest文件,找不到对应路径就会抛出「Unable to find manifest output」的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:30:48