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
.