Android System Webview: что это за программа. Android System WebView что это за программа

Как показывает практика, многие пользователи Android часто сталкиваются с таким явлением, как Android System Webview. Одни видели это название в списках запущенных приложений, другие же получали уведомление с таким наименованием.

В связи с этим и возникают вопросы: что это за приложение или процесс, почему оно просит обновиться, как удалить или остановить и многие другие. И если вы читаете эту статью, значит вам тоже интересно более подробно узнать о нем. Что же, мы расскажем все в мельчайших деталях.

Android System Webview — служба операционной системы Андроид, которая предустановленна в ней по умолчанию. Она необходима для просмотра страниц в интернете без запуска браузеров. Используется для отображения содержимого сайта внутри приложений. Например, вы загрузили программу с новостями. Все эти новости подгружаются с оригинальных сайтов, однако отображаются не в браузере, а внутри этого самого приложения. Так вот, чтобы такой принцип действия был возможен, и предназначена служба Android System Webview.

Это приложение впервые было установлено в Android 4.2.2 и выше, то есть, в более ранних версиях его не было. Также в сервисе Google Play оно распространяется отдельно и постоянно обновляется, поэтому, если у вас его нет на смартфоне, можно скачать из этого сервиса самую новую версию.

Вообще многие разработчики рекомендуют использовать это приложение только в том случае, если у вас версия Андроид 5.0 и выше, так как оно требует определенное количество ресурсов, тем самым, нагружая лишними процессами ваше устройство. Также поддержка для версий ниже 5.0 прекращена давно, однако многие хакеры используют найденные уязвимости через это приложение, чтобы взламывать смартфоны пользователей.

Какие приложения используют Android System Webview

Некоторые стандартные программы, которые установлены в вашем смартфоне, по умолчанию используют эту службу, чтобы отображать содержимое, например, ICQ Messenger, Google Play Пресса, Puffin Browser и многие другие, поэтому в целом можно сказать, что это неотъемлемая часть в Android, которая необходима для корректного отображения данных в вашем смартфоне.

Но все зависит от версии операционной системы, которая используется в вашем гаджете. Дело в том, что начиная с Android 7 Nougat, Android System Webview больше не используется и по умолчанию отключено. Все опции, которые оно выполняло ранее, теперь дублируются в Google Chrome, собственном браузере от Google. Также часть операций могут и вовсе выполняться через приложения разработчиков, минуя лишние процессы.

Как удалить приложение Android System Webview

Если у вас Android ниже седьмой версии, мы вам категорически не рекомендуем удалять это приложение со своего смартфона, иначе возможны многочисленные сбои в работе, причем о масштабах последствий можно лишь догадываться. Как правило, у вас перестанут работать все службы, связанные с погодой, социальными сетями, часть браузеров. Это один момент.

Второй момент — даже если у вас будет версия выше Андроид 7, необходимо наличие root-прав. Если вы уверены, что оно вам не нужно, удалить можно следующим способом:

Если вы решите заново активировать данную службу, это можно сделать, зайдя в Google Play и скачав его.

Как активировать Android System Webview в Android 7.0 и выше

Как мы уже упоминали ранее, по умолчанию в этой версии используется отдельный механизм от Google Chrome, но если вам нужно включить стандартную службу Android, а именно, Android System Webview, вы можете воспользоваться одним из перечисленных способов.

Первый вариант

  1. Зайдите во вкладку «Приложения», найдите там Google Chrome и отключите его;
  2. Теперь зайдите в Google Play и скачайте приложение ASW;
  3. Вам необходимо запустить любой процесс, который требует наличие этого приложения, например, погода;
  4. Заходите в приложение с погодой и служба Android System Webview запустится автоматически;
  5. Можете проверить, что оно активировано, зайдя еще раз в «Приложения». Даже если ранее ASW не было в списке, оно появится.

Второй вариант

Сразу уточним, что данный вариант немного посложнее, причем иной раз с ним возникают проблемы. Прибегайте к нему только в том случае, если не получилось выполнить действия с первым вариантом.

  1. Зайдите в «Настройки», выберите пункт «О телефоне» и нажмите на пункт «Номер сборки»;
  2. Жмите несколько раз, пока не появится уведомление о том, что вы стали разработчиком. Это значит, что вы активировали режим разработчика;
  3. Теперь зайдите в пункт «Для разработчиков» и найдите там вкладку «Сервис Webview»;
  4. В этом пункте вы сможете выбрать, каким же приложением обрабатывать открытие ссылок внутри приложений: через Google Chrome или Android System Webview.

Возможные проблемы и способы их решения

Иногда на устройстве могут появляться ошибки, которые связаны с этой службой. Мы описали самые известные из них, а также предоставили вам пути их решения.

В приложении произошла ошибка

Если у вас появилась такая надпись, нужно просто очистить данные. Для этого выполните следующие действия:

  1. Зайдите в «Настройки» своего смартфона и в списке найдите Android System Webview (или ASW);
  2. Кликните по этому названию и нажмите сначала пункт «Очистить данные», а потом «Очистить кэш»;
  3. Также проверьте, чтобы у вас было свободное место в памяти телефона.

Необходимо обновить компонент

Это еще одна распространенная проблема, которая может возникать как сама по себе, так и при открытии определенных приложений, например, от Microsoft. Для ее устранения выполните действия:

  1. Зайдите в Google Play, найдите там ASW и обновите его;
  2. Если ошибка повторяется (в этом случае у вас 100% стоит Android 7 и выше), обновите еще и Google Chrome, и ошибка больше появляться не будет.

В случае, если ни один из описанных методов вам не помог, придется сделать полный сброс до заводских настроек. Только обязательно создайте бекап с данными, так как вся информация на устройстве будет удалена.

Изучая список приложений, которые установлены на вашем Android-телефоне, вы можете обнаружить приложение под названием Android System WebView. Очевидно, что данное приложение, является стандартным предустановленным приложением. Но, за что оно отвечает и можно ли его удалить? На эти вопросы мы постараемся ответить в данной статье.

Что такое Android System WebView

Android System WebView или ASWV – это компонент операционной системы Android, который работает на основе Chrome и отвечает за отображение веб-страниц в различных приложениях. Использование данного компонента позволяет приложением показывать пользователю содержание веб-страницы без ее открытия в стороннем приложении, например, без открытия веб-браузера Chrome.

Пример работы Android System WebView можно увидеть практически в любом Android-приложении, где пользователю предлагают ссылки на сторонние веб-сайты. Яркий пример использования данного компонента – это приложения социальных сетей. Когда вы просматриваете ленту новостей в таком приложении и кликаете по ссылке, то вас не перенаправляет в приложение веб-браузер, вместо этого появляется что-то вроде мини-браузера, который встроен в само приложение социальной сети. Используя этот мини-браузер, вы можете прочитать содержимое появившейся веб-страницы и даже перейти на другие страницы этого сайта, но как только вы нажмите на стрелку назад, вы мгновенно вернетесь к приложению социальной сети.

С точки зрения пользователя Android System WebView создает более комфортный опыт работы с приложением, ведь пользователю не нужно переключаться между разными приложениями, каждый раз, когда он нажимает на внешнюю ссылку. Вместо этого все страницы открываются в том же приложении, в котором пользователь сейчас работает, это позволяет быстро просмотреть страницу и вернуться к основному содержимому приложения. С точки зрения разработчика приложения Android System WebView позволяет удержать пользователя в приложении и способствует более продолжительной работе пользователя именно в данном приложении. Кроме этого, в некоторых случаях отмечается, что использование WebView позволяет экономить заряд батареи, так как полноценные браузеры (например, Chrome или Firefox) создают большую нагрузку на процессор смартфона и быстрее разряжают аккумулятор.

Android System WebView присутствует в операционной системе Android достаточно давно. Но, как отдельное приложение он появился только в версии Android 5.0 Lollipop. С тех пор Android System WebView можно найти в магазине приложений Google Play Market и в списке установленных приложений на Android-смартфоне. Выделение данного компонента в отдельное приложение позволило Google более быстро закрывать уязвимости, которые в нем обнаруживались. Ведь теперь данный компонент можно обновить как обычное приложение, не обновляя всю операционную систему в целом. Позже, в Android 7.0 Nougat, данное приложение снова исчезло с Android-смартфонов. В операционной системе Android Nougat и более новых версиях Android в качестве WebView используется непосредственно сам браузер Google Chrome.

На прошедшей встрече AndroidDevs Meetup выступили несколько разработчиков из команды мессенджера ICQ. Мой доклад был посвящен Android WebView. Для всех, кто не смог приехать на встречу, публикую здесь статью по мотивам выступления. Пойду по верхам, крупными штрихами. Глубоких технических деталей и много кода давать не буду. Если вас заинтересуют подробности, по ссылке в конце поста можно скачать приложение, специально написанное в качестве иллюстрации, и все увидеть на примерах.

Вопросы и ответы

Вопрос: Есть проект CrossWalk - это сторонняя реализация WebView, позволяющая на старых устройствах использовать свежий Chrome. У вас есть какой-то опыт, вы пробовали его встраивать?
Ответ: Я не пробовал. На текущий момент мы поддерживаем Android начиная с 14-й версии и уже не ориентируемся на старые устройства.

Вопрос: Как вы боретесь с артефактами, которые остаются при прорисовке WebView?
Ответ: Мы с ними не боремся, пробовали - не получилось. Это происходит не на всех устройствах. Решили, что это не настолько вопиющая проблема, чтобы тратить на нее больше ресурсов.

Вопрос: Иногда требуется WebView вложить в ScrollView. Это некрасиво, но иногда требуется по заданию. Это не поощряется, даже где-то запрещается, и после этого возникают недостатки в работе. Но все равно иногда это приходится делать. Например, если вы сверху рисуете WebView, а под ним рисуете какой-то нативный компонент (который должен быть нативным согласно требованию), и все это должно быть выполнено в виде единого ScrollView. То есть сначала пользователь посмотрел бы всю страничку, а потом, если бы захотел, то долистал бы до этих нативных компонентов.
Ответ: К сожалению, не могу вам ответить, потому что я не сталкивался с такой ситуацией. Она довольно специфическая, и представить себе вариант, когда нужно WebView положить в ScrollView, мне сложно.

Вопрос: Есть почтовое приложение. Там сверху шапка с получателями и со всем остальным. Даже в этом случае не все будет гладко. У WebView возникают большие проблемы, когда он пытается определить свой размер внутри ScrollView.
Ответ: Можно попробовать отрисовать означенную часть UI внутри WebView.

Вопрос: То есть полностью перенести всю логику из нативной части в WebView и оставить эти контейнеры?
Ответ: Даже, может быть, логику переносить не надо, имеется в виду инжектирование Java-классов. Логику можно оставить и вызывать через инжектированный класс. В WebView можно перенести только UI.

Вопрос: Вы упоминали про игры в мессенджере. Они представляют собой web-приложения?
Ответ: Да, это web-страницы с JavaScript внутри WebView.

Вопрос: Вы все это делаете, чтобы просто не переписывать игры нативно?
Ответ: И для этого тоже. Но основная идея в том, чтобы дать сторонним разработчикам возможность создавать приложения, которые могут встраиваться в ICQ, и с помощью этого ICQ Web API взаимодействовать с мессенджером.

Вопрос: То есть в эти игры можно играть также через web-браузер на лэптопе?
Ответ: Да. Она может быть открыта в web-браузере, и мы иногда их прямо в нем и отлаживаем.

Вопрос: А если Intent, допустим, в Chrome прокинуть эту игрушку, какие проблемы тогда будут? Если не свою WebView писать, а воспользоваться услугами?
Ответ: Проблема в том, что в своем WebView мы можем предоставить API через инжектирование Java-класса, и с помощью этого API приложение сможет напрямую взаимодействовать с ICQ, отправлять ему различные команды. Допустим, команду на получение имени пользователя, на получение чатов, которые у него открыты, отправлять сообщения в чат непосредственно из ICQ. То есть из Chrome отправлять сообщения непосредственно в ICQ не получится. В нашем случае все это возможно.

Вопрос: Вы упомянули, что режете данные на куски по одному мегабайту. Как вы их потом собираете?
Ответ: Мы сейчас этого не делаем, потому что у нас нет такой потребности.

Вопрос: Хватает одного мегабайта?
Ответ: Да. Если картинки больше, то пытаемся их ужимать. Я сказал о том, что если такая потребность существует, то это может быть решением - разрезать и собирать потом в Java.

Вопрос: Как вы обеспечиваете безопасность работы приложений в песочнице? Правильно ли я понял, что из JavaScript приложения нужно вызывать инжектированные Java-классы?
Ответ: Да.

Вопрос: Как будет обеспечиваться в этом случае безопасность, запрещен ли доступ к каким-то системным функциям?
Ответ: Прямо сейчас, так как система еще довольно молодая, у нас в основном используются наши собственные web-приложения, и мы им полностью доверяем. В дальнейшем все приложения, которые будут поступать к нам, будут администрироваться, код будет просматриваться, для этого выделена специальная Security Team. Дополнительно будет создана специальная система разрешений, без которых приложения не смогут получить доступ к какой-то критической для пользователя информации.

Теги:

  • android
  • webview
Добавить метки

Вопросы и ответы

Вопрос: Есть проект CrossWalk - это сторонняя реализация WebView, позволяющая на старых устройствах использовать свежий Chrome. У вас есть какой-то опыт, вы пробовали его встраивать?
Ответ: Я не пробовал. На текущий момент мы поддерживаем Android начиная с 14-й версии и уже не ориентируемся на старые устройства.

Вопрос: Как вы боретесь с артефактами, которые остаются при прорисовке WebView?
Ответ: Мы с ними не боремся, пробовали - не получилось. Это происходит не на всех устройствах. Решили, что это не настолько вопиющая проблема, чтобы тратить на нее больше ресурсов.

Вопрос: Иногда требуется WebView вложить в ScrollView. Это некрасиво, но иногда требуется по заданию. Это не поощряется, даже где-то запрещается, и после этого возникают недостатки в работе. Но все равно иногда это приходится делать. Например, если вы сверху рисуете WebView, а под ним рисуете какой-то нативный компонент (который должен быть нативным согласно требованию), и все это должно быть выполнено в виде единого ScrollView. То есть сначала пользователь посмотрел бы всю страничку, а потом, если бы захотел, то долистал бы до этих нативных компонентов.
Ответ: К сожалению, не могу вам ответить, потому что я не сталкивался с такой ситуацией. Она довольно специфическая, и представить себе вариант, когда нужно WebView положить в ScrollView, мне сложно.

Вопрос: Есть почтовое приложение. Там сверху шапка с получателями и со всем остальным. Даже в этом случае не все будет гладко. У WebView возникают большие проблемы, когда он пытается определить свой размер внутри ScrollView.
Ответ: Можно попробовать отрисовать означенную часть UI внутри WebView.

Вопрос: То есть полностью перенести всю логику из нативной части в WebView и оставить эти контейнеры?
Ответ: Даже, может быть, логику переносить не надо, имеется в виду инжектирование Java-классов. Логику можно оставить и вызывать через инжектированный класс. В WebView можно перенести только UI.

Вопрос: Вы упоминали про игры в мессенджере. Они представляют собой web-приложения?
Ответ: Да, это web-страницы с JavaScript внутри WebView.

Вопрос: Вы все это делаете, чтобы просто не переписывать игры нативно?
Ответ: И для этого тоже. Но основная идея в том, чтобы дать сторонним разработчикам возможность создавать приложения, которые могут встраиваться в ICQ, и с помощью этого ICQ Web API взаимодействовать с мессенджером.

Вопрос: То есть в эти игры можно играть также через web-браузер на лэптопе?
Ответ: Да. Она может быть открыта в web-браузере, и мы иногда их прямо в нем и отлаживаем.

Вопрос: А если Intent, допустим, в Chrome прокинуть эту игрушку, какие проблемы тогда будут? Если не свою WebView писать, а воспользоваться услугами?
Ответ: Проблема в том, что в своем WebView мы можем предоставить API через инжектирование Java-класса, и с помощью этого API приложение сможет напрямую взаимодействовать с ICQ, отправлять ему различные команды. Допустим, команду на получение имени пользователя, на получение чатов, которые у него открыты, отправлять сообщения в чат непосредственно из ICQ. То есть из Chrome отправлять сообщения непосредственно в ICQ не получится. В нашем случае все это возможно.

Вопрос: Вы упомянули, что режете данные на куски по одному мегабайту. Как вы их потом собираете?
Ответ: Мы сейчас этого не делаем, потому что у нас нет такой потребности.

Вопрос: Хватает одного мегабайта?
Ответ: Да. Если картинки больше, то пытаемся их ужимать. Я сказал о том, что если такая потребность существует, то это может быть решением - разрезать и собирать потом в Java.

Вопрос: Как вы обеспечиваете безопасность работы приложений в песочнице? Правильно ли я понял, что из JavaScript приложения нужно вызывать инжектированные Java-классы?
Ответ: Да.

Вопрос: Как будет обеспечиваться в этом случае безопасность, запрещен ли доступ к каким-то системным функциям?
Ответ: Прямо сейчас, так как система еще довольно молодая, у нас в основном используются наши собственные web-приложения, и мы им полностью доверяем. В дальнейшем все приложения, которые будут поступать к нам, будут администрироваться, код будет просматриваться, для этого выделена специальная Security Team. Дополнительно будет создана специальная система разрешений, без которых приложения не смогут получить доступ к какой-то критической для пользователя информации.

Вы можете помочь и перевести немного средств на развитие сайта



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!