Hệ thống Android được cài đặt Webview nhưng không được ứng dụng sử dụng


16

Tôi đã tải xuống và cài đặt phiên bản mới nhất của hệ thống Android WebView từ cửa hàng ứng dụng trên máy tính bảng Android của tôi (chạy 5.0.2).

Nhưng các ứng dụng vẫn tiếp tục sử dụng phiên bản webview cũ (39.0.0.0).

Làm thế nào tôi có thể khiến họ chuyển đổi?

Để biết thông tin, tôi đã thử vô hiệu hóa cái cũ và nó được kích hoạt lại khi tôi mở một ứng dụng sử dụng webview.


2
Vì tò mò, làm thế nào để bạn biết ứng dụng Webview đang sử dụng phiên bản nào?
DukeSilversJazz 11/03/2016

1
Tôi đã thử nghiệm với một số ứng dụng, chẳng hạn như Trình duyệt Droidscript và WebView và đã truy cập whatsmyuseragent
Clémentine

Tôi đã đọc qua nguồn Lollipop và điều này không nên xảy ra. Nó nên sử dụng mới nhất trừ khi nhà sản xuất đã thay thế lớp WebViewFactory bằng lớp của riêng họ. Bạn đang chạy thiết bị / model chính xác và phiên bản nào do nhà sản xuất cung cấp?
Mufasa

Xin chào Musaha tại sao bạn xóa câu trả lời của bạn?
Clémentine

Tôi đang sử dụng máy tính bảng giá rẻ và tôi đã thử trên một số nhãn hiệu (digiflip từ flipkart, time2), tôi sẽ thử trên lenovo TAB 2 A7 trong những ngày tới
Clémentine

Câu trả lời:


19

Bạn không thể thay đổi điều này mà không cần root.

Khung hệ thống được mã hóa cứng để sử dụng gói cụ thể cho các ứng dụng yêu cầu thành phần WebView. Theo mặc định (trong AOSP), nó sử dụng giá trị com.android.webview, đây là phiên bản được biên dịch trong quá trình xây dựng AOSP. Trên các thiết bị từ các nhà sản xuất sửa đổi thành phần này, tên gói có thể khác nhau. Bất kể, để thay thế WebView được cung cấp cùng với thiết bị của bạn, bạn phải sửa đổi giá trị này để thay thế com.google.android.webview.

Cách "làm bằng tay" này sẽ là kéo tệp framework-res.apk khỏi thiết bị của bạn, biên dịch lại nó và thay đổi giá trị của config_webViewPackageNamebiến tài nguyên. Nó nên được bố trí ở /res/values/strings.xmltrong .apk. Khi bạn đã hoàn thành việc này, bạn sẽ cần phải đóng gói lại mọi thứ và đẩy .apk mới vào thiết bị của mình, thay thế thiết bị cũ.

Một phương pháp khác mà bạn có thể thử là cài đặt khung Xposed và sau đó sử dụng mô-đun WebViewGoogle . Nếu bạn sử dụng ROM tùy chỉnh, bạn cũng có thể tìm thấy gói sẽ sửa đổi vĩnh viễn các thành phần khung cần thiết (hoặc có thể được xây dựng để sử dụng WebView của Google theo mặc định).

Giả thuyết của tôi sẽ là hạn chế này tồn tại một phần vì hệ thống phụ thuộc vào triển khai WebView tồn tại ở một số dạng, vì vậy nếu người dùng có thể sửa đổi nó có thể phá vỡ hệ thống theo những cách kỳ lạ. Cũng có ý nghĩa bảo mật để cho phép các ứng dụng ghi đè lên WebView của hệ thống, chẳng hạn như một tác nhân xấu đang cố gắng cung cấp một phần mềm độc hại mà người dùng không biết.

Như một lời giải thích thêm: lý do System WebView có sẵn trong Cửa hàng Play bắt đầu là các thiết bị Nexus (và có thể các thiết bị khác) được cài đặt sẵn và được định cấu hình để sử dụng nó. Thực tế, đó là WebView hệ thống cho các thiết bị đó. Vì vậy, Google có thể cung cấp các bản cập nhật WebView cho các thiết bị này thông qua Play Store để các OTA hệ thống đầy đủ không cần thiết chỉ để cập nhật trình duyệt / WebView. Có những thành phần khác mà Google đã chuyển sang Play Store cập nhật theo cách tương tự, với lý do chủ yếu là nó nhanh hơn. Điện thoại và Danh bạ là hai trong số những cái gần đây hơn, với bài viết được liên kết cung cấp một số chi tiết bổ sung về lý do Google thực hiện phương pháp này.


1
Cảm ơn bạn đã giải thích .. nhưng, việc sử dụng ứng dụng webview hệ thống android này là gì?
Clémentine

1
@ Clémentine Các thiết bị Nexus (có thể là các thiết bị khác) được cài đặt sẵn và được định cấu hình để sử dụng nó. Thực tế, đó là WebView hệ thống cho các thiết bị đó. Vì vậy, Google có thể cung cấp các bản cập nhật WebView cho các thiết bị này thông qua Play Store để các OTA hệ thống đầy đủ không cần thiết chỉ để cập nhật trình duyệt / WebView. Có những thành phần khác mà Google đã chuyển sang Play Store cập nhật theo cách tương tự, với lý do chủ yếu là nó nhanh hơn.
eldarerathis 11/03/2016

1
Tại sao tất cả các máy tính bảng chạy kẹo mút hoặc HĐH mới hơn không sử dụng điều này làm WebView mặc định của hệ thống, nghe có vẻ lãng phí!
Clémentine

1
@ Clémentine Sự kiểm soát của Google đối với các nhà sản xuất bên thứ ba có phần hạn chế. Có lẽ họ có thể chọn sử dụng WebView nguồn đóng của Google giống như các thiết bị Nexus làm, nhưng họ có thể chọn không sử dụng vì bất kỳ lý do gì. Tôi không chắc chắn về các chi tiết cụ thể về cách Google cấp phép các ứng dụng nguồn đóng của họ cho các OEM, nhưng những điều khoản đó (bất kể chúng có thể là gì) có thể là một yếu tố trong quyết định của nhà sản xuất.
eldarerathis 11/03/2016

Cảm ơn tất cả các thông tin này. Làm sáng tỏ rất nhiều câu hỏi tôi có ở phía sau tâm trí của tôi. Sẽ tìm kiếm một máy tính bảng đã được cài đặt sẵn sau đó.
Clémentine
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.