react-native打包android的apk报错Duplicate resources

报错问题:react-native在打包apk包的时候报错Duplicate resources

报错原因:资源id重复

解决办法,找到路径为your project/node_modules/react-native/react.gradle的文件,在dofirst后添加如下dolast代码:

doFirst {
     
                jsBundleDir.deleteDir()
                jsBundleDir.mkdirs()
                resourcesDir.deleteDir()
                resourcesDir.mkdirs()
            }

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()
 }

再配合android studio的clean project进行清除缓存,即可打包apk

若有疑问,可留言!
如有帮助,可给请作者的一杯咖啡添砖加瓦:

react-native打包android的apk报错Duplicate resources_第1张图片

你可能感兴趣的:(React-Native)