Система Android Webview встановлена, але додатки не використовуються


16

Я завантажив та встановив останню версію Android-системи WebView з магазину додатків на своєму планшеті Android (працює на 5.0.2).

Але програми все ще продовжують використовувати стару версію веб-перегляду (39.0.0.0).

Як змусити їх переключитися?

Для інформації я спробував відключити старий, і він буде знову ввімкнено, коли я відкриваю додаток, який використовує веб-перегляд.


2
З цікавості, як ви знаєте, яку версію Webview використовує додаток?
DukeSilversJazz

1
Я тестував кілька додатків, таких як Droidscript і WebView Browser і відвідуваною whatsmyuseragent
Клементина

Я читав джерело Lollipop, і цього не повинно відбуватися. Він повинен використовувати найновіші, якщо виробник не замінив клас WebViewFactory своїм. Який саме пристрій / модель та версія, що постачається виробником, ви працюєте?
Муфаса

Привіт Мусафа, чому ти видалив свою відповідь?
Clémentine

Я використовую недорогі планшети, і я спробував кілька брендів (digiflip від flipkart, time2), я збираюся спробувати lenovo TAB 2 A7 в найближчі дні
Clémentine

Відповіді:


19

Ви не можете змінити це без кореня.

У системній рамці важко кодувати використання певного пакету для додатків, які вимагають компонент WebView. За замовчуванням (в AOSP) він використовує значення com.android.webview, яке є версією, яка компілюється в процесі збирання AOSP. На пристроях від виробників, які модифікують цей компонент, назва упаковки може відрізнятися. Незважаючи на те, щоб замінити WebView, який постачається разом із вашим пристроєм, вам слід змінити це значення, а не бути com.google.android.webview.

" Ручним " способом цього було б витягнути файл frame-res.apk зі свого пристрою, декомпілювати його та змінити значення config_webViewPackageNameзмінної ресурсу. Він повинен розташовуватися в /res/values/strings.xmlмежах .apk. Щойно ви зробите це, вам потрібно буде знову упакувати все та натиснути новий .apk на свій пристрій, замінивши старий.

Альтернативний метод, який ви можете спробувати, - це встановити рамку Xposed та використовувати модуль WebViewGoogle . Якщо ви використовуєте користувальницький ROM, ви також зможете знайти пакет, який буде постійно змінювати необхідні компоненти фреймворку (або він може бути побудований для використання WebView Google за замовчуванням).

Моя гіпотеза полягає в тому, що це обмеження існує частково, оскільки система покладається на реалізацію WebView, яка існує в якійсь формі, тому, якщо користувач міг її змінити, він може зламати систему незвичайними способами. Також можуть бути наслідки безпеки для того, щоб дозволити програмам перекривати систему WebView, наприклад, недоброзичливця намагається надати шкідливий, не знаючи користувача.

В якості додаткового пояснення: причина System WebView доступна в Play Store для початку - це те, що пристрої Nexus (і, можливо, інші) постачаються разом із ним заздалегідь встановленими та налаштованими для його використання. Фактично, це система WebView для цих пристроїв. Отже, Google може надати оновлення WebView для цих пристроїв через Play Store, так що повноцінні OTA системи не потрібні лише для оновлення браузера / WebView. Є й інші компоненти, які Google перенесли в оновлення Play Store аналогічним чином, зважаючи на те, що це швидше. Телефон і контакти були двома з останніх, у зв'язаній статті ви знайдете додаткову інформацію про те, чому Google застосував такий підхід.


1
Дякуємо за це пояснення .. але в чому тоді це застосування для Android-додатків для веб-перегляду?
Клементин

1
@ Пристрої Clémentine Nexus (можливо, інші) постачаються разом із цим попередньо встановленим і налаштованим для його використання. Фактично, це система WebView для цих пристроїв. Отже, Google може надати оновлення WebView для цих пристроїв через Play Store, так що повноцінні OTA системи не потрібні лише для оновлення браузера / WebView. Є й інші компоненти, які Google перенесли в оновлення Play Store аналогічним чином, зважаючи на те, що це швидше.
eldarerathis

1
чому всі планшети, на яких працює льодяник або новіша ОС, не використовують це як свою систему за замовчуванням WebView, звучить як марно!
Clémentine

1
@ Clémentine Контроль Google над сторонніми виробниками дещо обмежений. Вони, ймовірно, можуть вирішити використовувати Google WebView із закритим кодом так само, як це роблять пристрої Nexus, але вони можуть вирішити не з будь-якої причини. Я не впевнений у особливостях щодо того, як Google ліцензує свої програми із закритим джерелом на OEM, але ці умови (якими б вони не були) можуть бути фактором рішення виробника.
eldarerathis

Дякую за всю цю інформацію. Пролити світло на багато питань, які у мене були в самому розумі. Буде шукати планшет, у якого його попередньо встановлено.
Клементин
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.