ติดตั้ง Webview ระบบ Android แล้ว แต่ไม่ได้ใช้โดยแอพ


16

ฉันดาวน์โหลดและติดตั้งระบบ Android WebViewเวอร์ชันล่าสุดจาก app store บนแท็บเล็ต Android ของฉัน (ใช้งาน 5.0.2)

แต่แอปยังคงใช้ webview เวอร์ชันเก่า (39.0.0.0)

ฉันจะให้พวกเขาเปลี่ยนได้อย่างไร

สำหรับข้อมูลฉันได้ลองปิดการใช้งานเก่าและเปิดใช้งานอีกครั้งเมื่อฉันเปิดแอปที่ใช้เว็บวิว


2
จากความอยากรู้คุณจะรู้ได้อย่างไรว่า Webview รุ่นใดที่แอพใช้?
DukeSilversJazz

1
ฉันได้รับการทดสอบกับแอพหลายตัวเช่น Droidscript และ WebView Browser และเยี่ยมชมwhatsmyuseragent
Clémentine

ฉันอ่านจากแหล่งอมยิ้มแล้วและนี่ไม่ควรเกิดขึ้น ควรใช้รุ่นล่าสุดเว้นแต่ผู้ผลิตจะเปลี่ยนคลาส WebViewFactory ด้วยตนเอง คุณกำลังใช้งานอุปกรณ์ / รุ่นที่แน่นอนและรุ่นที่มาจากผู้ผลิต?
Mufasa

สวัสดี Musafa ทำไมคุณลบคำตอบของคุณ?
Clémentine

ฉันใช้แท็บเล็ตราคาถูกและฉันลองใช้หลายยี่ห้อ (digiflip จาก flipkart, time2) ฉันจะลองใช้ lenovo TAB 2 A7 ในวันที่จะมาถึง
Clémentine

คำตอบ:


19

คุณไม่สามารถเปลี่ยนแปลงสิ่งนี้ได้หากไม่มีรูท

เฟรมเวิร์กของระบบนั้นกำหนดค่าตายตัวเพื่อใช้แพคเกจเฉพาะสำหรับแอปพลิเคชันที่ร้องขอส่วนประกอบ WebView โดยค่าเริ่มต้น (ใน AOSP) จะใช้ค่าcom.android.webviewซึ่งเป็นรุ่นที่รวบรวมในระหว่างกระบวนการสร้าง AOSP บนอุปกรณ์จากผู้ผลิตที่ปรับเปลี่ยนส่วนประกอบนี้ชื่อแพคเกจอาจแตกต่างกัน โดยไม่คำนึงถึงเพื่อแทนที่ WebView com.google.android.webviewที่มาพร้อมกับอุปกรณ์ของคุณคุณต้องปรับเปลี่ยนค่านี้แทนที่จะเป็น

วิธี "ด้วยมือ" ในการดำเนินการนี้จะเป็นการดึงไฟล์framework-res.apkออกจากอุปกรณ์ของคุณยกเลิกการคอมไพล์และเปลี่ยนค่าของconfig_webViewPackageNameตัวแปรทรัพยากร ควรตั้งอยู่/res/values/strings.xmlภายใน. apk เมื่อคุณทำสิ่งนี้แล้วคุณจะต้องทำแพ็กเกจใหม่ทุกสิ่งและผลักดัน. apk ใหม่ไปยังอุปกรณ์ของคุณแทนที่อุปกรณ์เก่า

วิธีทางเลือกที่คุณสามารถพยายามคือการติดตั้งกรอบ Xposedแล้วใช้โมดูล WebViewGoogle หากคุณใช้ ROM ที่กำหนดเองคุณอาจสามารถค้นหาแพ็คเกจที่จะแก้ไขส่วนประกอบเฟรมเวิร์กที่จำเป็นอย่างถาวร (หรืออาจสร้างขึ้นเพื่อใช้ WebView ของ Google เป็นค่าเริ่มต้น)

สมมติฐานของฉันคือข้อ จำกัด นี้มีอยู่ในบางส่วนเนื่องจากระบบอาศัยการใช้ WebView ที่มีอยู่ในบางรูปแบบดังนั้นหากผู้ใช้สามารถแก้ไขได้ผู้ใช้สามารถทำลายระบบด้วยวิธีแปลก ๆ นอกจากนี้ยังมีนัยเกี่ยวกับความปลอดภัยในการอนุญาตให้แอปแทนที่ระบบ WebView เช่นผู้ไม่ประสงค์ดีที่พยายามจัดหาสิ่งที่เป็นอันตรายโดยที่ผู้ใช้ไม่รู้ตัว

ในฐานะที่เป็นคำอธิบายเพิ่มเติม: เหตุผลที่ระบบ WebView มีอยู่ใน Play Store เพื่อเริ่มต้นด้วยคืออุปกรณ์ Nexus (และอื่น ๆ อาจ) จัดส่งพร้อมติดตั้งไว้ล่วงหน้าและกำหนดค่าให้ใช้ เป็นผลให้ระบบ WebView สำหรับอุปกรณ์เหล่านั้นดังนั้น Google สามารถให้การอัปเดต WebView สำหรับอุปกรณ์เหล่านี้ผ่านทาง Play Store เพื่อไม่ให้ OTA ระบบเต็มรูปแบบไม่จำเป็นเพียงแค่อัปเดตเบราว์เซอร์ / WebView มีองค์ประกอบอื่น ๆ ที่ Google ได้โอนย้ายไปยังการอัปเดต Play Store ในลักษณะที่คล้ายกันโดยมีเหตุผลหลักว่ามันเร็วกว่า โทรศัพท์และผู้ติดต่อเป็นสองคนล่าสุดโดยมีบทความที่เชื่อมโยงซึ่งให้รายละเอียดเพิ่มเติมเกี่ยวกับสาเหตุที่ Google ใช้วิธีการนี้


1
ขอบคุณสำหรับคำอธิบายนี้ .. แต่แล้วการใช้แอพ webview ระบบ Android นี้คืออะไร?
Clémentine

1
@ อุปกรณ์Clémentine Nexus (อาจเป็นแบบอื่น) มาพร้อมกับอุปกรณ์ติดตั้งมาล่วงหน้าและกำหนดค่าให้ใช้ เป็นผลให้ระบบ WebView สำหรับอุปกรณ์เหล่านั้นดังนั้น Google สามารถให้การอัปเดต WebView สำหรับอุปกรณ์เหล่านี้ผ่านทาง Play Store เพื่อไม่ให้ OTA ระบบเต็มรูปแบบไม่จำเป็นเพียงแค่อัปเดตเบราว์เซอร์ / WebView มีองค์ประกอบอื่น ๆ ที่ Google ได้โอนย้ายไปยังการอัปเดต Play Store ในลักษณะที่คล้ายกันโดยมีเหตุผลหลักว่ามันเร็วกว่า
eldarerathis

1
เหตุใดแท็บเล็ตทั้งหมดที่ใช้ lollipop หรือระบบปฏิบัติการรุ่นใหม่ไม่ได้ใช้สิ่งนี้เป็น WebView ระบบเริ่มต้นของพวกเขาเสียงเหมือนของเสีย!
Clémentine

1
@ Clémentineการควบคุมของ Google เกี่ยวกับผู้ผลิตบุคคลที่สามค่อนข้าง จำกัด พวกเขาอาจเลือกที่จะใช้ WebView แบบปิดของ Google เช่นเดียวกับอุปกรณ์ Nexus แต่พวกเขาอาจเลือกที่จะไม่ใช้ด้วยเหตุผลใด ๆ ก็ตาม ฉันไม่แน่ใจเกี่ยวกับข้อมูลเฉพาะเกี่ยวกับวิธีที่ Google ให้สิทธิ์การใช้งานแอปพลิเคชันแบบโอเพนซอร์สกับ OEM แต่ข้อกำหนดเหล่านั้น (ไม่ว่าพวกเขาจะเป็นอะไร) อาจเป็นปัจจัยในการตัดสินใจของผู้ผลิต
eldarerathis

ขอบคุณสำหรับข้อมูลทั้งหมดนี้ ส่องคำถามมากมายที่ฉันมีที่ด้านหลังของใจ จะมองหาแท็บเล็ตที่ติดตั้งไว้ล่วงหน้าแล้ว
Clémentine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.