Убедитесь, что приложение не из Google Play установлено, используя основную библиотеку Play
Некоторый контекст: большинство из нас, возможно, столкнулись с этим ResourceNotFoundException
когда мы перешли на метод выпуска пакета приложений для Android. Очевидно, что проблема связана с боковой загрузкой приложения. Ссылка здесь.
Google недавно анонсировал решение этой проблемы. Используя библиотеку play core, мы можем определить, загружено ли приложение с боковой стороны или нет (Определяет отсутствующие сплит-файлы). Если приложение загружается сбоку, оно отображает всплывающее окно " Ошибка установки " и перенаправляет в магазин воспроизведения, где пользователь может правильно установить приложение через магазин Google Play.
Проблема: все работает нормально, пока не установится пропавший сплит apks из play store. Теперь, когда я перезапускаю приложение, оно сразу вылетает с сообщением об ошибке.
FirebaseApp по умолчанию не инициализируется в этом процессе
Примечание: прямая загрузка приложения из магазина игр работает отлично, без сбоев. Сбой происходит только при повторной загрузке приложения из-за проблемы с боковой загрузкой.
Код:
принадлежность проекта build.gradle
:
buildscript {
dependencies {
classpath 'com.android.tools.build:bundletool:0.9.0'
}
}
Модуль приложения build.gradle
:
implementation 'com.google.android.play:core:1.6.1'
Класс, расширяющий приложение:
public void onCreate() {
if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {
// Skip app initialization.
return;
}
super.onCreate();
.....
}
Любая помощь будет очень полезна.
0 ответов
Я решил эту проблему с помощью последней версии основной библиотеки Play:
Build.gradle модуля приложения:
implementation "com.google.android.play:core:1.7.2"
Остальная реализация остается такой же.
Класс, расширяющий Application:
public void onCreate() {
if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {
// Skip app initialization.
return;
}
super.onCreate();
.....
}
Как проверить:
Лучший способ проверить это правильно - выпустить пакет приложений с этими исправлениями во внутреннем тестовом канале игрового магазина (добавьте себя в качестве тестировщика).
Имитация установки недопустимых файлов apks - используйте bundletool, чтобы получить
.apks
файл из пакета, извлеките его и установите base_master.apk с помощью команды adbadb install base_master.apk
.Запустите приложение, вы должны увидеть диалоговое окно "Ошибка установки", и оно перенаправит вас в магазин Play, нажав "Обновить", магазин воспроизведения установит недостающие файлы apks.
Теперь приложение должно работать нормально.
Надеюсь это поможет