index.android.bundle не обновляется при создании сборки выпуска

Я работаю над проектом в ReactNative, и он отлично работает в сборке отладки (при установке через react-native run-android, но когда я создаю сборку выпуска, она падает, как только я ее открываю, согласно в логи не удается загрузить скрипт, а каталог android/app/src/main/assets пуст.

Чтобы решить эту проблему, мне пришлось выполнить следующие команды: 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

rm -rf ./android/app/src/main/res/drawable-*

Но теперь файл index.android.js не будет обновляться в релизной сборке, поэтому мне приходится запускать приведенные выше команды каждый раз, когда мне нужна релизная сборка. Что я делаю неправильно?

Вот мои детали package.json:

"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },



"react": "16.8.3",
    "react-native": "0.59.5"

Вкратце: Как создать или обновить index.android.bundle автоматически при создании сборки выпуска?


person Zain Ul Abideen    schedule 26.11.2019    source источник


Ответы (1)


Выполните процедуру с первого раза.

mkdir android/app/src/main/assets

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 


npm start -- --reset-cache

react-native run-android

если вы хотите взять файл apk

cd android && ./gradlew clean

в конце концов

./gradlew assembleRelease

В основном приведенные ниже команды работали для меня

cd android
./gradlew clean
./gradlew assembleRelease
person errorau    schedule 26.11.2019
comment
Выполняйте следующий код каждый раз, когда вы запускаете свой код на физическом устройстве. В этом проблема. В других моих проектах мне не нужно этого делать (как в сборке отладки, так и в сборке выпуска) - person Zain Ul Abideen; 27.11.2019
comment
я добавил новые несколько строк - person errorau; 27.11.2019
comment
Для реактивных версий 0.57 и выше выходной путь пакета должен быть: android/app/build/generated/assets/react/debug/index.android.js См. документация по реактивному cli для получения более подробной информации. - person Radek Matěj; 29.09.2020