Что такое com android vending. Произошла неожиданная остановка приложения маркет

Это были только цветочки…

Я решил просканировать гаджет на вирусы, но для этого нужно было скачать из Плей Маркета специальную утилиту. Но при попытке войти в Play Market всплывала уже другая ошибка. Очевидно, что «баг» непростой и влечет за собой кучу других неприятностей. В чем же причина сбоев? Ведь я ничего не устанавливал, в настройки не вносил изменения, просто смотрел ролики на Youtube.

Как оказалось, если в системном компоненте com android vending произошла ошибка, значит нарушена целостность службы «Сервисы Google», которая контролирует большинство встроенных приложений Андроид. Конкретно «vending» отвечает за автоматическое обновление приложений, их скачивание, инсталляцию. И в момент появления уведомления система как раз-таки пытается выполнить одно из перечисленных действий, но что-то идет не так.

Что такое ошибка com.android.vending

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

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

Эта ошибка не позволит скачивать или устанавливать приложения, а то и вовсе не даст запустить Play Market в дальнейшем. Существуют также и другие её формулировки, такие, как «Неожиданная остановка процесса com.android.vending» или «Процесс com.android.vending завершён». Однако вне зависимости от формулировки означают они примерно одно и то же и имеют одинаковую причину появления.

Вероятные причины возникновения сбоя:

  • вы давно не обновляли систему. Следите за обновлением прошивки вашего Android и всегда старайтесь устанавливать актуальные обновления. В новых версиях эта ошибка возникает гораздо реже, чем в старых. Следите за обновлением Play Market и других сервисов от Google;
  • неверно выставленное время или дата на устройстве. Настройте свой телефон так, чтобы он автоматически сверял время и дату. От этого зависит работоспособность многих ПО;
  • повреждённые файлы на карте памяти или в памяти устройства — «битые» файлы сами по себе могут привести к новым проблемам;
  • нехватка памяти на телефоне. Следите, какой объём памяти доступен на вашем устройстве;
  • конфликтующие приложения. Вы можете попробовать выключить антивирусное ПО или другие установленные программы, которые могут блокировать сервисам Google доступ в сеть.

Причины сбоя

Возникает дефект в следующих случаях – когда:

  • Была отключена автоматическая загрузка апдейтов в настройках Плей Маркета;
  • Указана некорректная дата и время, или же отключена синхронизация с сетью;
  • Некоторые новые программы вступают в конфликт с системой. Это могут быть как безопасные приложения, так и вредоносный софт;
  • В ОС Андроид повредились важные компоненты в результате аварийного отключения и прочих сбоев. К слову, моя ТВ-приставка запитывается напрямую от телевизора через USB, и я мог случайно выключить его, предварительно не завершив работу TV гаджета. Скорее всего, это и стало решающим фактором;
  • Заканчивается свободное место на «диске», из-за чего программное обеспечение испытывает «дискомфорт» в процессе работы.

Часть 3: Валидация покупок и подписок на сервере

Это самая интересная часть, над которой я бился дольше всего. Все примеры будут на java, для которой Google предоставляет готовую библиотеку для работы со своими сервисами.

Библиотеки и для других языков можно поискать здесь. Документация по Google Publisher API находится тут, в контексте текущей задачи нас интересуют Purchases.products и Purchases.subscriptions.

По сути, главная проблема, с которой я столкнулся, это описание способа авторизации. Даже по самому описанию он выглядит как пятая нога у коня, но проблема не в том, что он не работает, а в том, что он в корне не верный для нашей задачи. Просьба к знатокам не кидаться в меня камнями: OAuth предназначен для работы с ресурсами клиента, в нашем же случае backend-сервис обращается за данными биллинга нашего собственного приложения.

И вот тут нам на помощь приходит IAM (Identy Access Management). Нам нужно создать проект в Google Cloud Console и зайти во вкладку Credentials

, выбрать
Create credentials → Service account key
.

Заполните данные так, как показано на картинке:

Service account: New service account Service account name: имя на выбор Role: не выбирайте, она сейчас не нужна Key type: JSON

Нажимаете Create
. Вылезет окошко с предупреждением
Service account has no role
. Соглашается, выбираем
CREATE WITHOUT ROLE
. Вам автоматически загрузится JSON-файл с данными для авторизации аккаунта. Сохраните этот файл — в будущем он понадобится для того, чтобы авторизоваться на Google-сервисах.

Пример файла

{ «type»: «service_account», «project_id»: «project-name», «private_key_id»: «1234567890abcdef1234567890abcdef», «private_key»: «——BEGIN PRIVATE KEY——\XXXXX…..XXXXX\n——END PRIVATE KEY——\n», «client_email»: «[email protected]», «client_id»: «12345678901234567890», «auth_uri»: «https://accounts.google.com/o/oauth2/auth», «token_uri»: «https://accounts.google.com/o/oauth2/token», «auth_provider_x509_cert_url»: «https://www.googleapis.com/oauth2/v1/certs», «client_x509_cert_url»: «https://www.googleapis.com/robot/v1/metadata/x509/myaccount%40project-name.iam.gserviceaccount.com» }
Теперь возвращаемся на вкладку Credentials
нашего проекта и видим внизу список
Service account keys
. Справа кнопка
Manage service accounts
— нажимаем на нее и видим:

[email protected]

— это и есть id нашего аккаунта. Копируем его и идем в
Google Play Developer Console → Settings → User Accounts & Rights
и выбираем
Invite new user
.

Заполняем данные.

Вставляем id аккаунта в поле Email

, добавляем наше прилождение и ставим галочку напротив
View financial reports
.

Нажимаем Send Invitation. Теперь мы можем использовать наш JSON-файл для авторизации и Google API и доступа к данным покупок и подписок нашего приложения.

Следующий шаг — нужно активировать Google Play Developer API

для нашего проекта. Идем в
Google Developer Console → Library
и ищем
Google Play Developer API
. Открываем его и нажимаем
Enable
.

Последний шаг настройки — идем в Google Play Developer Console → Settings → API Access

.

В списке находим наш проект (на картинке выше это Google Play Android Developer, но там должно быть имя вашего проекта) и нажимаем Link

.

Теперь перейдем к разработке серверной части

Как вы будете хранить JSON-файл с приватными данными IAM-аккаунта оставим на ваше усмотрение. Импортируйте Google Play Developer API в ваш проект (mavencentral) и реализуем проверку.

Данные о покупке нужно отправить с нашего приложения на сервер. Сама реализация проверки на сервере выглядит вот так:

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.androidpublisher.AndroidPublisher; import com.google.api.services.androidpublisher.AndroidPublisherScopes; import com.google.api.services.androidpublisher.model.ProductPurchase; import com.google.api.services.androidpublisher.model.SubscriptionPurchase; import java… public class GooglePlayService { private final Map androidPublishers = new HashMap<>(); private String readCredentialsJson(String packageName) { // здесь надо прочитать данные из JSON-файла и вернуть их … } private AndroidPublisher getPublisher(String packageName) throws Exception { if (!androidPublishers.containsKey(packageName)) { String credentialsJson = readCredentialsJson(packageName); InputStream inputStream = new ByteArrayInputStream( credentialsJson.getBytes(StandardCharsets.UTF_8)); HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport(); GoogleCredential credential = GoogleCredential.fromStream(inputStream) .createScoped(Collections.singleton( AndroidPublisherScopes.ANDROIDPUBLISHER)); AndroidPublisher.Builder builder = new AndroidPublisher.Builder( transport, JacksonFactory.getDefaultInstance(), credential); AndroidPublisher androidPublisher = builder.build(); androidPublishers.put(packageName, androidPublisher); } return androidPublishers.get(packageName); } public ProductPurchase getPurchase(String packageName, String productId, String token) throws Exception { AndroidPublisher publisher = getPublisher(packageName); AndroidPublisher.Purchases.Products.Get get = publisher .purchases().products().get(packageName, productId, token); return get.execute(); } public SubscriptionPurchase getSubscription(String packageName, String productId, String token) throws Exception { AndroidPublisher publisher = getPublisher(packageName); AndroidPublisher.Purchases.Subscriptions.Get get = publisher .purchases().subscriptions().get(packageName, productId, token); return get.execute(); } } Таким образом мы получаем возможность получить данные о нашей покупке непосредственно от Google, потому пропадает необходимость в проверке подписи. Более того, для подписок вы можете получить намного больше информации, чем непосредственно через IInAppBilligService в мобильном приложении.

В качестве параметров запроса нам нужны:

  • packageName — имя пакета приложения (com.example.myapp)
  • productId — идентификатор продукта (com.example.myapp_testing_inapp1)
  • token — уникальный токен покупки, который вы получили в мобльном приложении: String purchaseToken = jsonObject.getString(«purchaseToken»);

Детали по ProductPurchase и SubscriptionPurchase описаны в документации, не будем на них останавливаться.

Com android vending – что это?

Случается, что система выдает вам сообщение «неожиданная остановка процесса com.android.vending». Решить проблему можно самостоятельно, но для этого вам понадобятся:

  • Root-права. Рут-права – права «суперпользователя», с помощью которых можно вносить изменения в системные файлы и папки. Именно это нам и предстоит сделать в дальнейшем. Получить эти права можно следуя. Для каждой модели телефонов и планшетов получение прав варьируется, поэтому заострять внимание на этом мы не будем.
  • Root Explorer. Это специальный файловый менеджер, предназначенный для владельцев рут-прав. В целом, интерфейс довольно понятен и очень похож на обычный диспетчер файлов. Root Explorer очень облегчает процессы копирования, перемещения или удаления системных папок и файлов.

Com android vending – что это?

Случается, что система выдает вам сообщение «неожиданная остановка процесса com.android.vending». Решить проблему можно самостоятельно, но для этого вам понадобятся:

  • Root-права. Рут-права – права «суперпользователя», с помощью которых можно вносить изменения в системные файлы и папки. Именно это нам и предстоит сделать в дальнейшем. Получить эти права можно следуя . Для каждой модели телефонов и планшетов получение прав варьируется, поэтому заострять внимание на этом мы не будем.
  • Root Explorer. Это специальный файловый менеджер, предназначенный для владельцев рут-прав. В целом, интерфейс довольно понятен и очень похож на обычный диспетчер файлов. Root Explorer очень облегчает процессы копирования, перемещения или удаления системных папок и файлов.

Причины возникновения ошибки com.android.vending

Появление ошибки com.android.vending связано со сбоями в работе Play Market. Как правило, эта ошибка возникает на китайских смартфонах, которые не предусматривают предустановку Play Market и рассчитаны на использование альтернативных сервисов. Дело в том, что Китай не попадает под обслуживание сервисов Google. Придётся немного изменить расширения системных папок, чтобы восстановить нормальную работоспособность устройства.

Также вышеназванная ошибка может формулироваться как «Неожиданная остановка процесса com.android.vending», «Процесс com.android.vending был остановлен», «Ошибка процесса com.android.vending», «Приложение com.android.vending неожиданно остановлено» — в зависимости от производителя и марки телефона.

Итоги

Обладая смартфоном или планшетом на базе Android, следует быть готовым к тому, что он может выдавать разные ошибки. Однако не нужно сразу нести свой гаджет в сервисный центр. Большая часть проблем решается даже без использования root-прав. Если возникнет такая потребность, нужно помнить о создании резервной копии.

Ошибка com.android — как исправить? Система Андроид примечательна своей простотой, функциональностью и устанавливается на преимущественное количество . К сожалению, в ней бывают определённые сбои и недоработки, которые иногда проявляют себя сообщением о том, что произошла ошибка в том или ином процессе.

В большинстве случаев сбои в работе проявляются в случае неправильных настроек системы или вредоносных файлов

Давайте узнаем, что делать, если на вашем телефоне или другом устройстве постоянно появляются такие ошибки, как vending, android phone, чем они отличаются между собой и как их устранить.

Ошибка com.android.phone происходит из-за неполадок в той части обеспечения, которая отвечает за звонки на вашем телефоне. Исправить её можно следующим образом:

Если вам не помог ни один из вышеприведённых способов по устранению com.android.phone, остаётся только выполнить возврат к заводским установкам, но при этом вы потеряете все приложения, которые сейчас есть на телефоне. Клавиша сброса и возврата к находится в том же меню настроек, вкладка «Восстановление и сброс».

Единственный способ сохранить данные — выполнить бэкап системы. Есть много способов выполнения этой процедуры, мы рассмотрим самый простой — при помощи приложения Titanium Backup. Итак, скачайте и установите её на своём устройстве, затем выполните такие действия:

Так вы сможете не только вернуть своё оборудование к заводским установкам, но и затем восстановить все данные, которые присутствовали в системе ранее.

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

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

Framaroot не работает

Существует вероятность, что ваше устройство не поддерживает приложение Framaroot. Можно попробовать альтернативные программы, но это повысит риск уронить систему.

Невозможно загрузить Total Commander из Play Market

Если при установке возникает ошибка, то скачать проводник придётся из интернета. При помощи браузера и поиска Google скачать программу лучше через проверенные источники, так как есть риск получения вируса.

Ошибка com.android.vending возникает крайне редко, но столкнувшиеся с ней пользователи нуждаются в обязательном её исправлении, чтобы иметь возможность использовать Play Market и некоторые сервисы Google . Для этого всего лишь нужны root-права, root-проводник и немного терпения.

Если у вас возникли проблемы со скачиванием приложений из Play Market, то ваше устройство на базе Android может вывести ошибку com.android.vending. Попробуем разобраться в причинах появления и способах решения этой проблемы.

Что делать – как исправить ошибку?

Допустим, что с параметрами даты/времени всё в порядке, встроенной памяти предостаточно, но сообщение «com android vending» продолжает донимать нас каждые десять секунд. Значит пора перейти к инструкции.

  • Самым верным вариантом является включение «Автообновления» в настройках магазина Google. Но туда еще попасть нужно, а меня просто выбрасывает из маркета. Значит нужно открыть список приложений, найти в нем Play Market, и затем в окне сведений проделать в строгой очередности следующие манипуляции – очистка кеша, остановка процесса и удаление обновлений:

После этого обязательно перезапускаем устройство и пробуем войти в Гугл для активации автоматического обновления.

  • Если предыдущее решение не помогло, то стоит переустновить утилиту, скачав её с проверенного ресурса. Рекомендую Trashbox – вот ссылка на страницу со всеми версиями, описанием и отзывами.
  • На мобильных форумах рекомендуют также поискать в сети инсталлятор компонента com.android.vending.apk для выполнения переустановки. Но не так просто это делается, ведь для подобных вмешательств в систему требуется доступ Root и специальный файловый менеджер, позволяющий редактировать системные элементы. Я бы не рекомендовал этот вариант.
  • А вот метод, который помог мне: я зашел в настройки Андроид, затем перешел в список приложений (если у Вас несколько вкладок, то переходим на «Все») и находим com android vending, который вызывает ошибку. В сведениях проделываем пошагово действия, подобные тем, о которых я рассказывал выше (на примере PM):

После этого система снова заработала корректно. Но каждая ситуация индивидуальна, и если моя статья не помогла решить проблему, то обязательно сообщите мне в комментариях. Я буду искать иные варианты.

С уважением, Виктор!

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

Рейтинг
( 2 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]