0

When ./gradlew assembleRelease on MacOS 13 for React Native 0.70.1/gradle 7.2.1 app, there is error about resource merge:

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-xhdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png  [drawable-xhdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-xhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png: Error: Duplicate resources
  [drawable-xxhdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png        [drawable-xxhdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-xxhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png: Error: Duplicate resources
  [drawable-hdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-hdpi/node_modules_reactnavigation_elements_src_assets_backicon.png    [drawable-hdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-hdpi/node_modules_reactnavigation_elements_src_assets_backicon.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_airbnbstarselected] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnativeratings_dist_images_airbnbstarselected.png  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_airbnbstarselected] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnativeratings_dist_images_airbnbstarselected.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigation_elements_src_assets_backicon.png    [drawable-mdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigation_elements_src_assets_backicon.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_heart] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnativeratings_dist_images_heart.png    [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_heart] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnativeratings_dist_images_heart.png: Error: Duplicate resources
  [drawable-mdpi-v4/assets_image_mobile3] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/assets_image_mobile3.png      [drawable-mdpi-v4/assets_image_mobile3] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/assets_image_mobile3.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_bell] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnativeratings_dist_images_bell.png      [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_bell] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnativeratings_dist_images_bell.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_star] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnativeratings_dist_images_star.png      [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_star] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnativeratings_dist_images_star.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_airbnbstar] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnativeratings_dist_images_airbnbstar.png  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_airbnbstar] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnativeratings_dist_images_airbnbstar.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_rocket] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnativeratings_dist_images_rocket.png  [drawable-mdpi-v4/node_modules_reactnativeratings_dist_images_rocket] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnativeratings_dist_images_rocket.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnavigation_elements_src_assets_backiconmask] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigation_elements_src_assets_backiconmask.png    [drawable-mdpi-v4/node_modules_reactnavigation_elements_src_assets_backiconmask] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigation_elements_src_assets_backiconmask.png: Error: Duplicate resources
  [drawable-xxxhdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/drawable-xxxhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png      [drawable-xxxhdpi-v4/node_modules_reactnavigation_elements_src_assets_backicon] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/drawable-xxxhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png: Error: Duplicate resources
  [raw/assets_video_baodiggerdemo720] /Users/macair/Documents/code/js/xyz_app6/android/app/src/main/res/raw/assets_video_baodiggerdemo720.mp4   [raw/assets_video_baodiggerdemo720] /Users/macair/Documents/code/js/xyz_app6/android/app/build/generated/res/react/release/raw/assets_video_baodiggerdemo720.mp4: Error: Duplicate resources

There is post online but the solution didn't work here. Here is the related package.json:

"dependencies": {
    "@ethersproject/shims": "^5.7.0",
    "@react-native-community/toolbar-android": "^0.2.1",
    "@react-native-masked-view/masked-view": "^0.2.7",
    "@react-native-picker/picker": "^2.4.4",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/stack": "^6.3.1",
    "appcenter": "^4.4.5",
    "appcenter-analytics": "^4.4.5",
    "appcenter-crashes": "^4.4.5",
    "crypto-js": "^4.1.1",
    "ethers": "^5.7.1",
    "react": "18.1.0",
    "react-native": "0.70.1",
    "react-native-blob-util": "^0.16.2",
    "react-native-code-push": "7.1.0",
    "react-native-confirmation-code-field": "^7.3.0",
    "react-native-device-info": "^10.2.0",
    "react-native-easy-grid": "^0.2.2",
    "react-native-elements": "^3.4.2",
    "react-native-encrypted-storage": "^4.0.2",
    "react-native-gesture-handler": "^2.6.1",
    "react-native-get-random-values": "^1.8.0",
    "react-native-gifted-chat": "^1.0.4",
    "react-native-image-picker": "^4.10.0",
    "react-native-loading-spinner-overlay": "^3.0.1",
    "react-native-modal": "^13.0.1",
    "react-native-reanimated": "^2.10.0",
    "react-native-redash": "^18.1.0",
    "react-native-responsive-screen": "^1.4.2",
    "react-native-safe-area-context": "^4.3.4",
    "react-native-screens": "^3.17.0",
    "react-native-vector-icons": "^9.2.0",
    "react-native-video": "^5.2.1",
    "react-native-webview": "^12.0.2",
    "rn-alioss": "^0.2.5",
    "socket.io-client": "^4.5.2"
  },
  "devDependencies": {
    "@babel/core": "^7.19.1",
    "@babel/runtime": "^7.19.0",
    "@react-native-community/eslint-config": "^3.1.0",
    "@testing-library/react-native": "^11.1.0",
    "babel-jest": "^29.0.3",
    "eslint": "^8.23.1",
    "jest": "^29.0.3",
    "metro-react-native-babel-preset": "^0.72.1",
    "react-test-renderer": "18.1.0"
  },

Here is the build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "32.0.0"
        minSdkVersion = 23
        compileSdkVersion = 32
        
        targetSdkVersion = 32
        
        if (System.properties['os.arch'] == "aarch64") {
            // For M1 Users we need to use the NDK 24 which added support for aarch64
            ndkVersion = "24.0.8215888"
        } else {
            // Otherwise we default to the side-by-side NDK version from AGP.
            ndkVersion = "21.4.7075529"
        }
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:7.2.1")
        //classpath("com.android.tools.build:gradle:7.0.4")
        classpath("com.facebook.react:react-native-gradle-plugin")
        classpath("de.undercouch:gradle-download-task:5.0.1")
        //classpath("de.undercouch:gradle-download-task:4.1.2")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        mavenCentral {
            // We don't want to fetch react-native from Maven Central as there are
            // older versions over there.
            content {
                excludeGroup "com.facebook.react"
            }
        }
        google()
        maven { url 'https://www.jitpack.io' }
    }
}

The error may be related to react-native-code-push as the build error varies between code push version 7.x and 8.x. The app launches successfully with npx react-native run-android.

user938363
  • 9,990
  • 38
  • 137
  • 303

0 Answers0