Убедитесь, что приложение не из 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 с помощью команды adb adb install base_master.apk.

  • Запустите приложение, вы должны увидеть диалоговое окно "Ошибка установки", и оно перенаправит вас в магазин Play, нажав "Обновить", магазин воспроизведения установит недостающие файлы apks.

  • Теперь приложение должно работать нормально.

Надеюсь это поможет

Другие вопросы по тегам