问题
ReactNative 0.70创建项目后打包运行npx react-native run-android
报如下错误:
Execution failed for task ‘:app:mergeReleaseResources’.
[drawable-mdpi-v4/node_modules_reactnative_libraries_newappscreen_components_logo] D:\code\Android\React\LingXiJiaoYou\android\app\src\main\res\drawable-mdpi\node_modules_reactnative_libraries_newappscreen_components_logo.png [drawable-mdpi-v4/node_modules_reactnative_libraries_newappscreen_components_logo] D:\code\Android\React\LingXiJiaoYou\android\app\build\generated\res\react\release\drawable-mdpi\node_modules_reactnative_libraries_newappscreen_components_logo.png: Error: Duplicate resources
解决方法
在node_modules/react-native/react.gradle
添加如下代码后重新打包运行即可:
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()
}
注意位置: