React Native : Error: Duplicate resources - Android









up vote
0
down vote

favorite












I was trying to create a release apk file from Android but when I create a release apk with PNG image I'm getting Duplicate Resource error. Initially I thought this is happening because I made a mistake in the existing project but when I created a new project with a single Image component itself I'm getting the Duplicate Resource error. Here are the steps I followed



  1. Create a app - react-native init demo

  2. Create a assets folder in the project root folder.

  3. Add a PNG image inside the assets folder.

  4. Now implement the Image component with the above PNG image.


  5. Now bundle it using the cmd



    react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/



  6. Then generate release apk using Generate Signed APK from Android Studio.


This will throw the following error:



[drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources
:app:mergeReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 22s


Note: When you generate a release apk without any PNG image you will not get any error, it will create you the release apk.



Here are the other files code.



App.js



import React, Component from 'react';
import Platform, StyleSheet, Image, View from 'react-native';

export default class App extends Component
render()
return (
<View style=styles.container>
<Image source=require('./assets/mario.png') />
</View>
);



const styles = StyleSheet.create(
container:
flex: 1
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


package.json




"name": "errorCheck",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
,
"devDependencies":
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.0",
"react-test-renderer": "16.6.0-alpha.8af6728"
,
"jest":
"preset": "react-native"




Any solution for this?



Update:



Here are the other details



classpath 'com.android.tools.build:gradle:3.1.4'

ext
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"


distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip


Tried with Android Studio 3.0, 3.0.1, 3.1, 3.1.4 & 3.2










share|improve this question























  • did u run application using react-native run-android ?
    – Lucefer
    Nov 10 at 14:16










  • Yes @Lucefer I don't have any problem to run the app directly using react-native run-android only thing is when I generate the release apk I'm getting the above error
    – Jeffrey Rajan
    Nov 10 at 14:39











  • what is the android studio version you are using?
    – K999
    Nov 10 at 15:31










  • Its Android Studio 3.2.1 @FlorinDobre
    – Jeffrey Rajan
    Nov 10 at 16:31










  • Check my answer from here: stackoverflow.com/a/52767101/1979861 Use Android studio 3.1.4 Android 3.2 has problem at building RN 0.57 projects
    – K999
    Nov 10 at 17:44














up vote
0
down vote

favorite












I was trying to create a release apk file from Android but when I create a release apk with PNG image I'm getting Duplicate Resource error. Initially I thought this is happening because I made a mistake in the existing project but when I created a new project with a single Image component itself I'm getting the Duplicate Resource error. Here are the steps I followed



  1. Create a app - react-native init demo

  2. Create a assets folder in the project root folder.

  3. Add a PNG image inside the assets folder.

  4. Now implement the Image component with the above PNG image.


  5. Now bundle it using the cmd



    react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/



  6. Then generate release apk using Generate Signed APK from Android Studio.


This will throw the following error:



[drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources
:app:mergeReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 22s


Note: When you generate a release apk without any PNG image you will not get any error, it will create you the release apk.



Here are the other files code.



App.js



import React, Component from 'react';
import Platform, StyleSheet, Image, View from 'react-native';

export default class App extends Component
render()
return (
<View style=styles.container>
<Image source=require('./assets/mario.png') />
</View>
);



const styles = StyleSheet.create(
container:
flex: 1
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


package.json




"name": "errorCheck",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
,
"devDependencies":
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.0",
"react-test-renderer": "16.6.0-alpha.8af6728"
,
"jest":
"preset": "react-native"




Any solution for this?



Update:



Here are the other details



classpath 'com.android.tools.build:gradle:3.1.4'

ext
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"


distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip


Tried with Android Studio 3.0, 3.0.1, 3.1, 3.1.4 & 3.2










share|improve this question























  • did u run application using react-native run-android ?
    – Lucefer
    Nov 10 at 14:16










  • Yes @Lucefer I don't have any problem to run the app directly using react-native run-android only thing is when I generate the release apk I'm getting the above error
    – Jeffrey Rajan
    Nov 10 at 14:39











  • what is the android studio version you are using?
    – K999
    Nov 10 at 15:31










  • Its Android Studio 3.2.1 @FlorinDobre
    – Jeffrey Rajan
    Nov 10 at 16:31










  • Check my answer from here: stackoverflow.com/a/52767101/1979861 Use Android studio 3.1.4 Android 3.2 has problem at building RN 0.57 projects
    – K999
    Nov 10 at 17:44












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I was trying to create a release apk file from Android but when I create a release apk with PNG image I'm getting Duplicate Resource error. Initially I thought this is happening because I made a mistake in the existing project but when I created a new project with a single Image component itself I'm getting the Duplicate Resource error. Here are the steps I followed



  1. Create a app - react-native init demo

  2. Create a assets folder in the project root folder.

  3. Add a PNG image inside the assets folder.

  4. Now implement the Image component with the above PNG image.


  5. Now bundle it using the cmd



    react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/



  6. Then generate release apk using Generate Signed APK from Android Studio.


This will throw the following error:



[drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources
:app:mergeReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 22s


Note: When you generate a release apk without any PNG image you will not get any error, it will create you the release apk.



Here are the other files code.



App.js



import React, Component from 'react';
import Platform, StyleSheet, Image, View from 'react-native';

export default class App extends Component
render()
return (
<View style=styles.container>
<Image source=require('./assets/mario.png') />
</View>
);



const styles = StyleSheet.create(
container:
flex: 1
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


package.json




"name": "errorCheck",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
,
"devDependencies":
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.0",
"react-test-renderer": "16.6.0-alpha.8af6728"
,
"jest":
"preset": "react-native"




Any solution for this?



Update:



Here are the other details



classpath 'com.android.tools.build:gradle:3.1.4'

ext
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"


distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip


Tried with Android Studio 3.0, 3.0.1, 3.1, 3.1.4 & 3.2










share|improve this question















I was trying to create a release apk file from Android but when I create a release apk with PNG image I'm getting Duplicate Resource error. Initially I thought this is happening because I made a mistake in the existing project but when I created a new project with a single Image component itself I'm getting the Duplicate Resource error. Here are the steps I followed



  1. Create a app - react-native init demo

  2. Create a assets folder in the project root folder.

  3. Add a PNG image inside the assets folder.

  4. Now implement the Image component with the above PNG image.


  5. Now bundle it using the cmd



    react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/



  6. Then generate release apk using Generate Signed APK from Android Studio.


This will throw the following error:



[drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources
:app:mergeReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 22s


Note: When you generate a release apk without any PNG image you will not get any error, it will create you the release apk.



Here are the other files code.



App.js



import React, Component from 'react';
import Platform, StyleSheet, Image, View from 'react-native';

export default class App extends Component
render()
return (
<View style=styles.container>
<Image source=require('./assets/mario.png') />
</View>
);



const styles = StyleSheet.create(
container:
flex: 1
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


package.json




"name": "errorCheck",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
,
"devDependencies":
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.0",
"react-test-renderer": "16.6.0-alpha.8af6728"
,
"jest":
"preset": "react-native"




Any solution for this?



Update:



Here are the other details



classpath 'com.android.tools.build:gradle:3.1.4'

ext
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"


distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip


Tried with Android Studio 3.0, 3.0.1, 3.1, 3.1.4 & 3.2







react-native android-gradle react-native-android






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 11 at 6:32

























asked Nov 10 at 13:59









Jeffrey Rajan

1,0721925




1,0721925











  • did u run application using react-native run-android ?
    – Lucefer
    Nov 10 at 14:16










  • Yes @Lucefer I don't have any problem to run the app directly using react-native run-android only thing is when I generate the release apk I'm getting the above error
    – Jeffrey Rajan
    Nov 10 at 14:39











  • what is the android studio version you are using?
    – K999
    Nov 10 at 15:31










  • Its Android Studio 3.2.1 @FlorinDobre
    – Jeffrey Rajan
    Nov 10 at 16:31










  • Check my answer from here: stackoverflow.com/a/52767101/1979861 Use Android studio 3.1.4 Android 3.2 has problem at building RN 0.57 projects
    – K999
    Nov 10 at 17:44
















  • did u run application using react-native run-android ?
    – Lucefer
    Nov 10 at 14:16










  • Yes @Lucefer I don't have any problem to run the app directly using react-native run-android only thing is when I generate the release apk I'm getting the above error
    – Jeffrey Rajan
    Nov 10 at 14:39











  • what is the android studio version you are using?
    – K999
    Nov 10 at 15:31










  • Its Android Studio 3.2.1 @FlorinDobre
    – Jeffrey Rajan
    Nov 10 at 16:31










  • Check my answer from here: stackoverflow.com/a/52767101/1979861 Use Android studio 3.1.4 Android 3.2 has problem at building RN 0.57 projects
    – K999
    Nov 10 at 17:44















did u run application using react-native run-android ?
– Lucefer
Nov 10 at 14:16




did u run application using react-native run-android ?
– Lucefer
Nov 10 at 14:16












Yes @Lucefer I don't have any problem to run the app directly using react-native run-android only thing is when I generate the release apk I'm getting the above error
– Jeffrey Rajan
Nov 10 at 14:39





Yes @Lucefer I don't have any problem to run the app directly using react-native run-android only thing is when I generate the release apk I'm getting the above error
– Jeffrey Rajan
Nov 10 at 14:39













what is the android studio version you are using?
– K999
Nov 10 at 15:31




what is the android studio version you are using?
– K999
Nov 10 at 15:31












Its Android Studio 3.2.1 @FlorinDobre
– Jeffrey Rajan
Nov 10 at 16:31




Its Android Studio 3.2.1 @FlorinDobre
– Jeffrey Rajan
Nov 10 at 16:31












Check my answer from here: stackoverflow.com/a/52767101/1979861 Use Android studio 3.1.4 Android 3.2 has problem at building RN 0.57 projects
– K999
Nov 10 at 17:44




Check my answer from here: stackoverflow.com/a/52767101/1979861 Use Android studio 3.1.4 Android 3.2 has problem at building RN 0.57 projects
– K999
Nov 10 at 17:44












2 Answers
2






active

oldest

votes

















up vote
2
down vote



accepted










After trying a lot of solutions I found only two solution is working. Here they are



Solution 1:



After bundling delete the drawable folder from Android Studio. You could find this in android/app/src/main/res/drawable



Solution 2:



In this solution you no need to delete any drawable folder. Just add the following code in the react.gradle file which you could find under node_modules/react-native/react.gradle path



doLast 
def moveFunc = resSuffix ->
File originalDir = file("$buildDir/generated/res/react/release/drawable-$resSuffix");
if (originalDir.exists())
File destDir = file("$buildDir/../src/main/res/drawable-$resSuffix");
ant.move(file: originalDir, tofile: destDir);


moveFunc.curry("ldpi").call()
moveFunc.curry("mdpi").call()
moveFunc.curry("hdpi").call()
moveFunc.curry("xhdpi").call()
moveFunc.curry("xxhdpi").call()
moveFunc.curry("xxxhdpi").call()



For reference I will add the full react.gradle file code here



import org.apache.tools.ant.taskdefs.condition.Os

def config = project.hasProperty("react") ? project.react : ;

def cliPath = config.cliPath ?: "node_modules/react-native/local-cli/cli.js"
def bundleAssetName = config.bundleAssetName ?: "index.android.bundle"
def entryFile = config.entryFile ?: "index.android.js"
def bundleCommand = config.bundleCommand ?: "bundle"
def reactRoot = file(config.root ?: "../../")
def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"]
def bundleConfig = config.bundleConfig ? "$reactRoot/$config.bundleConfig" : null ;


afterEvaluate
android.applicationVariants.all def variant ->
// Create variant and target names
def targetName = variant.name.capitalize()
def targetPath = variant.dirName

// React js bundle directories
def jsBundleDir = file("$buildDir/generated/assets/react/$targetPath")
def resourcesDir = file("$buildDir/generated/res/react/$targetPath")

def jsBundleFile = file("$jsBundleDir/$bundleAssetName")

// Additional node and packager commandline arguments
def nodeExecutableAndArgs = config.nodeExecutableAndArgs ?: ["node"]
def extraPackagerArgs = config.extraPackagerArgs ?:

def currentBundleTask = tasks.create(
name: "bundle$targetNameJsAndAssets",
type: Exec)

// Expose a minimal interface on the application variant and the task itself:
variant.ext.bundleJsAndAssets = currentBundleTask
currentBundleTask.ext.generatedResFolders = files(resourcesDir).builtBy(currentBundleTask)
currentBundleTask.ext.generatedAssetsFolders = files(jsBundleDir).builtBy(currentBundleTask)

// registerGeneratedResFolders for Android plugin 3.x
if (variant.respondsTo("registerGeneratedResFolders"))
variant.registerGeneratedResFolders(currentBundleTask.generatedResFolders)
else
variant.registerResGeneratingTask(currentBundleTask)

variant.mergeResources.dependsOn(currentBundleTask)

// packageApplication for Android plugin 3.x
def packageTask = variant.hasProperty("packageApplication")
? variant.packageApplication
: tasks.findByName("package$targetName")

def resourcesDirConfigValue = config."resourcesDir$targetName"
if (resourcesDirConfigValue)
def currentCopyResTask = tasks.create(
name: "copy$targetNameBundledResources",
type: Copy)
group = "react"
description = "copy bundled resources into custom location for $targetName."

from resourcesDir
into file(resourcesDirConfigValue)

dependsOn(currentBundleTask)

enabled currentBundleTask.enabled




packageTask.dependsOn(currentCopyResTask)


def currentAssetsCopyTask = tasks.create(
name: "copy$targetNameBundledJs",
type: Copy)
group = "react"
description = "copy bundled JS into $targetName."

if (config."jsBundleDir$targetName")
from jsBundleDir
into file(config."jsBundleDir$targetName")
else
into ("$buildDir/intermediates")
into ("assets/$targetPath")
from jsBundleDir


// Workaround for Android Gradle Plugin 3.2+ new asset directory
into ("merged_assets/$targetPath/merge$targetNameAssets/out")
from jsBundleDir



// mergeAssets must run first, as it clears the intermediates directory
dependsOn(variant.mergeAssets)

enabled currentBundleTask.enabled


packageTask.dependsOn(currentAssetsCopyTask)




Credit:
ZeroCool00
mkchx






share|improve this answer





























    up vote
    0
    down vote













    Use com.android.tools.build:gradle:3.1.4 It should work. RN 0.57 has problem with building in 3.2



    This question is a possible duplicate of:



    React Native Error: Duplicate resources, assets coming in some screens and not coming in others in android release APK



    If it still doesn't work try to use RN 0.57.2, I am using it and creating releases works very well with these deps:



     "dependencies": 
    "react": "16.5.0",
    "react-native": "0.57.2",
    .......


    "devDependencies":
    "@babel/core": "^7.0.0",
    "@babel/plugin-proposal-class-properties": "^7.0.0",
    "@babel/plugin-proposal-decorators": "^7.0.0",
    "@babel/plugin-proposal-do-expressions": "^7.0.0",
    "@babel/plugin-proposal-export-default-from": "^7.0.0",
    "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
    "@babel/plugin-proposal-function-bind": "^7.0.0",
    "@babel/plugin-proposal-function-sent": "^7.0.0",
    "@babel/plugin-proposal-json-strings": "^7.0.0",
    "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
    "@babel/plugin-proposal-numeric-separator": "^7.0.0",
    "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
    "@babel/plugin-proposal-optional-chaining": "^7.0.0",
    "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
    "@babel/plugin-proposal-throw-expressions": "^7.0.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@babel/plugin-syntax-import-meta": "^7.0.0",
    "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
    "@babel/plugin-transform-runtime": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-flow": "^7.0.0",
    "@babel/register": "^7.0.0",
    "babel-core": "^7.0.0-bridge.0",
    "babel-preset-react-native-stage-0": "^1.0.1",
    .....



    Gradle deps:



    classpath 'com.android.tools.build:gradle:3.1.4'
    classpath "io.realm:realm-gradle-plugin:4.0.0"


    App gradle



    compileSdkVersion 27
    buildToolsVersion "27.0.3"

    defaultConfig {
    applicationId "de.burda.buntede"
    minSdkVersion 17
    targetSdkVersion 27


    Gradle wrapper props:



    distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip






    share|improve this answer






















    • I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
      – Jeffrey Rajan
      Nov 11 at 5:57











    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53239705%2freact-native-error-duplicate-resources-android%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    2
    down vote



    accepted










    After trying a lot of solutions I found only two solution is working. Here they are



    Solution 1:



    After bundling delete the drawable folder from Android Studio. You could find this in android/app/src/main/res/drawable



    Solution 2:



    In this solution you no need to delete any drawable folder. Just add the following code in the react.gradle file which you could find under node_modules/react-native/react.gradle path



    doLast 
    def moveFunc = resSuffix ->
    File originalDir = file("$buildDir/generated/res/react/release/drawable-$resSuffix");
    if (originalDir.exists())
    File destDir = file("$buildDir/../src/main/res/drawable-$resSuffix");
    ant.move(file: originalDir, tofile: destDir);


    moveFunc.curry("ldpi").call()
    moveFunc.curry("mdpi").call()
    moveFunc.curry("hdpi").call()
    moveFunc.curry("xhdpi").call()
    moveFunc.curry("xxhdpi").call()
    moveFunc.curry("xxxhdpi").call()



    For reference I will add the full react.gradle file code here



    import org.apache.tools.ant.taskdefs.condition.Os

    def config = project.hasProperty("react") ? project.react : ;

    def cliPath = config.cliPath ?: "node_modules/react-native/local-cli/cli.js"
    def bundleAssetName = config.bundleAssetName ?: "index.android.bundle"
    def entryFile = config.entryFile ?: "index.android.js"
    def bundleCommand = config.bundleCommand ?: "bundle"
    def reactRoot = file(config.root ?: "../../")
    def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"]
    def bundleConfig = config.bundleConfig ? "$reactRoot/$config.bundleConfig" : null ;


    afterEvaluate
    android.applicationVariants.all def variant ->
    // Create variant and target names
    def targetName = variant.name.capitalize()
    def targetPath = variant.dirName

    // React js bundle directories
    def jsBundleDir = file("$buildDir/generated/assets/react/$targetPath")
    def resourcesDir = file("$buildDir/generated/res/react/$targetPath")

    def jsBundleFile = file("$jsBundleDir/$bundleAssetName")

    // Additional node and packager commandline arguments
    def nodeExecutableAndArgs = config.nodeExecutableAndArgs ?: ["node"]
    def extraPackagerArgs = config.extraPackagerArgs ?:

    def currentBundleTask = tasks.create(
    name: "bundle$targetNameJsAndAssets",
    type: Exec)

    // Expose a minimal interface on the application variant and the task itself:
    variant.ext.bundleJsAndAssets = currentBundleTask
    currentBundleTask.ext.generatedResFolders = files(resourcesDir).builtBy(currentBundleTask)
    currentBundleTask.ext.generatedAssetsFolders = files(jsBundleDir).builtBy(currentBundleTask)

    // registerGeneratedResFolders for Android plugin 3.x
    if (variant.respondsTo("registerGeneratedResFolders"))
    variant.registerGeneratedResFolders(currentBundleTask.generatedResFolders)
    else
    variant.registerResGeneratingTask(currentBundleTask)

    variant.mergeResources.dependsOn(currentBundleTask)

    // packageApplication for Android plugin 3.x
    def packageTask = variant.hasProperty("packageApplication")
    ? variant.packageApplication
    : tasks.findByName("package$targetName")

    def resourcesDirConfigValue = config."resourcesDir$targetName"
    if (resourcesDirConfigValue)
    def currentCopyResTask = tasks.create(
    name: "copy$targetNameBundledResources",
    type: Copy)
    group = "react"
    description = "copy bundled resources into custom location for $targetName."

    from resourcesDir
    into file(resourcesDirConfigValue)

    dependsOn(currentBundleTask)

    enabled currentBundleTask.enabled




    packageTask.dependsOn(currentCopyResTask)


    def currentAssetsCopyTask = tasks.create(
    name: "copy$targetNameBundledJs",
    type: Copy)
    group = "react"
    description = "copy bundled JS into $targetName."

    if (config."jsBundleDir$targetName")
    from jsBundleDir
    into file(config."jsBundleDir$targetName")
    else
    into ("$buildDir/intermediates")
    into ("assets/$targetPath")
    from jsBundleDir


    // Workaround for Android Gradle Plugin 3.2+ new asset directory
    into ("merged_assets/$targetPath/merge$targetNameAssets/out")
    from jsBundleDir



    // mergeAssets must run first, as it clears the intermediates directory
    dependsOn(variant.mergeAssets)

    enabled currentBundleTask.enabled


    packageTask.dependsOn(currentAssetsCopyTask)




    Credit:
    ZeroCool00
    mkchx






    share|improve this answer


























      up vote
      2
      down vote



      accepted










      After trying a lot of solutions I found only two solution is working. Here they are



      Solution 1:



      After bundling delete the drawable folder from Android Studio. You could find this in android/app/src/main/res/drawable



      Solution 2:



      In this solution you no need to delete any drawable folder. Just add the following code in the react.gradle file which you could find under node_modules/react-native/react.gradle path



      doLast 
      def moveFunc = resSuffix ->
      File originalDir = file("$buildDir/generated/res/react/release/drawable-$resSuffix");
      if (originalDir.exists())
      File destDir = file("$buildDir/../src/main/res/drawable-$resSuffix");
      ant.move(file: originalDir, tofile: destDir);


      moveFunc.curry("ldpi").call()
      moveFunc.curry("mdpi").call()
      moveFunc.curry("hdpi").call()
      moveFunc.curry("xhdpi").call()
      moveFunc.curry("xxhdpi").call()
      moveFunc.curry("xxxhdpi").call()



      For reference I will add the full react.gradle file code here



      import org.apache.tools.ant.taskdefs.condition.Os

      def config = project.hasProperty("react") ? project.react : ;

      def cliPath = config.cliPath ?: "node_modules/react-native/local-cli/cli.js"
      def bundleAssetName = config.bundleAssetName ?: "index.android.bundle"
      def entryFile = config.entryFile ?: "index.android.js"
      def bundleCommand = config.bundleCommand ?: "bundle"
      def reactRoot = file(config.root ?: "../../")
      def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"]
      def bundleConfig = config.bundleConfig ? "$reactRoot/$config.bundleConfig" : null ;


      afterEvaluate
      android.applicationVariants.all def variant ->
      // Create variant and target names
      def targetName = variant.name.capitalize()
      def targetPath = variant.dirName

      // React js bundle directories
      def jsBundleDir = file("$buildDir/generated/assets/react/$targetPath")
      def resourcesDir = file("$buildDir/generated/res/react/$targetPath")

      def jsBundleFile = file("$jsBundleDir/$bundleAssetName")

      // Additional node and packager commandline arguments
      def nodeExecutableAndArgs = config.nodeExecutableAndArgs ?: ["node"]
      def extraPackagerArgs = config.extraPackagerArgs ?:

      def currentBundleTask = tasks.create(
      name: "bundle$targetNameJsAndAssets",
      type: Exec)

      // Expose a minimal interface on the application variant and the task itself:
      variant.ext.bundleJsAndAssets = currentBundleTask
      currentBundleTask.ext.generatedResFolders = files(resourcesDir).builtBy(currentBundleTask)
      currentBundleTask.ext.generatedAssetsFolders = files(jsBundleDir).builtBy(currentBundleTask)

      // registerGeneratedResFolders for Android plugin 3.x
      if (variant.respondsTo("registerGeneratedResFolders"))
      variant.registerGeneratedResFolders(currentBundleTask.generatedResFolders)
      else
      variant.registerResGeneratingTask(currentBundleTask)

      variant.mergeResources.dependsOn(currentBundleTask)

      // packageApplication for Android plugin 3.x
      def packageTask = variant.hasProperty("packageApplication")
      ? variant.packageApplication
      : tasks.findByName("package$targetName")

      def resourcesDirConfigValue = config."resourcesDir$targetName"
      if (resourcesDirConfigValue)
      def currentCopyResTask = tasks.create(
      name: "copy$targetNameBundledResources",
      type: Copy)
      group = "react"
      description = "copy bundled resources into custom location for $targetName."

      from resourcesDir
      into file(resourcesDirConfigValue)

      dependsOn(currentBundleTask)

      enabled currentBundleTask.enabled




      packageTask.dependsOn(currentCopyResTask)


      def currentAssetsCopyTask = tasks.create(
      name: "copy$targetNameBundledJs",
      type: Copy)
      group = "react"
      description = "copy bundled JS into $targetName."

      if (config."jsBundleDir$targetName")
      from jsBundleDir
      into file(config."jsBundleDir$targetName")
      else
      into ("$buildDir/intermediates")
      into ("assets/$targetPath")
      from jsBundleDir


      // Workaround for Android Gradle Plugin 3.2+ new asset directory
      into ("merged_assets/$targetPath/merge$targetNameAssets/out")
      from jsBundleDir



      // mergeAssets must run first, as it clears the intermediates directory
      dependsOn(variant.mergeAssets)

      enabled currentBundleTask.enabled


      packageTask.dependsOn(currentAssetsCopyTask)




      Credit:
      ZeroCool00
      mkchx






      share|improve this answer
























        up vote
        2
        down vote



        accepted







        up vote
        2
        down vote



        accepted






        After trying a lot of solutions I found only two solution is working. Here they are



        Solution 1:



        After bundling delete the drawable folder from Android Studio. You could find this in android/app/src/main/res/drawable



        Solution 2:



        In this solution you no need to delete any drawable folder. Just add the following code in the react.gradle file which you could find under node_modules/react-native/react.gradle path



        doLast 
        def moveFunc = resSuffix ->
        File originalDir = file("$buildDir/generated/res/react/release/drawable-$resSuffix");
        if (originalDir.exists())
        File destDir = file("$buildDir/../src/main/res/drawable-$resSuffix");
        ant.move(file: originalDir, tofile: destDir);


        moveFunc.curry("ldpi").call()
        moveFunc.curry("mdpi").call()
        moveFunc.curry("hdpi").call()
        moveFunc.curry("xhdpi").call()
        moveFunc.curry("xxhdpi").call()
        moveFunc.curry("xxxhdpi").call()



        For reference I will add the full react.gradle file code here



        import org.apache.tools.ant.taskdefs.condition.Os

        def config = project.hasProperty("react") ? project.react : ;

        def cliPath = config.cliPath ?: "node_modules/react-native/local-cli/cli.js"
        def bundleAssetName = config.bundleAssetName ?: "index.android.bundle"
        def entryFile = config.entryFile ?: "index.android.js"
        def bundleCommand = config.bundleCommand ?: "bundle"
        def reactRoot = file(config.root ?: "../../")
        def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"]
        def bundleConfig = config.bundleConfig ? "$reactRoot/$config.bundleConfig" : null ;


        afterEvaluate
        android.applicationVariants.all def variant ->
        // Create variant and target names
        def targetName = variant.name.capitalize()
        def targetPath = variant.dirName

        // React js bundle directories
        def jsBundleDir = file("$buildDir/generated/assets/react/$targetPath")
        def resourcesDir = file("$buildDir/generated/res/react/$targetPath")

        def jsBundleFile = file("$jsBundleDir/$bundleAssetName")

        // Additional node and packager commandline arguments
        def nodeExecutableAndArgs = config.nodeExecutableAndArgs ?: ["node"]
        def extraPackagerArgs = config.extraPackagerArgs ?:

        def currentBundleTask = tasks.create(
        name: "bundle$targetNameJsAndAssets",
        type: Exec)

        // Expose a minimal interface on the application variant and the task itself:
        variant.ext.bundleJsAndAssets = currentBundleTask
        currentBundleTask.ext.generatedResFolders = files(resourcesDir).builtBy(currentBundleTask)
        currentBundleTask.ext.generatedAssetsFolders = files(jsBundleDir).builtBy(currentBundleTask)

        // registerGeneratedResFolders for Android plugin 3.x
        if (variant.respondsTo("registerGeneratedResFolders"))
        variant.registerGeneratedResFolders(currentBundleTask.generatedResFolders)
        else
        variant.registerResGeneratingTask(currentBundleTask)

        variant.mergeResources.dependsOn(currentBundleTask)

        // packageApplication for Android plugin 3.x
        def packageTask = variant.hasProperty("packageApplication")
        ? variant.packageApplication
        : tasks.findByName("package$targetName")

        def resourcesDirConfigValue = config."resourcesDir$targetName"
        if (resourcesDirConfigValue)
        def currentCopyResTask = tasks.create(
        name: "copy$targetNameBundledResources",
        type: Copy)
        group = "react"
        description = "copy bundled resources into custom location for $targetName."

        from resourcesDir
        into file(resourcesDirConfigValue)

        dependsOn(currentBundleTask)

        enabled currentBundleTask.enabled




        packageTask.dependsOn(currentCopyResTask)


        def currentAssetsCopyTask = tasks.create(
        name: "copy$targetNameBundledJs",
        type: Copy)
        group = "react"
        description = "copy bundled JS into $targetName."

        if (config."jsBundleDir$targetName")
        from jsBundleDir
        into file(config."jsBundleDir$targetName")
        else
        into ("$buildDir/intermediates")
        into ("assets/$targetPath")
        from jsBundleDir


        // Workaround for Android Gradle Plugin 3.2+ new asset directory
        into ("merged_assets/$targetPath/merge$targetNameAssets/out")
        from jsBundleDir



        // mergeAssets must run first, as it clears the intermediates directory
        dependsOn(variant.mergeAssets)

        enabled currentBundleTask.enabled


        packageTask.dependsOn(currentAssetsCopyTask)




        Credit:
        ZeroCool00
        mkchx






        share|improve this answer














        After trying a lot of solutions I found only two solution is working. Here they are



        Solution 1:



        After bundling delete the drawable folder from Android Studio. You could find this in android/app/src/main/res/drawable



        Solution 2:



        In this solution you no need to delete any drawable folder. Just add the following code in the react.gradle file which you could find under node_modules/react-native/react.gradle path



        doLast 
        def moveFunc = resSuffix ->
        File originalDir = file("$buildDir/generated/res/react/release/drawable-$resSuffix");
        if (originalDir.exists())
        File destDir = file("$buildDir/../src/main/res/drawable-$resSuffix");
        ant.move(file: originalDir, tofile: destDir);


        moveFunc.curry("ldpi").call()
        moveFunc.curry("mdpi").call()
        moveFunc.curry("hdpi").call()
        moveFunc.curry("xhdpi").call()
        moveFunc.curry("xxhdpi").call()
        moveFunc.curry("xxxhdpi").call()



        For reference I will add the full react.gradle file code here



        import org.apache.tools.ant.taskdefs.condition.Os

        def config = project.hasProperty("react") ? project.react : ;

        def cliPath = config.cliPath ?: "node_modules/react-native/local-cli/cli.js"
        def bundleAssetName = config.bundleAssetName ?: "index.android.bundle"
        def entryFile = config.entryFile ?: "index.android.js"
        def bundleCommand = config.bundleCommand ?: "bundle"
        def reactRoot = file(config.root ?: "../../")
        def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"]
        def bundleConfig = config.bundleConfig ? "$reactRoot/$config.bundleConfig" : null ;


        afterEvaluate
        android.applicationVariants.all def variant ->
        // Create variant and target names
        def targetName = variant.name.capitalize()
        def targetPath = variant.dirName

        // React js bundle directories
        def jsBundleDir = file("$buildDir/generated/assets/react/$targetPath")
        def resourcesDir = file("$buildDir/generated/res/react/$targetPath")

        def jsBundleFile = file("$jsBundleDir/$bundleAssetName")

        // Additional node and packager commandline arguments
        def nodeExecutableAndArgs = config.nodeExecutableAndArgs ?: ["node"]
        def extraPackagerArgs = config.extraPackagerArgs ?:

        def currentBundleTask = tasks.create(
        name: "bundle$targetNameJsAndAssets",
        type: Exec)

        // Expose a minimal interface on the application variant and the task itself:
        variant.ext.bundleJsAndAssets = currentBundleTask
        currentBundleTask.ext.generatedResFolders = files(resourcesDir).builtBy(currentBundleTask)
        currentBundleTask.ext.generatedAssetsFolders = files(jsBundleDir).builtBy(currentBundleTask)

        // registerGeneratedResFolders for Android plugin 3.x
        if (variant.respondsTo("registerGeneratedResFolders"))
        variant.registerGeneratedResFolders(currentBundleTask.generatedResFolders)
        else
        variant.registerResGeneratingTask(currentBundleTask)

        variant.mergeResources.dependsOn(currentBundleTask)

        // packageApplication for Android plugin 3.x
        def packageTask = variant.hasProperty("packageApplication")
        ? variant.packageApplication
        : tasks.findByName("package$targetName")

        def resourcesDirConfigValue = config."resourcesDir$targetName"
        if (resourcesDirConfigValue)
        def currentCopyResTask = tasks.create(
        name: "copy$targetNameBundledResources",
        type: Copy)
        group = "react"
        description = "copy bundled resources into custom location for $targetName."

        from resourcesDir
        into file(resourcesDirConfigValue)

        dependsOn(currentBundleTask)

        enabled currentBundleTask.enabled




        packageTask.dependsOn(currentCopyResTask)


        def currentAssetsCopyTask = tasks.create(
        name: "copy$targetNameBundledJs",
        type: Copy)
        group = "react"
        description = "copy bundled JS into $targetName."

        if (config."jsBundleDir$targetName")
        from jsBundleDir
        into file(config."jsBundleDir$targetName")
        else
        into ("$buildDir/intermediates")
        into ("assets/$targetPath")
        from jsBundleDir


        // Workaround for Android Gradle Plugin 3.2+ new asset directory
        into ("merged_assets/$targetPath/merge$targetNameAssets/out")
        from jsBundleDir



        // mergeAssets must run first, as it clears the intermediates directory
        dependsOn(variant.mergeAssets)

        enabled currentBundleTask.enabled


        packageTask.dependsOn(currentAssetsCopyTask)




        Credit:
        ZeroCool00
        mkchx







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 12 at 14:53

























        answered Nov 12 at 10:46









        Jeffrey Rajan

        1,0721925




        1,0721925






















            up vote
            0
            down vote













            Use com.android.tools.build:gradle:3.1.4 It should work. RN 0.57 has problem with building in 3.2



            This question is a possible duplicate of:



            React Native Error: Duplicate resources, assets coming in some screens and not coming in others in android release APK



            If it still doesn't work try to use RN 0.57.2, I am using it and creating releases works very well with these deps:



             "dependencies": 
            "react": "16.5.0",
            "react-native": "0.57.2",
            .......


            "devDependencies":
            "@babel/core": "^7.0.0",
            "@babel/plugin-proposal-class-properties": "^7.0.0",
            "@babel/plugin-proposal-decorators": "^7.0.0",
            "@babel/plugin-proposal-do-expressions": "^7.0.0",
            "@babel/plugin-proposal-export-default-from": "^7.0.0",
            "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
            "@babel/plugin-proposal-function-bind": "^7.0.0",
            "@babel/plugin-proposal-function-sent": "^7.0.0",
            "@babel/plugin-proposal-json-strings": "^7.0.0",
            "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
            "@babel/plugin-proposal-numeric-separator": "^7.0.0",
            "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
            "@babel/plugin-proposal-optional-chaining": "^7.0.0",
            "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
            "@babel/plugin-proposal-throw-expressions": "^7.0.0",
            "@babel/plugin-syntax-dynamic-import": "^7.0.0",
            "@babel/plugin-syntax-import-meta": "^7.0.0",
            "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
            "@babel/plugin-transform-runtime": "^7.0.0",
            "@babel/preset-env": "^7.0.0",
            "@babel/preset-flow": "^7.0.0",
            "@babel/register": "^7.0.0",
            "babel-core": "^7.0.0-bridge.0",
            "babel-preset-react-native-stage-0": "^1.0.1",
            .....



            Gradle deps:



            classpath 'com.android.tools.build:gradle:3.1.4'
            classpath "io.realm:realm-gradle-plugin:4.0.0"


            App gradle



            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
            applicationId "de.burda.buntede"
            minSdkVersion 17
            targetSdkVersion 27


            Gradle wrapper props:



            distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip






            share|improve this answer






















            • I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
              – Jeffrey Rajan
              Nov 11 at 5:57















            up vote
            0
            down vote













            Use com.android.tools.build:gradle:3.1.4 It should work. RN 0.57 has problem with building in 3.2



            This question is a possible duplicate of:



            React Native Error: Duplicate resources, assets coming in some screens and not coming in others in android release APK



            If it still doesn't work try to use RN 0.57.2, I am using it and creating releases works very well with these deps:



             "dependencies": 
            "react": "16.5.0",
            "react-native": "0.57.2",
            .......


            "devDependencies":
            "@babel/core": "^7.0.0",
            "@babel/plugin-proposal-class-properties": "^7.0.0",
            "@babel/plugin-proposal-decorators": "^7.0.0",
            "@babel/plugin-proposal-do-expressions": "^7.0.0",
            "@babel/plugin-proposal-export-default-from": "^7.0.0",
            "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
            "@babel/plugin-proposal-function-bind": "^7.0.0",
            "@babel/plugin-proposal-function-sent": "^7.0.0",
            "@babel/plugin-proposal-json-strings": "^7.0.0",
            "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
            "@babel/plugin-proposal-numeric-separator": "^7.0.0",
            "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
            "@babel/plugin-proposal-optional-chaining": "^7.0.0",
            "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
            "@babel/plugin-proposal-throw-expressions": "^7.0.0",
            "@babel/plugin-syntax-dynamic-import": "^7.0.0",
            "@babel/plugin-syntax-import-meta": "^7.0.0",
            "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
            "@babel/plugin-transform-runtime": "^7.0.0",
            "@babel/preset-env": "^7.0.0",
            "@babel/preset-flow": "^7.0.0",
            "@babel/register": "^7.0.0",
            "babel-core": "^7.0.0-bridge.0",
            "babel-preset-react-native-stage-0": "^1.0.1",
            .....



            Gradle deps:



            classpath 'com.android.tools.build:gradle:3.1.4'
            classpath "io.realm:realm-gradle-plugin:4.0.0"


            App gradle



            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
            applicationId "de.burda.buntede"
            minSdkVersion 17
            targetSdkVersion 27


            Gradle wrapper props:



            distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip






            share|improve this answer






















            • I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
              – Jeffrey Rajan
              Nov 11 at 5:57













            up vote
            0
            down vote










            up vote
            0
            down vote









            Use com.android.tools.build:gradle:3.1.4 It should work. RN 0.57 has problem with building in 3.2



            This question is a possible duplicate of:



            React Native Error: Duplicate resources, assets coming in some screens and not coming in others in android release APK



            If it still doesn't work try to use RN 0.57.2, I am using it and creating releases works very well with these deps:



             "dependencies": 
            "react": "16.5.0",
            "react-native": "0.57.2",
            .......


            "devDependencies":
            "@babel/core": "^7.0.0",
            "@babel/plugin-proposal-class-properties": "^7.0.0",
            "@babel/plugin-proposal-decorators": "^7.0.0",
            "@babel/plugin-proposal-do-expressions": "^7.0.0",
            "@babel/plugin-proposal-export-default-from": "^7.0.0",
            "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
            "@babel/plugin-proposal-function-bind": "^7.0.0",
            "@babel/plugin-proposal-function-sent": "^7.0.0",
            "@babel/plugin-proposal-json-strings": "^7.0.0",
            "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
            "@babel/plugin-proposal-numeric-separator": "^7.0.0",
            "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
            "@babel/plugin-proposal-optional-chaining": "^7.0.0",
            "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
            "@babel/plugin-proposal-throw-expressions": "^7.0.0",
            "@babel/plugin-syntax-dynamic-import": "^7.0.0",
            "@babel/plugin-syntax-import-meta": "^7.0.0",
            "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
            "@babel/plugin-transform-runtime": "^7.0.0",
            "@babel/preset-env": "^7.0.0",
            "@babel/preset-flow": "^7.0.0",
            "@babel/register": "^7.0.0",
            "babel-core": "^7.0.0-bridge.0",
            "babel-preset-react-native-stage-0": "^1.0.1",
            .....



            Gradle deps:



            classpath 'com.android.tools.build:gradle:3.1.4'
            classpath "io.realm:realm-gradle-plugin:4.0.0"


            App gradle



            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
            applicationId "de.burda.buntede"
            minSdkVersion 17
            targetSdkVersion 27


            Gradle wrapper props:



            distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip






            share|improve this answer














            Use com.android.tools.build:gradle:3.1.4 It should work. RN 0.57 has problem with building in 3.2



            This question is a possible duplicate of:



            React Native Error: Duplicate resources, assets coming in some screens and not coming in others in android release APK



            If it still doesn't work try to use RN 0.57.2, I am using it and creating releases works very well with these deps:



             "dependencies": 
            "react": "16.5.0",
            "react-native": "0.57.2",
            .......


            "devDependencies":
            "@babel/core": "^7.0.0",
            "@babel/plugin-proposal-class-properties": "^7.0.0",
            "@babel/plugin-proposal-decorators": "^7.0.0",
            "@babel/plugin-proposal-do-expressions": "^7.0.0",
            "@babel/plugin-proposal-export-default-from": "^7.0.0",
            "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
            "@babel/plugin-proposal-function-bind": "^7.0.0",
            "@babel/plugin-proposal-function-sent": "^7.0.0",
            "@babel/plugin-proposal-json-strings": "^7.0.0",
            "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
            "@babel/plugin-proposal-numeric-separator": "^7.0.0",
            "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
            "@babel/plugin-proposal-optional-chaining": "^7.0.0",
            "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
            "@babel/plugin-proposal-throw-expressions": "^7.0.0",
            "@babel/plugin-syntax-dynamic-import": "^7.0.0",
            "@babel/plugin-syntax-import-meta": "^7.0.0",
            "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
            "@babel/plugin-transform-runtime": "^7.0.0",
            "@babel/preset-env": "^7.0.0",
            "@babel/preset-flow": "^7.0.0",
            "@babel/register": "^7.0.0",
            "babel-core": "^7.0.0-bridge.0",
            "babel-preset-react-native-stage-0": "^1.0.1",
            .....



            Gradle deps:



            classpath 'com.android.tools.build:gradle:3.1.4'
            classpath "io.realm:realm-gradle-plugin:4.0.0"


            App gradle



            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
            applicationId "de.burda.buntede"
            minSdkVersion 17
            targetSdkVersion 27


            Gradle wrapper props:



            distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 11 at 11:09

























            answered Nov 10 at 17:47









            K999

            3,69912540




            3,69912540











            • I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
              – Jeffrey Rajan
              Nov 11 at 5:57

















            • I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
              – Jeffrey Rajan
              Nov 11 at 5:57
















            I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
            – Jeffrey Rajan
            Nov 11 at 5:57





            I tried with Android Studio 3.1 still I'm getting the same problem. Also this is not the duplicate question. I have updated my question with additional details as well.
            – Jeffrey Rajan
            Nov 11 at 5:57


















            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53239705%2freact-native-error-duplicate-resources-android%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Kleinkühnau

            Makov (Slowakei)

            Deutsches Schauspielhaus