Приложение Android вылетает при запуске после загрузки из Google Play - PullRequest
0 голосов
/ 30 мая 2019

Приложение создано с использованием React Native и работает нормально на обоих симуляторах / эмуляторах.

Также на iPhone (через usb ... в режиме отладки).

Я не смогПопробуйте на Android (не было "Build number"!?).

Я еще не загрузил его в "App Store" ...

Но когда я загружаю его из "Google Play", приложение вылетает при запуске.

Примечание: Я "использую интерфейс подписи / keytool, который является частью Android Studio" для создания APK.

  1. Я нашел это: Поддержка сторонних 64-битных библиотек наAndroid.

    И я попробовал это решение: Смешивание 32- и 64-разрядных зависимостей в Android.

    И некоторые другие, аналогичные вышеперечисленным ...

  2. Я попытался удалить файлы ios и android, а затем снова запустить ios и android ...

  3. Также попытался загрузить «Android»App Bundle "вместо APK (с этим приложение даже не загрузится ... не только в ожидании. Был только счетчик, чтобы увидеть ...

Итак, ничего не получалось!

Тогда я понял, что получаю сообщение об ошибке на устройстве Android, которое было:

java.lang.RuntimeException: Unable to load script. Make sure you're either running a Metro server or that your bundle index.android.bundle is packaged correctly for release.

enter image description here

Я нашел это: ReleaseAPK запускается сразу при запуске.

Я хочу попробовать следующий комментарий, но я его не понимаю.

@ alexmbp

Хорошо.Он работает с

1 реакции-нативный run-android --variant = release

2 и с ./gradlew buildRelease и настройкой подписи.

3 Также я обновилgradle и должен установить android.enableAapt2 = false.

Возможно, проблема связана с обновлением gradle.

Может кто-нибудь объяснить, пожалуйста ...

Я думаю, что 1 - это просто команда втерминал.

Но что такое 2 и 3?

Спасибо:)

Ответы [ 2 ]

1 голос
/ 31 мая 2019

Запустите следующую команду в собственной папке реагирования вашего проекта, а затем создайте приложение:

собственный пакет реакции --platform android --dev false - файл-входа index.js - вывод -bundle android \ app \ src \ main \ assets * index.android.bundle * --assets-dest android \ app \ src \ main \ res

  • Измените жирный текст в каталог вашего приложения
  • Измените текст курсива на то, что вы назвали файлом комплекта в ваших конфигурациях

Надеюсь, это поможет. Удачного кодирования!

0 голосов
/ 30 мая 2019

Собственный комплект не создается по умолчанию, если вы используете сборку debug. Вместо этого он ожидает, что вы запускаете пакет на своем компьютере, и телефон подключен к вашему компьютеру.

Вы должны в любом случае собрать для релиза (gradle assembleRelease) при отправке в Play Store, но вы также можете создать пакет в debug, добавив в файл android/app/build.gradle следующее:

project.ext.react = [
        entryFile: "index.js", //this part is there by default
        bundleInDebug: true, //this causes it to bundle when building debug, defaults to false
        bundleInRelease: true, //this causes it to bundle when building release, defaults to true
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...