Computer >> 컴퓨터 >  >> 스마트폰 >> Android

안드로이드 시스템 웹뷰(Android System WebView)란? 역할과 앱 충돌 해결법 총정리

여러 안드로이드 앱이 별다른 이유 없이 갑자기 강제 종료된다면, 그 주범은 대부분 '안드로이드 시스템 웹뷰(Android System WebView)'일 가능성이 높습니다. 수많은 안드로이드 앱이 이 컴포넌트를 사용하기 때문인데요. 그렇다면 구글의 안드로이드 시스템 웹뷰는 정확히 무엇이고, 어떤 기능을 하며, 왜 그토록 중요한 걸까요?

이 글에서는 안드로이드 시스템 웹뷰에 대한 모든 것을 하나씩 짚어보겠습니다.

안드로이드 시스템 웹뷰란?

안드로이드 시스템 웹뷰는 안드로이드 앱이 별도의 브라우저를 실행하지 않고도 앱 내에서 웹 콘텐츠를 표시할 수 있게 해주는 시스템 컴포넌트입니다. 쉽게 말해, 앱 전용으로 내장된 웹 브라우저 엔진이라고 할 수 있습니다.

구글의 대표 브라우저인 크롬(Chrome)이 안드로이드 시스템 웹뷰의 기반이 됩니다.

안드로이드 시스템 웹뷰는 대부분의 안드로이드 스마트폰에 기본으로 설치되어 있습니다. 덕분에 개발자들은 호환성 문제를 걱정할 필요 없이 자신의 앱에서 인터넷 콘텐츠를 손쉽게 렌더링할 수 있습니다.

안드로이드 시스템 웹뷰는 어떤 역할을 할까?

지메일(Gmail), X(트위터), 레딧(Reddit) 등 많은 안드로이드 앱은 인터넷의 콘텐츠를 화면에 보여줍니다. 구글은 안드로이드 시스템 웹뷰를 통해 개발자가 앱 안에서 웹 콘텐츠를 손쉽게 구현할 수 있도록 지원합니다.

덕분에 개발자는 수백, 수천 줄에 달하는 코드를 처음부터 직접 작성하느라 시간을 낭비하지 않아도 됩니다. 웹뷰 라이브러리 코드 몇 줄만 추가하면 앱 안에서 웹 콘텐츠를 바로 보여줄 수 있으니까요.

안드로이드 시스템 웹뷰를 비활성화해도 괜찮을까?

결론부터 말하면 비활성화는 권장하지 않습니다. "웹뷰가 정말 필요한가?"라는 질문에 대한 답은 '그렇다'입니다. 초기 안드로이드처럼 OS의 핵심 일부는 아니지만, 여전히 유용한 기능임에는 분명합니다. 구글은 안드로이드 10부터 웹뷰를 핵심 OS에서 분리해 별도의 앱으로 운영하고 있는데, 별도 앱이라고 해서 필수적이지 않다는 의미는 아닙니다.

다만 예외적인 경우도 있습니다. 안드로이드 7.0, 8.0, 9.0 버전에서는 크롬이 웹뷰 작업을 대신 처리했기 때문에, 이 버전들에서는 웹뷰를 비활성화해도 큰 문제가 발생하지 않습니다. 하지만 그보다 이전 버전이나 이후 버전에서는 웹뷰를 활성화 상태로 두는 것이 안전합니다.

앱을 완전히 삭제할 수는 없지만, 원한다면 비활성화는 가능합니다. 단, 웹뷰를 비활성화하면 일부 안드로이드 앱의 성능에 영향을 줄 수 있다는 점을 유의하세요.

또한 웹뷰 내부에 버그가 생기면, 이 컴포넌트를 사용하는 모든 안드로이드 앱이 동시에 오작동할 수 있습니다.

참고로 안드로이드 시스템 웹뷰는 스파이웨어나 불필요한 블로트웨어(bloatware)가 아니므로, 평소에는 걱정할 필요가 전혀 없습니다. 물론 앱들이 잇달아 강제 종료된다면 이야기가 달라지겠죠.

안드로이드 시스템 웹뷰 충돌 문제 해결 방법

여러 안드로이드 앱이 동시에 강제 종료되는 일은 흔치 않습니다. 만약 이런 현상을 겪고 있다면 문제의 원인이 웹뷰일 가능성이 큽니다. 앱 충돌이 발생한다면 아래 방법들을 순서대로 시도해 보세요.

1. 안드로이드 시스템 웹뷰와 크롬 업데이트

가장 먼저 할 일은 안드로이드 시스템 웹뷰와 크롬을 최신 버전으로 업데이트하는 것입니다. 실제로 2021년 3월, 구글이 배포한 시스템 웹뷰 업데이트가 원인이 되어 해당 컴포넌트를 사용하는 모든 안드로이드 앱이 잇달아 강제 종료되는 사태가 벌어졌습니다. 다행히 구글은 후속 업데이트로 이 문제를 신속하게 수정했습니다.

안드로이드 시스템 웹뷰를 업데이트하는 방법은 다음과 같습니다.

  1. 플레이 스토어에서 '안드로이드 시스템 웹뷰' 앱 페이지로 이동합니다.
  2. 삭제(Uninstall) 버튼이 보인다면 이미 최신 버전을 사용 중인 것입니다. 업데이트(Update) 버튼이 보인다면 눌러서 업데이트를 진행하세요.
  3. 업데이트 후 기기를 재시작합니다.

수동 업데이트가 정상적으로 완료되지 않는 경우(안드로이드 10과 11에서 종종 발생)에는 구글 플레이 스토어의 저장 공간을 삭제하면 도움이 됩니다.

설정 > 앱 및 알림 > Google Play 스토어 > 저장공간 및 캐시 > 저장공간 삭제 경로로 이동하면 됩니다. 기기 제조사나 모델에 따라 메뉴 명칭은 조금씩 다를 수 있습니다. 저장공간을 삭제한 뒤에는 위의 단계를 다시 따라 웹뷰를 수동으로 업데이트하세요.

또한 최신 버전의 브라우저를 사용 중인지 확인하기 위해 구글 크롬도 함께 업데이트하는 것이 좋습니다.

이 방법으로도 문제가 해결되지 않는다면 다음 방법을 시도해 보세요.

2. 웹뷰 및 크롬 업데이트 제거

웹뷰 업데이트를 제거하는 것도 문제 해결에 도움이 될 수 있습니다. 시스템 웹뷰 또는 크롬을 방금 업데이트했는데 그 직후 여러 앱이 충돌하기 시작했다면, 업데이트를 제거하는 것이 효과적입니다.

  1. 플레이 스토어에서 '안드로이드 시스템 웹뷰' 앱 페이지로 이동합니다.
  2. 삭제(Uninstall) 버튼을 눌러 웹뷰 업데이트를 제거합니다.
  3. 기기를 재시작합니다.

구글 크롬도 같은 방법으로 업데이트를 제거해 주세요.

참고: 구글은 일부 앱의 데이터 손실이 발생할 수 있다는 이유로 웹뷰 업데이트 제거를 권장하지 않습니다. 하지만 앱 충돌이 심각한 상황이라면 이 방법이 유일한 해결책일 수 있습니다.

안드로이드 앱 충돌 문제 해결하기

모든 소프트웨어에는 어느 정도 버그가 존재하기 마련입니다. 안드로이드에서도 앱을 실행하자마자 강제 종료되는 경험을 할 수 있는데요. 이럴 때는 먼저 안드로이드 시스템 웹뷰와 구글 크롬을 업데이트하고, 문제가 계속된다면 웹뷰 또는 크롬의 업데이트를 제거해 보세요.

앱 충돌은 안드로이드 사용자가 겪을 수 있는 여러 문제 중에서도 비교적 쉽게 해결할 수 있는 편입니다.