Задний план
« Службы Google Play для мгновенных приложений » установились на мое устройство без моего разрешения. Это нарушило функциональность моего брандмауэра (AFWall и пара других приложений). И это обновляет себя и другие приложения / компоненты без разрешения. Когда я удаляю этот компонент, он снова загружается и устанавливается обратно. (То есть, скорее всего, это "сервисы Google Play", которые на самом деле делают это в фоновом режиме)
Нет никаких подтверждений и уведомлений о загрузке, обновлении или установке. Я обнаружил это, заметив, что некоторые функции моих приложений были изменены / повреждены. Поэтому я использовал приложение («Системная информация для Android»), и оно показывает, что на самом деле этот «Сервис Google Play для мгновенных приложений» был установлен день назад.
Мой вопрос: как полностью отключить несанкционированные обновления устройства Android, сохраняя при этом следующие функциональные возможности:
- Синхронизация контактов
- Google Play магазин
- Приложение Google Maps
На этих снимках экрана видно, что все настройки, отвечающие за автоматическое обновление, отключены. Поэтому эта загрузка и установка явно не авторизованы и не должны происходить. Снимок экрана настройки мгновенных приложений отображается после того, как объект уже установлен. Оставив только глобальные настройки из Google Play Store.
Настройки ›Приложения // Настройки› Google ›Мгновенные приложения (отключено!) // Настройки Play Store (Автообновление отключено!)
Все началось после того, как я последовал вводящему в заблуждение предложению , которое вы можете увидеть на этом снимке экрана, чтобы обновить «Сервисы Google Play»:
нажмите на изображение, чтобы увеличить
Обновление 1:
До сих пор я обнаружил, что что- то (скорее всего, «Сервисы Google Play») запрашивает загрузку + установку. Для этого нужно разместить запрос в Google Download Manager. Непонятно, что вызывает это, но если внимательно следить за устройством, значок из диспетчера загрузки появляется в уведомлении, указывающем процент загрузки. Однако по завершении он мгновенно исчезает. Тем не менее, ничего не указывает на установку.
Что я пробовал до сих пор:
- Установите следующие как на уровне пользователя , а не приложений системного уровня , что они изначально: Google Account, Г.П. магазин и служба Framework (
com.google.android.gms
;com.android.vending
;com.google.android.gsf
) Это не сработало. Загрузка по-прежнему запрашивается и впоследствии устанавливается. - Кажется, любой способ блокировки установки заставит ее загружаться снова и снова (до тех пор, пока ваши данные не будут израсходованы). Поэтому, скорее всего, лучшим подходом было бы в первую очередь предотвратить загрузку. Я не смог установить Download Manager как пользовательское приложение, которое, похоже, требует контроля.
- Блокировка Download Manager и / или Play Store через брандмауэр возможна, но это нарушает единственный надежный способ загрузки приложений.
Обновление 2:
Переход на предыдущую версию GP Services (v11.3.02) работал в течение нескольких дней, но сегодня службы GP для Instant Apps были загружены и установлены. Таким образом, не имеет значения, какую версию вы используете. Скорее всего, Google обновит все телефоны таким образом, независимо.
Обновление 3:
Так что теперь Google обновляет себя на регулярной основе, когда захочет. Если я транслирую фильм, снижаю скорость, использую пропускную способность интернета, за которую я плачу деньги за МБ. На этом изображении вы можете видеть, что 3 приложения Google были обновлены без разрешения.
Ответы:
Обновление : в последних версиях Android вы можете сделать это из Settings-> Google-> Instant Apps-> OFF.
В лучшем случае этого должно быть достаточно, чтобы заблокировать Instant Apps от автоматического обновления.
Запустите на устройстве через терминал (connectbot, juicessh и т. Д.).
Или, если вы работаете через adb на ПК, подключенном через кабель (или через wifi adb), используйте:
В отличие
pm disable
pm hide
также работает на некорневых устройствах. До сих пор я не видел больше уведомлений о мгновенных приложениях.Если вышеупомянутое не работает для вас, тогда другой подход будет модифицировать контекст SELinux файла / папки (например, с помощью
chcon
).Чтобы отменить указанную
pm hide
выше команду, используйте:источник
com.google.android.instantapps.supervisor
приложение, которое выполняет мониторинг, вы не упомянули? Или это какой-то конкретный сервис от сервисов Google Play? Если это второй, то я думаю, рецепт не завершен. Я также запретил пакету запускаться в фоновом режиме и запускаться при загрузке.Как следует из названия, это часть приложений служб Google. PlayStore использует его для запуска приложений без их установки (новый сервис). Можно отключить, но не удалить (насколько я знаю, он будет продолжать устанавливать его самостоятельно, как часть основных служб).
Для отключения перейдите в « Настройки» ›Google› Instant Apps и переключите тумблер ( Справочник ).
Я верю, что это будет системное приложение на новых устройствах по мере их выхода, для остальных из нас со старыми устройствами они просто принудительно установятся на совместимые устройства.
Изменить: В связи с тем, что вопрос был изменен после того, как я ответил. Этот ответ не распространяется ни на одно рутованное устройство. С рутированным устройством это может быть возможно, но я не могу придумать решение, которое будет простым или постоянным.
источник
About: [Root Only] Это решение включает блокировку доступа для записи к папке temp (cache), куда Google загружает свои системные приложения, такие как Google Play Services, Google Play для Instant Apps и т. Д. Это проще, чем кажется, потому что я Объясняя все, это выглядит много. После этого установка новых приложений, по сути, делается в три этапа, и процесс аналогичен установке программ на ПК.
Справочная информация: в моей системе папки работают следующим образом:
1)
/data/data/com.android.providers.downloads/cache
* Это папка, в которую устанавливаются системные обновления Google (а также новые системные приложения).
* К сожалению, эта папка также используется для загрузки обычных новых приложений. Таким образом, вы не можете просто заблокировать это навсегда. Вы должны иметь возможность блокировать / разблокировать его при загрузке новых приложений.
2)
/mnt/sdcard/Android/data/com.android.vending/files
* Эта папка используется для нормального обновления (не для приложений Google). Поэтому нет необходимости блокировать это или делать что-то особенное, когда дело доходит до обновления ваших обычных приложений, таких как Facebook, игры и т. Д.
Решение. Приведенная выше папка кэша остается заблокированной во время нормальной работы. Когда вы хотите установить новое приложение, общий процесс выглядит следующим образом (хотя в основном это автоматизировано): (1) разблокировать папку кеша (2) заблокировать папки приложения, если оно пробралось, пока оно разблокировано, и установило его. (3) Загрузите ваше новое приложение из магазина (4) Скопируйте загруженную программу из установочной папки в другое место и переименуйте ее с именем по умолчанию (download.apk) (5) Очистите и заблокируйте папку кэша (6) разблокируйте папки приложений ( 7) Нажмите на файл apk, чтобы установить его.
Очевидно, что вы не хотите вводить это каждый раз в терминале, так что это автоматизированные шаги. Они включают использование двух дополнительных приложений, а также установку BusyBox (чтобы можно было использовать команду chattr в сценариях)
Блокировка разблокировки достигается с помощью приложения под названием Gscript. Вы можете использовать любое другое приложение, которое выполняет выполнение сценариев. В магазине Google есть версия, но она падает для меня и других людей. Здесь есть стабильная ветвь: https://bitbucket.org/Equidamoid/gscript (спасибо посту автора здесь: /programming//a/20328927/7609435 ) Просто вставьте туда эти два скрипта. (Оба нуждаются в SU)
A) Выполнить перед загрузкой - Блокировать приложения / Разблокировать кэш
chattr +i /data/data/* chattr +i /data/data chattr +i /data/app/* chattr +i /data/app chattr -i /data/data/com.android.providers.downloads/cache
Б) Выполнить после завершения загрузки и после копирования файла - очистить и заблокировать кэш / разблокировать приложения
rm /data/data/com.android.providers.downloads/cache/* chattr +i /data/data/com.android.providers.downloads/cache chattr -i /data/data/* chattr -i /data/data chattr -i /data/app/* chattr -i /data/app
Вы узнаете, что приложение загружено, когда в Play Store появится сообщение «загрузка не удалась». Он скажет это, потому что не смог установить apk, но на самом деле загрузка прошла успешно, и он находится внутри папки кэша . Прежде чем запускать скрипт (B) выше, вы должны переместить файл из папки кэша в другое место. Конечно, вы можете сделать это с помощью любого приложения, но мне нравится использовать Total Commander, потому что он может иметь две панели и поддерживать закладки (я добавил кеш ). Поэтому переместите его и переименуйте файл с именем по умолчанию на другое, а затем запустите (B) скрипт выше. Также обратите внимание, что при копировании APK у него должен быть значок приложения. Если он имеет значок по умолчанию, возможно, он поврежден при загрузке по другим причинам, поэтому вы можете попробовать загрузить его снова.
Теперь папка кеша очищена и заблокирована, а папки приложений разблокированы. (Вы можете дважды проверить, что папка кэша пуста, чтобы быть уверенным на 100%, но я сомневаюсь, что это необходимо) Теперь вы можете установить скачанный APK.
Примечание 1: Если вы щелкнете по новой загрузке и увидите «в ожидании», просто (принудительно) закройте Google Play и перезапустите его, загрузка должна начаться автоматически.
Примечание 2: Я проверил это только с Android: 6.0.1 / MIUI: 8.5.3.0, поэтому это решение может быть не универсальным. Проверьте, есть ли у вас папка кэша и загружается ли там загрузка Служб Google Play (после завершения загрузки она остается там некоторое время).
ПРЕДУПРЕЖДЕНИЕ. Хорошо держать папку кеша заблокированной, но если вам случится перезагрузить телефон, когда эти папки с данными заблокированы, ваш телефон не загрузится. И вам нужно будет перейти вручную и изменить его из оболочки TWRP.
PS Я понимаю, что это решение предназначено не для всех, но если ваша главная задача - стабильность и контроль использования данных, это работает ... пока. Надеюсь, кто-то придумает лучший ответ, чем этот.
источник