Пакет не найден: com.android.chrome

Я видел много аварий в приложении с сообщением, используемым в качестве названия здесь. Почти все сбои на устройствах OnePlus, и большинство из них находятся на версии Oxygen OS, раздвоенной из Android Oreo. Кто-нибудь еще видел это? Ниже приведена трассировка стека:

 java.lang.RuntimeException: Package not found: com.android.chrome
    at android.webkit.WebViewDelegate.getPackageId(WebViewDelegate.java:164)
    at com.android.webview.chromium.ig.L(WebViewDelegateFactory.java:16)
    at com.android.webview.chromium.WebViewChromiumFactoryProvider.h(WebViewChromiumFactoryProvider.java:177)
    at com.android.webview.chromium.se.run(WebViewChromiumFactoryProvider.java:5)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6809)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

Редактировать: 18 февраля 2018 года:

Мы получили нашу команду One Plus 5T (OnePlus A5010) несколько недель назад и не видели никаких проблем при запуске нашего приложения. Устройство было предварительно загружено вилкой OxygenOS Android 7.0. Однако сегодня устройство получило уведомление об обновлении Android 8.0.0 (OxygenOS 5.0.3), и после успешной установки обновления наше приложение разбивается с той же трассировкой стека. Этот крах ужасно влияет на нашу пользовательскую базу. Любая помощь будет оценена.

Ответы

Ответ 1

Теперь WebView контролируется Chrome от Nougat. Ссылка

Решение, которое работало для меня, было комментировать эти строки в AndroidManifest.xml

<meta-data android:name="preloaded_fonts" 
           android:resource="@array/preloaded_fonts" />   

Как предложено здесь

Ответ 2

У вас есть несколько профилей на вашем устройстве?

Существует известная проблема на форумах поддержки Google (Android Enterprise), касающихся WebView. Похоже, что решение может хорошо примениться к вашей проблеме.

Резюме:

В Android Nougat была добавлена функция, чтобы установить Chrome WebView как WebView по умолчанию и отключить приложение Android System WebView по умолчанию

Это проблема, когда:

  • Устройство должно быть на Android Oreo (Android 8.0)
  • Более одного пользователя на устройстве (например, рабочий профиль и личный профиль)
  • Chrome не включен для хотя бы одного пользователя на устройстве. Примечание. Chrome по умолчанию отключен в рабочем профиле.
  • Chrome был обновлен на устройстве, и устройство перезапустило [не?] С момента обновления Chrome.
  • Приложение Android System WebView не обновлено через Google Play.

Что тебе необходимо сделать:

Включите Chrome для каждого пользователя на устройстве или подождите, пока приложение Android System WebView обновится до последней версии (обновления происходят автоматически в течение 24 часов, если устройство имеет WiFi-соединение)

Ответ 3

Вы случайно используете Network Audience Network SDK в своем приложении? Ran в тот же сбой, и кажется, что авария напрямую связана с FAN SDK (с использованием 4.27.1). Когда приложение пытается показать объявление из FAN, он иногда падает (только на устройствах OnePlus).

Это еще не подтверждено на 100%, но может помочь.

Изменение: это может быть связано с любым другим SDK сети объявлений, многие из которых используют WebView для показа объявления. В этом случае FAN SDK вызывается только как резервный, если с AdMob что-то не так. Не исключено, что он также повредит AdMob, но SDK обрабатывает его, а FAN - нет.