Я загрузил и установил последнюю версию системы Android WebView из магазина приложений на своем планшете Android (работает с версией 5.0.2).
Но приложения все еще продолжают использовать старую версию webview (39.0.0.0).
Как я могу заставить их переключаться?
Для информации, я попытался отключить старый, и он снова включается, когда я открываю приложение, которое использует веб-просмотр.
5.0-lollipop
browser
webview
Клементина
источник
источник
Ответы:
Вы не можете изменить это без рута.
Каркас системы жестко запрограммирован для использования определенного пакета для приложений, которые запрашивают компонент WebView. По умолчанию (в AOSP) используется значение
com.android.webview
, которое является версией, скомпилированной в процессе сборки AOSP. На устройствах производителей, которые модифицируют этот компонент, имя пакета может отличаться. Независимо от того, чтобы заменить WebView, который поставляется с вашим устройством, вы должны изменить это значение, чтобы вместо негоcom.google.android.webview
.«Ручной» способ сделать это - извлечь файл framework-res.apk с вашего устройства, декомпилировать его и изменить значение
config_webViewPackageName
переменной ресурса. Это должно быть расположено в/res/values/strings.xml
пределах .apk. После того, как вы это сделаете, вам нужно будет заново упаковать все и вставить новый .apk на свое устройство, заменив старый.Альтернативный метод, который вы можете попробовать - установить Xposed Framework, а затем использовать модуль WebViewGoogle . Если вы используете пользовательское ПЗУ, вы также сможете найти пакет, который навсегда изменит необходимые компоненты платформы (или он может быть построен для использования Google WebView по умолчанию).
Моя гипотеза состояла бы в том, что это ограничение существует отчасти потому, что система полагается на реализацию WebView, существующую в некоторой форме, поэтому, если она может быть изменена пользователем, она может нарушить работу системы странным образом. Также могут быть последствия для безопасности, позволяющие приложениям переопределять веб-представление системы, например, злоумышленник, пытающийся предоставить вредоносное приложение без ведома пользователя.
В качестве дальнейшего объяснения: причина, по которой System WebView доступен в Play Store для начала, заключается в том, что устройства Nexus (и, возможно, другие) поставляются с предустановленным и настроенным для его использования. По сути, это системный WebView для этих устройств. Таким образом, Google может предоставлять обновления WebView для этих устройств через Play Store, так что полные системные OTA не нужны просто для обновления браузера / WebView. Есть и другие компоненты, которые Google перенес в Play Store, обновляя аналогичным образом, по сути, это происходит быстрее. Телефон и Контакты были двумя из более недавних, со связанной статьей, предоставляющей некоторые дополнительные детали относительно того, почему Google принял этот подход.
источник