Android sistemi Web görünümü yüklendi, ancak uygulamalar tarafından kullanılmadı


16

Android tabletimdeki uygulama mağazasından en son Android WebView sürümünü indirdim ve yükledim (5.0.2 çalışıyor).

Ancak uygulamalar eski web görünümü sürümünü (39.0.0.0) kullanmaya devam ediyor.

Geçmelerini nasıl sağlayabilirim?

Bilgi için eskisini devre dışı bırakmayı denedim ve web görünümü kullanan bir uygulamayı açtığımda yeniden etkinleştirildi.


2
Meraktan, bir uygulamanın hangi Webview sürümünü kullandığını nasıl bilebilirsiniz?
DukeSilversJazz

1
Droidscript ve WebView Tarayıcı gibi çeşitli uygulamalarla test yapıyorum ve whatsmyuseragent'ı
Clémentine

Lollipop kaynağını okudum ve bu olmamalı. Üretici WebViewFactory sınıfını kendi sınıfıyla değiştirmedikçe en son değeri kullanmalıdır. Hangi cihaz / model ve üretici tarafından sağlanan sürümü çalıştırıyorsunuz?
Mufasa

Merhaba Musafa cevabını neden sildin?
Clémentine

Düşük maliyetli tabletler kullanıyorum ve birkaç marka üzerinde çalıştım (flipkart'tan digiflip, time2), önümüzdeki günlerde Lenovo TAB 2 A7'yi deneyeceğim
Clémentine

Yanıtlar:


19

Bunu root olmadan değiştiremezsiniz.

Sistem çerçevesi, bir WebView bileşeni isteyen uygulamalar için belirli bir paket kullanacak şekilde kodlanmıştır . Varsayılan olarak (AOSP'de) com.android.webview, AOSP oluşturma işlemi sırasında derlenen sürüm olan değeri kullanır . Bu bileşeni değiştiren üreticilerin cihazlarında, paket adı farklı olabilir. Ne olursa olsun, cihazınızla birlikte gönderilen WebView'i değiştirmek için bunun yerine bu değeri değiştirmeniz gerekir com.google.android.webview.

Bunu yapmanın "elle" yolu framework-res.apk dosyasını cihazınızdan çekmek, derlemesini kaldırmak ve config_webViewPackageNamekaynak değişkeninin değerini değiştirmek olacaktır . /res/values/strings.xml.Apk içinde bulunmalıdır . Bunu yaptıktan sonra, her şeyi yeniden paketlemeniz ve eskisini değiştirerek yeni .apk'yi cihazınıza aktarmanız gerekir.

Deneyebileceğiniz alternatif bir yöntem Xposed çerçevesini kurmak ve ardından WebViewGoogle modülünü kullanmaktır . Özel bir ROM kullanıyorsanız, gerekli çerçeve bileşenlerini kalıcı olarak değiştirecek bir paket de bulabilirsiniz (veya varsayılan olarak Google WebView kullanacak şekilde oluşturulmuş olabilir).

Benim hipotezim, bu kısıtlamanın kısmen, bazı sistemlerde var olan bir WebView uygulamasına dayandığı için mevcut olacağı yönündedir; Ayrıca, kullanıcıların farkında olmadan kötü niyetli bir kullanıcı sağlamaya çalışan kötü bir aktör gibi uygulamaların sistem WebView'ini geçersiz kılmasına izin vermenin güvenlikle ilgili etkileri de olacaktır.

Daha ayrıntılı bir açıklama olarak: Sistem WebView'ın Play Store'da başlamasının nedeni, Nexus cihazlarının (ve muhtemelen diğerlerinin) önceden yüklenmiş olarak ve birlikte kullanmak üzere yapılandırılmış olmasıdır. Aslında, bu cihazlar için WebView sistemidir.Bu nedenle Google, Play Store üzerinden bu cihazlar için WebView güncellemeleri sağlayabilir, böylece tam sistem OTA'larının yalnızca tarayıcıyı / WebView'i güncellemek için gerekli olmaması gerekir. Google'ın benzer bir şekilde Play Store güncellemesine geçirdiği başka bileşenler de var, bunun nedeni daha hızlı olması. Telefon ve Kişiler daha yeni olanlardan ikisidir ve bağlantılı makale Google'ın neden bu yaklaşımı benimsediğine dair bazı ek ayrıntılar sunmaktadır.


1
Bu açıklama için teşekkürler .. ama, o zaman bu android sistem webview app kullanımı nedir?
Clémentine

1
@ Clémentine Nexus cihazları (muhtemelen diğerleri) önceden kurulmuş olarak ve birlikte kullanılmak üzere yapılandırılmış olarak gönderilir. Aslında, bu cihazlar için WebView sistemidir.Bu nedenle Google, Play Store üzerinden bu cihazlar için WebView güncellemeleri sağlayabilir, böylece tam sistem OTA'larının yalnızca tarayıcıyı / WebView'i güncellemek için gerekli olmaması gerekir. Google'ın benzer bir şekilde Play Store güncellemesine geçirdiği başka bileşenler de var, bunun nedeni daha hızlı olması.
eldarerathis

1
neden tüm tabletler lolipop veya daha yeni bir işletim sistemi çalıştırıyor bunu varsayılan sistemi WebView olarak kullanmıyor, bir atık gibi geliyor!
Clémentine

1
@ Clémentine Google'ın üçüncü taraf üreticiler üzerindeki kontrolü biraz sınırlıdır. Muhtemelen Nexus cihazlarının yaptığı gibi Google'ın kapalı kaynaklı WebView'ini kullanmayı tercih edebilirler, ancak herhangi bir nedenle kullanmamayı tercih edebilirler. Google'ın kapalı kaynak uygulamalarını OEM'lere nasıl lisansladığı ile ilgili ayrıntılardan emin değilim, ancak bu terimler (ne olursa olsun) üreticinin kararında bir faktör olabilir.
eldarerathis

Tüm bu bilgiler için teşekkürler. Aklımın arkasında olan birçok soruya ışık tutuyor. Önceden yüklenmiş bir tablet arayacak.
Clémentine
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.