Sistem Android Webview diinstal tetapi tidak digunakan oleh aplikasi

16

Saya mengunduh dan menginstal versi terbaru sistem android WebView dari app store di tablet android saya (menjalankan 5.0.2).

Tetapi aplikasi masih terus menggunakan versi webview yang lama (39.0.0.0).

Bagaimana saya bisa membuat mereka beralih?

Untuk info, saya sudah mencoba menonaktifkan yang lama, dan itu diaktifkan kembali ketika saya membuka aplikasi yang menggunakan tampilan web.

Clémentine
sumber
2
Karena penasaran, bagaimana Anda tahu versi Webview aplikasi apa yang digunakan?
DukeSilversJazz
1
Saya telah menguji dengan beberapa aplikasi, seperti Droidscript dan WebView Browser dan mengunjungi whatsmyuseragent
Clémentine
Saya sudah membaca sumber Lollipop, dan ini seharusnya tidak terjadi. Seharusnya menggunakan yang terbaru kecuali jika pabrikan telah mengganti kelas WebViewFactory dengan milik mereka. Perangkat / model dan versi pabrikan apa yang Anda jalankan?
Mufasa
Hai Musafa mengapa Anda menghapus jawaban Anda?
Clémentine
Saya menggunakan tablet murah, dan saya mencoba beberapa merek (digiflip dari flipkart, time2), saya akan mencoba lenovo TAB 2 A7 dalam beberapa hari mendatang
Clémentine

Jawaban:

19

Anda tidak dapat mengubah ini tanpa root.

Kerangka kerja sistem dikode keras untuk menggunakan paket spesifik untuk aplikasi yang meminta komponen WebView. Secara default (dalam AOSP) menggunakan nilai com.android.webview, yang merupakan versi yang dikompilasi selama proses membangun AOSP. Pada perangkat dari pabrikan yang memodifikasi komponen ini, nama paket mungkin berbeda. Apapun, untuk mengganti WebView yang dikirimkan dengan perangkat Anda, Anda harus mengubah nilai ini menjadi com.google.android.webview.

Cara "dengan tangan" melakukan ini adalah dengan menarik file framework-res.apk dari perangkat Anda, de-kompilasi, dan ubah nilai config_webViewPackageNamevariabel sumber daya. Itu harus terletak di /res/values/strings.xmldalam .apk. Setelah selesai, Anda perlu mengemas ulang semuanya dan mendorong .apk baru ke perangkat Anda, menggantikan yang lama.

Metode alternatif yang dapat Anda coba adalah menginstal kerangka kerja Xposed dan kemudian menggunakan modul WebViewGoogle . Jika Anda menggunakan ROM khusus, Anda mungkin juga dapat menemukan paket yang secara permanen akan memodifikasi komponen kerangka kerja yang diperlukan (atau mungkin dibuat untuk menggunakan Google WebView secara default).

Hipotesis saya adalah bahwa pembatasan ini ada sebagian karena sistem bergantung pada implementasi WebView yang ada dalam beberapa bentuk, jadi jika itu dapat dimodifikasi oleh pengguna itu dapat merusak sistem dengan cara yang aneh. Juga akan ada implikasi keamanan untuk memungkinkan aplikasi menimpa sistem WebView, seperti aktor jahat yang berusaha memberikan yang jahat tanpa diketahui pengguna.

Sebagai titik penjelasan lebih lanjut: alasan Sistem WebView tersedia di Play Store untuk memulainya adalah karena perangkat Nexus (dan mungkin yang lain) dikirimkan bersamaan dengan pra-instalasinya, dan dikonfigurasikan untuk menggunakannya. Pada dasarnya, ini adalah sistem WebView untuk perangkat-perangkat itu. Oleh karena itu, Google dapat menyediakan pembaruan WebView untuk perangkat-perangkat ini melalui Play Store sehingga OTA sistem penuh tidak diperlukan hanya untuk memperbarui browser / WebView. Ada komponen lain yang dimigrasi Google ke pembaruan Play Store dengan cara yang sama, dengan alasan pada dasarnya lebih cepat. Telepon dan Kontak adalah dua yang paling baru, dengan artikel yang ditautkan menyediakan beberapa detail tambahan tentang mengapa Google mengambil pendekatan ini.

eldarerathis
sumber
1
Terima kasih untuk penjelasan ini .. tapi, apa gunanya aplikasi sistem tampilan web android ini?
Clémentine
1
@ Perangkat Clémentine Nexus (mungkin yang lain) dikirimkan bersamaan dengan pra-instal, dan dikonfigurasi untuk menggunakannya. Pada dasarnya, ini adalah sistem WebView untuk perangkat-perangkat itu. Oleh karena itu, Google dapat menyediakan pembaruan WebView untuk perangkat-perangkat ini melalui Play Store sehingga OTA sistem penuh tidak diperlukan hanya untuk memperbarui browser / WebView. Ada komponen lain yang dimigrasi Google ke pembaruan Play Store dengan cara yang sama, dengan alasan pada dasarnya lebih cepat.
eldarerathis
1
mengapa semua tablet yang menjalankan lollipop atau OS yang lebih baru tidak menggunakan ini sebagai sistem WebView default mereka, terdengar seperti sia-sia!
Clémentine
1
@ Clémentine Kontrol Google atas produsen pihak ketiga agak terbatas. Mereka mungkin dapat memilih untuk menggunakan WebView sumber-tertutup Google seperti halnya perangkat Nexus, tetapi mereka dapat memilih untuk tidak melakukannya karena alasan apa pun. Saya tidak yakin secara spesifik tentang bagaimana Google melisensikan aplikasi sumber tertutup mereka untuk OEM, tetapi istilah-istilah itu (apa pun itu) dapat menjadi faktor dalam keputusan pabrikan.
eldarerathis
Terima kasih atas semua info ini. Menjelaskan banyak pertanyaan yang ada di benak saya. Akan mencari tablet yang sudah diinstal sebelumnya.
Clémentine