Приложение Android Cordova аварийно завершает работу при установке из игрового магазина

Проблема Приложение для Android, созданное на Cordova, аварийно завершает работу или не отвечает при установке через магазин Play.

Подробности Когда мое приложение для Android установлено из магазина Play, появляется страница входа. Когда я ввожу свои данные для входа в систему, он перестает отвечать на запросы.

Этого раньше не было. Я внес небольшие изменения в кодовую базу, и когда я обновил apk, обнаружилась эта проблема.

Приложение Techstack для Android на основе Cordova. Запуск Framework 7 вместе с Vue и Vuex Вот плагины Cordova, которые я использую:

  • Кордова версии 8.1.2
  • Платформа Кордова Android 7.0.0
  • Cordova-плагин-информация о сети ^ 2.0.1
  • кордова-плагин-белый список ^ 1.3.3
  • Cordova-plugin-inappbrowser ^3.0.0
  • плагин onesignal-cordova ^ 2.4.3
  • кордова-плагин-google-аналитика ^ 1.8.6

Шаги, предпринятые на данный момент:

  • Установил Bugsnag, но он не регистрирует никаких ошибок. Я считаю, что это связано с тем, что веб-просмотр дает сбой, поэтому он не может регистрировать какие-либо ошибки javascript.
  • Включен параметр отладки Android в значение true и установлен через Diawi (поскольку магазин Play не позволяет нам публиковать приложения с параметром debuggable = true). В таком случае работает нормально

Обновить Похоже, что приложение аварийно завершает работу, когда пользователь входит в систему. Это означает, что это как-то связано с кодом js, но я не могу его отладить, потому что удаленная отладка недоступна для опубликованных приложений.


person shash7    schedule 15.10.2018    source источник


Ответы (1)


Кажется, я нашел проблему.

По сути, приложение для Android выходит из строя, если оно делает вызов ajax на веб-сайт, чей сертификат ssl не работает. Эта проблема значительно усугубляется тем фактом, что приложение не выдает никаких ошибок, и это происходит только в подписанных версиях приложения (bugsnag тоже не помогает), установленных через Google Play (я включил вход в Google Keystone, хотя)

Вы можете использовать такие вещи, как sslchecker, чтобы проверить любые проблемы с сертификатами ssl. В моем случае сертификат ssl был действителен, но не смог разрешить корневой сертификат. Установка промежуточного сертификата (внутри конфигурации apache vhosts в цепочке ssl) на сервере устранила проблему.

Обновить Android кэширует ssl, поэтому он все равно не будет работать, пока вы не очистите кеш приложения на странице настроек/приложения и не переустановите приложение.

Теперь аутентификация работает, но если учетные данные неверны, она не будет работать.

person shash7    schedule 16.10.2018