Sistema Android Webview installato ma non utilizzato dalle app


16

Ho scaricato e installato l'ultima versione del sistema Android WebView dall'App Store sul mio tablet Android (in esecuzione 5.0.2).

Ma le app continuano a funzionare utilizzando la vecchia versione di webview (39.0.0.0).

Come posso farli cambiare?

Per informazioni, ho provato a disabilitare quello vecchio e si riabilita quando apro un'app che utilizza la visualizzazione Web.


2
Per curiosità, come fai a sapere quale versione di Webview utilizza un'app?
DukeSilversJazz

1
Ho provato con diverse app, come Droidscript e WebView Browser, e ho
Clémentine l'

Ho letto la fonte di Lollipop e questo non dovrebbe succedere. Dovrebbe utilizzare l'ultima versione a meno che il produttore non abbia sostituito la classe WebViewFactory con la propria. Quale dispositivo / modello esatto e versione fornita dal produttore stai utilizzando?
Mufasa,

Ciao Musafa, perché hai eliminato la tua risposta?
Clémentine,

Sto usando tablet a basso costo e ho provato diversi marchi (digiflip da flipkart, time2), nei prossimi giorni proverò il lenovo TAB 2 A7
Clémentine

Risposte:


19

Non puoi cambiarlo senza root.

Il framework di sistema è hardcoded per utilizzare un pacchetto specifico per le applicazioni che richiedono un componente WebView. Per impostazione predefinita (in AOSP) utilizza il valore com.android.webview, che è la versione che viene compilata durante il processo di compilazione AOSP. Sui dispositivi di produttori che modificano questo componente, il nome del pacchetto potrebbe differire. Indipendentemente da ciò, al fine di sostituire il WebView fornito con il dispositivo, è necessario modificare questo valore per essere invece com.google.android.webview.

Il modo "manuale" per farlo sarebbe quello di estrarre il file framework-res.apk dal tuo dispositivo, decompilarlo e cambiare il valore della config_webViewPackageNamevariabile di risorsa. Dovrebbe trovarsi /res/values/strings.xmlall'interno del .apk. Una volta fatto questo, dovrai reimballare tutto e spingere il nuovo .apk sul tuo dispositivo, sostituendo quello vecchio.

Un metodo alternativo che puoi provare è installare il framework Xposed e quindi utilizzare il modulo WebViewGoogle . Se utilizzi una ROM personalizzata, potresti anche essere in grado di trovare un pacchetto che modificherà in modo permanente i componenti del framework necessari (oppure potrebbe essere creato per utilizzare WebView di Google per impostazione predefinita).

La mia ipotesi sarebbe che questa limitazione esiste in parte perché il sistema si basa su un'implementazione di WebView esistente in qualche modo, quindi se potesse essere modificato da un utente potrebbe rompere il sistema in modi strani. Ci sarebbero anche implicazioni di sicurezza nel consentire alle app di scavalcare il sistema WebView, come un cattivo attore che tenta di fornire un malware senza che l'utente lo sappia.

Come ulteriore spiegazione: il motivo per cui System WebView è disponibile nel Play Store per cominciare è che i dispositivi Nexus (e forse altri) vengono forniti con esso preinstallato e configurato per usarlo. È, in effetti, il sistema WebView per tali dispositivi, quindi Google è in grado di fornire aggiornamenti WebView per questi dispositivi tramite il Play Store, in modo che gli OTA di sistema completi non siano necessari solo per aggiornare il browser / WebView. Ci sono altri componenti che Google ha migrato in Play Store aggiornando in modo simile, con il motivo essenzialmente che è più veloce. Telefono e Contatti sono stati due dei più recenti, con l'articolo collegato che fornisce alcuni dettagli aggiuntivi sul perché Google ha adottato questo approccio.


1
Grazie per questa spiegazione .. ma a che serve questa app per la visualizzazione web del sistema Android?
Clémentine,

1
I dispositivi @ Clémentine Nexus (possibilmente altri) vengono spediti con esso preinstallato e configurato per usarlo. È, in effetti, il sistema WebView per tali dispositivi, quindi Google è in grado di fornire aggiornamenti WebView per questi dispositivi tramite il Play Store, in modo che gli OTA di sistema completi non siano necessari solo per aggiornare il browser / WebView. Ci sono altri componenti che Google ha migrato in Play Store aggiornando in modo simile, con il motivo essenzialmente che è più veloce.
eldarerathis,

1
perché tutti i tablet che eseguono lollipop o il nuovo sistema operativo non lo utilizzano come sistema WebView predefinito, sembra uno spreco!
Clémentine,

1
@ Clémentine Il controllo di Google sui produttori di terze parti è alquanto limitato. Probabilmente potrebbero scegliere di utilizzare il WebView chiuso di Google proprio come fanno i dispositivi Nexus, ma potrebbero scegliere di non farlo per nessun motivo. Non sono sicuro delle specifiche riguardanti il ​​modo in cui Google concede in licenza le loro applicazioni a sorgente chiusa agli OEM, ma quei termini (qualunque essi siano) potrebbero essere un fattore nella decisione del produttore.
eldarerathis,

Grazie per tutte queste informazioni. Fare luce su molte domande che avevo in mente. Sarà quindi alla ricerca di un tablet che lo abbia preinstallato.
Clémentine,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.