Пакет не найден: 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 - нет.