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

执行detox构建Android调试包时出现META-INF/MANIFEST.MF重复文件错误

解决Detox构建Android时出现的META-INF/MANIFEST.MF重复错误

运行detox build -c android.emu.debug时,持续出现以下错误:

23 files found with path 'META-INF/MANIFEST.MF' from inputs:

错误来源为shopify_react-native-skia:mergeDebugAndroidTestJavaResource。

环境

  • Expo: SDK 48
  • Flow: Bare
  • 设备: Android

已尝试的解决方案

  • 在gradle.properties中禁用zipflinger:
    android.useNewApkCreator=false
    
  • 在app的build.gradle中配置构建时排除文件:
    packagingOptions {
      exclude("META-INF/MANIFEST.MF")
    }
    

预期所有META-INF/MANIFEST.MF文件会被排除,但问题仍未解决。

可行解决建议

1. 为测试变体添加排除规则

错误发生在测试构建阶段(mergeDebugAndroidTestJavaResource),之前的配置仅覆盖主应用构建,需为测试变体单独配置:

android {
    packagingOptions {
        exclude("META-INF/MANIFEST.MF")
    }
    // 为所有测试变体添加排除规则
    testVariants.all { variant ->
        variant.packagingOptions.exclude("META-INF/MANIFEST.MF")
    }
}

2. 针对react-native-skia库单独配置

在项目根目录的build.gradle中,直接对该库的构建规则进行调整:

subprojects {
    if (project.name.contains("react-native-skia")) {
        android {
            packagingOptions {
                exclude("META-INF/MANIFEST.MF")
            }
            testVariants.all { variant ->
                variant.packagingOptions.exclude("META-INF/MANIFEST.MF")
            }
        }
    }
}

3. 清理构建缓存后重试

缓存可能导致旧配置残留,执行以下命令清理后重新构建:

./gradlew clean
rm -rf ~/.gradle/caches
detox build -c android.emu.debug --clean

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:52:46