React Native Duplicate资源

anb*_*van 10 android reactjs react-native

在升级到React Native 0.57之后,当我在执行.\ gradlew汇编时发生APK在react-native-router-flux中时,我遇到了一个问题.我得到以下错误: -

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-mdpi-v4/node_modules_reactnativerouterflux_images_back_chevron] 
R:\Workings\lisecapps\androidrepo\test-react- 
native\venutest\android\app\src\main\res\drawable- 
mdpi\node_modules_reactnativerouterflux_images_back_chevron.png      
[drawable-mdpi-v4/node_modules_reactnativerouterflux_images_back_chevron] 
R:\Workings\lisecapps\androidrepo\test-react- 
emirnative\venutest\android\app\build\generated\res\react\release\drawable- 
mdpi-v4\node_modules_reactnativerouterflux_images_back_chevron.png: Error: 
Duplicate resources
[drawable-mdpi-v4/node_modules_reactnativerouterflux_images_menu_burger] 
R:\Workings\lisecapps\androidrepo\test-react-nat 
ive\venutest\android\app\src\main\res\drawable- 
mdpi\node_modules_reactnativerouterflux_images_menu_burger.png        
[drawable-mdpi-v4/node_modules_reactnativerouterflux_images_menu_burger] 
R:\Workings\lisecapps\androidrepo\test-react- 
native\venutest\android\app\build\generated\res\react\release\drawable-mdpi- 
v4\node_modules_reactnativerouterflux_images_menu_burger.png: Error: 
Duplicate resources
Run Code Online (Sandbox Code Playgroud)

我尝试了以下解决但仍然相同的错误: -

  • 试图在第一个答案说创造脚本这里以避免资产图像重复复印.
  • 删除了整个app/build文件夹

Tun*_*ong 5

您需要删除生成的资源/可绘制对象并再次生成。

rm -rf android/app/src/main/res/drawable-*
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/
Run Code Online (Sandbox Code Playgroud)

并再次编译androidreact-native run-android


Joã*_*aky 1

[0.57] 丑陋的解决方法

如果你不想回滚react-native版本,你可以将react.gradle回滚到最后一个工作版本。这对我有用。

将git代码复制到node_modules/react-native/react.gradle

https://github.com/facebook/react-native/blob/2d9e2f30e17b8e79f2c44ef533ecdd550671304c/react.gradle

如果问题仍然存在,请尝试if (isAndroidLibrary)删除doLast.