앱에서 설치했지만 사용하지 않는 Android 시스템 Webview


16

내 Android 태블릿 (5.0.2 실행)의 앱 스토어에서 최신 버전의 Android 시스템 WebView 를 다운로드하여 설치했습니다 .

그러나 앱은 여전히 ​​이전 웹뷰 버전 (39.0.0.0)을 사용합니다.

어떻게 전환 할 수 있습니까?

정보를 위해 이전 버전을 비활성화하려고 시도했지만 webview를 사용하는 앱을 열면 다시 활성화됩니다.


2
호기심으로 인해 앱에서 사용중인 Webview 버전을 어떻게 알 수 있습니까?
DukeSilversJazz

1
나는 Droidscript 및 WebView Browser와 같은 여러 응용 프로그램으로 테스트하고 whatsmyuseragent
Clémentine

롤리팝 소스를 읽었으며 이런 일이 일어나지 않아야합니다. 제조업체가 WebViewFactory 클래스를 자체 클래스로 바꾸지 않은 한 최신 버전을 사용해야합니다. 어떤 정확한 장치 / 모델 및 제조업체 제공 버전을 실행하고 있습니까?
Mufasa

안녕하세요 Musafa 왜 대답을 삭제 했습니까?
Clémentine

저렴한 태블릿을 사용하고 있으며 여러 브랜드 (flipkart의 digiflip, time2)를 사용해 보았습니다. 앞으로 몇 일 동안 lenovo TAB 2 A7을 시험해 보려고합니다
Clémentine

답변:


19

루트가 없으면 변경할 수 없습니다.

시스템 프레임 워크는 WebView 구성 요소를 요청하는 응용 프로그램에 특정 패키지를 사용하도록 하드 코딩 되어 있습니다. 기본적으로 (AOSP에서) com.android.webviewAOSP 빌드 프로세스 중에 컴파일되는 버전 인 값을 사용합니다 . 이 구성 요소를 수정하는 제조업체의 장치에서는 패키지 이름이 다를 수 있습니다. 어쨌든, 장치와 함께 제공된 WebView를 바꾸려면 대신이 값을로 수정해야합니다 com.google.android.webview.

이를 수행하는 "수동"방법은 장치에서 framework-res.apk 파일 을 가져 와서 디 컴파일하고 config_webViewPackageName리소스 변수 의 값을 변경하는 것 입니다. /res/values/strings.xml.apk 내에 있어야합니다 . 이 작업을 완료하면 모든 것을 다시 패키지하고 새 .apk를 장치에 밀어 넣어 이전 파일을 교체해야합니다.

시도 할 수있는 다른 방법 은 Xposed 프레임 워크설치 한 다음 WebViewGoogle 모듈 을 사용하는 입니다. 맞춤 ROM을 사용하는 경우 필요한 프레임 워크 구성 요소를 영구적으로 수정하거나 기본적으로 Google WebView를 사용하도록 빌드 된 패키지를 찾을 수도 있습니다.

내 가설은 시스템이 어떤 형태로 존재하는 WebView 구현에 의존하기 때문에이 제한이 부분적으로 존재한다는 것입니다. 따라서 사용자가 수정할 수 있으면 이상한 방식으로 시스템을 손상시킬 수 있습니다. 또한 악의적 인 사용자가 사용자 모르게 악의적 인 정보를 제공하려고하는 등 앱이 시스템 WebView를 재정의하도록 허용하는 보안에 영향을 미칩니다.

추가 설명으로 Play 스토어에서 System WebView를 사용할 수있는 이유는 Nexus 기기 (및 기타 기기)가 사전 설치되어 있고 사용하도록 구성되어 있기 때문입니다. 실제로는 해당 장치에 대한 시스템 WebView이므로 Google은 Play 스토어를 통해 이러한 장치에 대한 WebView 업데이트를 제공 할 수 있으므로 브라우저 / WebView를 업데이트하기 위해 전체 시스템 OTA가 필요하지 않습니다. Google이 유사한 방식으로 Play 스토어 업데이트로 마이그레이션 한 다른 구성 요소가 있습니다. 그 이유는 본질적으로 더 빠르다는 이유입니다. 전화와 주소록 은 가장 최근의 것 중 두 가지였으며 링크 된 기사는 Google이이 방법을 선택한 이유에 대한 추가 정보를 제공합니다.


1
이 설명에 감사드립니다 .. 그러나이 안드로이드 시스템 webview 앱의 사용은 무엇입니까?
Clémentine

1
@ Clémentine Nexus 기기 (아마도 다른 기기)는 사전 설치되어 있고 사용하도록 구성되어 제공됩니다. 실제로는 해당 장치에 대한 시스템 WebView이므로 Google은 Play 스토어를 통해 이러한 장치에 대한 WebView 업데이트를 제공 할 수 있으므로 브라우저 / WebView를 업데이트하기 위해 전체 시스템 OTA가 필요하지 않습니다. Google이 유사한 방식으로 Play 스토어 업데이트로 마이그레이션 한 다른 구성 요소가 있습니다. 그 이유는 본질적으로 더 빠르다는 이유입니다.
eldarerathis

1
롤리팝 또는 최신 OS를 실행하는 모든 태블릿이 이것을 기본 시스템 WebView로 사용하지 않는 이유는 무엇입니까?
Clémentine

1
@ Clémentine 타사 제조업체에 대한 Google의 통제는 다소 제한적입니다. Nexus 기기와 마찬가지로 Google의 비공개 소스 WebView를 사용하도록 선택할 수도 있지만 어떤 이유로 든 선택하지 않을 수 있습니다. Google이 폐쇄 소스 애플리케이션을 OEM에 라이센스를 부여하는 방법에 대한 구체적인 내용은 확실하지 않지만 해당 용어 (어떤 것이 든간에)가 제조업체의 결정에 영향을 줄 수 있습니다.
eldarerathis

이 모든 정보에 감사드립니다. 내 마음의 뒤에 많은 질문에 빛을 비추다. 태블릿이 사전 설치된 태블릿을 찾고 있습니다.
Clémentine
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.