J'ai téléchargé et installé la dernière version du système Android WebView à partir de l'App Store sur ma tablette Android (exécutant 5.0.2).
Mais les applications continuent à utiliser l'ancienne version de WebView (39.0.0.0).
Comment puis-je les inciter à changer?
Pour info, j'ai essayé de désactiver l'ancien, et il est réactivé lorsque j'ouvre une application qui utilise WebView.
5.0-lollipop
browser
webview
Clémentine
la source
la source
Réponses:
Vous ne pouvez pas changer cela sans root.
La structure du système est codée en dur pour utiliser un package spécifique pour les applications qui demandent un composant WebView. Par défaut (dans AOSP), il utilise la valeur
com.android.webview
, qui est la version qui est compilée pendant le processus de génération AOSP. Sur les appareils des fabricants qui modifient ce composant, le nom du package peut différer. Quoi qu'il en soit, afin de remplacer la WebView fournie avec votre appareil, vous devez modifier cette valeur pour qu'elle soitcom.google.android.webview
.La façon «manuelle» de procéder consiste à extraire le fichier framework-res.apk de votre appareil, à le décompiler et à modifier la valeur de la
config_webViewPackageName
variable de ressource. Il doit être situé/res/values/strings.xml
dans le .apk. Une fois que vous avez fait cela, vous devrez tout reconditionner et pousser le nouveau .apk sur votre appareil, en remplaçant l'ancien.Une autre méthode que vous pouvez essayer consiste à installer le cadre Xposed , puis à utiliser le module WebViewGoogle . Si vous utilisez une ROM personnalisée, vous pouvez également être en mesure de trouver un package qui modifiera de manière permanente les composants de framework nécessaires (ou il peut être construit pour utiliser WebView de Google par défaut).
Mon hypothèse serait que cette restriction existe en partie parce que le système repose sur une implémentation WebView existante sous une forme quelconque, donc si elle pouvait être modifiée par un utilisateur, elle pourrait casser le système de manière étrange. Il y aurait également des implications de sécurité à permettre aux applications de remplacer le WebView du système, comme un mauvais acteur tentant de fournir un programme malveillant à l'insu de l'utilisateur.
À titre d'explication supplémentaire: la raison pour laquelle la WebView système est disponible dans le Play Store pour commencer est que les appareils Nexus (et éventuellement d'autres) sont livrés préinstallés et configurés pour l'utiliser. Il s'agit en fait du système WebView pour ces appareils.Par conséquent, Google est en mesure de fournir des mises à jour WebView pour ces appareils via le Play Store afin que les OTA système complets ne soient pas nécessaires uniquement pour mettre à jour le navigateur / WebView. Il existe d'autres composants que Google a migrés vers la mise à jour du Play Store de la même manière, le raisonnement étant essentiellement qu'il est plus rapide. Le téléphone et les contacts étaient deux des plus récents, l'article lié fournissant des détails supplémentaires sur les raisons pour lesquelles Google a adopté cette approche.
la source