一、Android 打包报错: Error: Duplicate resources
原因: Android 打包的时候 build 目录下 drawable 资源文件已经存在, 再次会发生写入资源重复 error
解决: 找到 node_modules/react-native/react.gradle 文件, 第 37 行有个 doFirst 方法, 在下面加入 doLast 方法删除后面生成的资源.
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()
}