ReactNative、Error: Duplicate resources

Error: Duplicate resources

npm install react-native-gesture-handlerをしました。debugビルドは通りますが、releaseビルドで Error: Duplicate resourcesで失敗するようになりました。

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-xhdpi-v4/node_modules_reactnavigationstack_lib_module_views_assets_backicon] /home/xxxx/xxxx/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigationstack_lib_module_views_assets_backicon.png [drawable-xhdpi-v4/node_modules_reactnavigationstack_lib_module_views_assets_backicon] /home/xxxx/xxxx/android/app/build/generated/res/react/release/drawable-xhdpi/node_modules_reactnavigationstack_lib_module_views_assets_backicon.png: Error: Duplicate resources
Code language: JavaScript (javascript)

main/res/drawable-* と build/generated/res/react/release/drawable-* に同じファイルが作られていました。本来は、build/generated/res/react/release/drawable-* だけのはずです。

gitを見て、android/app/src/main/assets/index.android.bundleが残ったままであることに気づきました。

前回の記事の「対応方法2:3.4.1のまま、手動でbundleする」で用意した、run-android-release.shをうっかり実行していたようです。

android/app/src/main/assets/index.android.bundleを削除したところ、解決しました。

$ rm android/app/src/main/assets/index.android.bundle
$ cd android; ./gradlew clean; cd ..
$ react-native run-android --variant=release
タイトルとURLをコピーしました