安卓端打包 Error: Duplicate resources
2020-09-25 本文已影响0人
survivorsfyh
项目真机打包安卓端的过程中遇到了如下异常提示:
Error: Duplicate resources
简单看了下控制台中的提示信息,某些资源文件重复,首先尝试了手动删除的方式,但再次尝试打包依然未能成功,后使用如下方式顺利成功,具体操作如下:
解决办法
首先,锁定项目工程目录下 node_modules -> react-native -> react.gradle 文件;
其次,在该类的 doFirst 代码块后添加如下 code 代码块:
![](https://img.haomeiwen.com/i3095156/558c77e8a1dd81fd.png)
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()
}
最后,再次尝试打包即可。
![](https://img.haomeiwen.com/i3095156/c1fcac956342c570.png)
以上便是此次分享的全部内容,希望能对大家有所帮助!