I keep getting the error below when running detox build -c android
> Task :app:packageDebugAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:packageDebugAndroidTest'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Entry name 'META-INF/MANIFEST.MF' collided
detox build -c android
(with or without having built the aosp emulator first).detoxrc.json
{
...
"android": {
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "cd android && ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug && cd ..",
"type": "android.emulator",
"device": {
"avdName": "Pixel_API_28_AOSP"
}
}
...
android/app.build.gradle
The first 3 options are failed attempts at fixing the issue. The last option was already present in the project before trying to install Detox.
...
android {
...
packagingOptions {
// exclude 'META-INF/**'
// pickFirst 'META-INF/**'
// merge 'META-INF/**'
pickFirst "**"
}
...
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
implementation 'com.facebook.fresco:animated-gif:2.0.0'
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni'
}
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
}
addUnimodulesDependencies()
if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
}
androidTestImplementation('com.wix:detox:+')
androidTestImplementation(project(path: ":detox"))
}
...
--stacktrace
doesn't give any further infodetox-cli
The possible fix is to disable zipflinger introduced in Gradle Plugin 3.6.0-alpha09. Just add a new line in gradle.properties android.useNewApkCreator=false
Read more about the flag on Google blog or check a similar issue.