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

React Native配置Detox测试因META-INF报错,常规构建正常如何解决?

问题根因

  • 你之前添加的packagingOptions仅作用于普通App构建,Detox触发的androidTest测试构建有独立的配置规则,默认不会复用主构建的打包排除规则
  • 现有配置混用了单独exclude语句和excludes数组赋值,后者会覆盖前者的配置,导致之前声明的META-INF/MANIFEST.MF排除规则实际未生效
  • 第三方库级别的packagingOptions优先级低于应用级配置,且默认不传递到测试变体,修改库配置无法解决测试构建的冲突

解决步骤

  1. 打开应用级build.gradle文件(路径一般为android/app/build.gradle),在android代码块内补充测试构建专属的testPackagingOptions配置,同时修正原有packagingOptions的规则写法,避免混写导致规则覆盖:
android {
    // 保留原有其他配置不变

    packagingOptions {
        excludes = [
            'META-INF/MANIFEST.MF',
            '**/libc++_shared.so',
            '**/libfbjni.so'
        ]
    }

    // 新增测试构建打包规则
    testPackagingOptions {
        excludes = [
            'META-INF/MANIFEST.MF',
            '**/libc++_shared.so',
            '**/libfbjni.so'
        ]
    }
}
  1. 执行项目清理命令后重新运行Detox构建即可:
cd android && ./gradlew clean

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:36:01