Служби Google Play для миттєвих програм завантажують / встановлюють без дозволу, завантажують / оновлюють інші компоненти, як відключити?


28

Фон

" Сервіси Google Play для миттєвих програм " встановилися на мій пристрій без мого дозволу. Це порушило функціональність мого брандмауера (AFWall та декілька інших додатків). І це оновлення себе та інших програм / компонентів без дозволу. Коли я видаляю цей компонент, він завантажується знову і встановлюється прямо назад. (Тобто це, швидше за все, саме "Служби Google Play", які насправді роблять це у фоновому режимі)

Немає підтверджень і жодних сповіщень про завантаження, оновлення чи встановлення нічого. Я виявив це, помітивши, що деякі функції моїх програм були змінені / порушені. Тому я використав додаток ("Інформація про систему для Android"), і це показує, що насправді цей "Служби Google Play для миттєвих додатків" було встановлено день тому.

Моє запитання: як я повністю відключую несанкціоновані оновлення пристрою Android, зберігаючи наступну функціональність:

  • Синхронізація контактів
  • Google Play Store
  • Додаток Google Maps

На цих знімках екрана ви бачите, що всі налаштування, що відповідають за автоматичне оновлення, вимкнено. Тому завантаження та встановлення явно несанкціоновано, і не повинно відбуватися. Знімок екрана налаштування Миттєвих програм з’являється після того, як річ уже встановлена. Залишаючи лише глобальне налаштування від Google Play Store.

введіть тут опис зображення
Налаштування ›Програми // Налаштування› Google ›Миттєві програми (вимкнено!) // Налаштування магазину Play (Автоматичне оновлення вимкнено!)

Все почалося після того, як я дотримувався оманливої ​​пропозиції , яку ви можете побачити на цьому знімку екрана, щоб оновити "Служби Google Play":

введіть тут опис зображення
натисніть на зображення, щоб збільшити його


Оновлення 1:

Я виявив, що щось (швидше за все, "Служби Google Play") вимагає завантажити + встановити. Як це зробити, це розмістити запит у Менеджері завантажень Google. Неясна , що викликає його, але якщо уважно стежити за пристроєм значок з Download Manager робить відображатися в повідомленні з зазначенням завантаження в відсотках. Однак по завершенні він миттєво зникає. Все-таки нічого не свідчить про встановлення.

Що я намагався поки що:

  1. Встановіть наступні як на рівні користувача , а не додатків системного рівня , що вони спочатку: Google Account, Г.П. магазин і служба Framework ( com.google.android.gms; com.android.vending; com.google.android.gsf) Це не спрацювало. Завантаження все ще запитується та згодом встановлюється.
  2. Здається, будь-який спосіб блокування встановлення змусить її завантажуватись знову і знову (поки ваші дані не будуть використані). Тому, швидше за все, найкращим підходом було б запобігти завантаженню в першу чергу. Мені не вдалося встановити Менеджер завантажень як користувацький додаток, що здається частиною, яку потрібно контролювати.
  3. Можливе блокування диспетчера завантажень та / або магазину Play через брандмауер, але це руйнує єдиний надійний спосіб завантаження програм.

Оновлення 2:

Перехід до попередньої версії GP Services (v11.3.02) працював кілька днів, але сьогодні послуги GP для Instant Apps були завантажені та встановлені. Отже, неважливо, яку версію ви використовуєте. Швидше за все, Google оновлює всі телефони таким чином незалежно.

Оновлення 3:

Тож зараз Google оновлюється на регулярній основі майже всякий раз, коли відчуває себе. Якщо я трансляю фільм, калічуючи свою швидкість, використовуючи пропускну здатність в Інтернеті, за яку я плачу гроші за МБ. На цьому зображенні ви бачите, що 3 додатки Google були оновлені без дозволу.

введіть тут опис зображення


1
Привіт @Firelord Просто для того, щоб було зрозуміло, я кажу про "сервіси Google Play для миттєвих програм", а не про стандартні "сервіси Google Play". Остання є нещодавньою розробкою і поводиться як зловмисне програмне забезпечення (хоча це офіційний додаток Google). Я б не надто детально розглядав функції додатків, які він зламав, головним чином, тому що це, ймовірно, буде залежати від пристрою / ПЗУ (я використовую стандартний ПЗУ і він вкорінений, але заради питання, який я хотів би знайти «нормальне» не вкорінене рішення). AFWall він зламався таким чином, що він з перервами дає помилку "Не вдалося застосувати правила".
Еміль

1
@Izzy дякую за зміни, робить це зрозумілішим.
Еміль

1
Радий читати, Еміле! І так, протестуйте ще трохи. Коли немає побічних ефектів, спробуйте відповісти на власне запитання :)
Izzy


3
Привіт @frans, річ у тому, що це не лише пропускна здатність / витрати. Також я намагаюся запобігти небажаному встановленню програмного забезпечення. Крім того, я завантажую програми та оновлення через Інтернет в Інтернеті, оскільки в даний час у мене немає доступу до WiFi. І інша річ, що цей оновник "слухає" зміни стану, тому якщо ви переключитесь на WiFi, він надає пріоритет речам Google і керує їх спочатку відразу. У роботі, яку я розмістив нижче, це, в основному, стан гонки, я б завантажив якусь програму, перш ніж вона зрозуміє, що можна завантажувати оновлення, але потім я заблокую її знову, але це не на 100% надійний спосіб.
Еміль

Відповіді:


7

Оновлення : В останніх версіях Android ви можете це зробити з Settings-> Google-> Instant Apps-> OFF.

Оригінальна відповідь випливає нижче:

У кращому випадку цього має бути достатньо, щоб блокувати миттєві програми від автоматичного оновлення.

Запустити на пристрої через термінал (connectbot, juicessh тощо).

pm hide com.google.android.instantapps.supervisor

Або якщо ви працюєте через adb на ПК під час підключення по кабелю (або Wi-Fi adb), тоді використовуйте:

adb shell pm hide com.google.android.instantapps.supervisor

На відміну від pm disable pm hideтакож працює на не вкорінених пристроях. Поки що я більше не бачив сповіщень про миттєві програми.

Якщо вищезгадане для вас не працює, іншим підходом буде зміна контексту SELinux у файлі / папці (наприклад, з chcon).


Щоб повернути pm hideкоманду вище, використовуйте:

pm unhide com.google.android.instantapps.supervisor

Ну, це орієнтоване саме на цей додаток, але я хотів би заблокувати всі несанкціоновані оновлення або встановлення нових додатків. Крім того, подібне встановлення та завантаження на системному рівні відбувається приховано від користувача. Як це працює, він перевіряє версію, і якщо її потрібно оновити, завантажує файл за кадром. Після того, як завантаження завершиться, він намагається встановити, а якщо установка не вдасться, вона спробує знову в інший час. Файли temp періодично видаляються, тому якщо він не може його знайти ... він завантажить його знову. Якщо ви стежите за тимчасовою папкою, ви можете зловити її, роблячи це знову і знову ...
Еміль

@Emil: чи не com.google.android.instantapps.supervisorдодаток, який здійснює моніторинг, який ви згадуєте? Або це якась конкретна послуга від google play services? Якщо це друге, то, мабуть, рецепт не є повним. Також я заборонив дозвіл пакета на запуск у фоновому режимі та запуск при завантаженні.
ccpizza

Я не міг точно визначити, що робить моніторинг. На Android існує система налаштування слухачів, і є кілька додатків, які стверджують, що їх коригувати, але вони виявились неефективними. Я не зміг знайти спосіб отримати прямий доступ до цієї "черги" або якось якось перехопити її. В основному все, що Google вважає основним, може обійтися налаштуваннями звичайних додатків
Еміль

3

Як випливає з назви, це частина додатків служб Google. PlayStore використовує його для запуску програм без їх встановлення (нова послуга). Можна відключити, але не видалити (наскільки я знаю, він просто продовжує встановлювати його як частину основних служб).

Щоб відключити, перейдіть у Налаштування ›Google› Миттєві програми та перемкніть перемикач ( Довідка ).

Я вважаю, що це буде системний додаток на нових пристроях, коли вони з'являться, для решти нас із старими пристроями вони просто змусять встановити їх на сумісних пристроях.

Редагувати: Через те, що питання було змінено після того, як я відповів. Ця відповідь стосується жодних укорінених пристроїв. З укоріненим пристроєм це можливо, але я не можу придумати рішення, яке є простим або постійним.



@Emil Я щойно очистив усі коментарі, крім посилання на ваш чат (де коментарі ще доступні). Далі я не можу погодитися з вами, що це не відповідь: у вашому запитанні, яке ви написали, "мабуть, не існує простого способу остаточно відключити" і "Моє запитання: як я повністю відключити цю функціональність" - це те, що Джозує в цій публікації: "Щоб відключити перехід до" Налаштувань "," Google "," Миттєві програми "та переключити тумблер." Якщо ви зробили це, і це не спрацювало, будь ласка, констатуйте це.
Izzy

1
У всякому разі, я намагаюся пояснити це. Він задав запитання, я в основному сказав "ні", пояснив, чому і дав інформацію для інших, хто може опинитися в подібних ситуаціях. Питання було змінено, я редагував, щоб висловити, що моя відповідь стосується оригінального запитання. Якщо я неправильно розумію, як працюють тут правила, видаліть мою відповідь і дайте мені знати, як я можу зробити краще.
Джозеу Рівера

1
@JosueRivera залиште це, якщо ви задоволені, ви не помиляєтесь. Якщо відповідь неправильна, люди можуть її негайно подати і рухатися далі.
Firelord

1
Він автоматично оновлюється, навіть коли його вимкнено. Я закрив його більше місяця тому, і він автоматично оновився сьогодні.
tgf

1

Про: [Тільки Root] Це рішення включає блокування доступу для запису до папки temp (кеш), куди Google завантажує свої системні додатки, такі як Google Play Services, сервіси Google Play для миттєвих програм тощо. Це простіше, ніж виглядає, тому що я пояснюючи все, схоже на багато. Згодом установка нових додатків по суті стає 3 етапом, і процес схожий на встановлення програм на ПК.


Передумови: У моїй системі папки працюють так:

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 за сценаріями)

  1. Блокування розблокування досягається додатком під назвою 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

    B) Виконати після завершення завантаження та після копіювання файлу - очистити та заблокувати кеш / розблокувати програми

    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

  2. Ви дізнаєтесь, що додаток завантажується, коли Play Store скаже, що "завантаження не вдалося". Це скаже, що тому, що він не міг встановити apk, але насправді було успішно завантажено, і він сидить всередині папки кеша . Перед тим, як запустити сценарій (B) вище, вам потрібно перемістити файл із папки кеша в інше місце. Звичайно, ви можете це зробити за допомогою будь-якого додатка, але мені подобається використовувати Total Commander, оскільки він може мати дві області, і він підтримує закладки (я додав до нього кеш ). Тому перемістіть його та перейменуйте файл із імені за замовчуванням на щось інше, а потім запустіть сценарій (B) вище. Також зверніть увагу, що при копіюванні APK він повинен мати значок програми. Якщо у нього є значок за замовчуванням, він, ймовірно, пошкодив завантаження через інші непов'язані причини, тому ви можете спробувати завантажити ще раз.

  3. Тепер папка кешу очищена та заблокована, а папки програм розблоковані. (ви можете двічі перевірити, чи папка кеша порожня, щоб бути на 100% впевненою, але я сумніваюся, що це необхідно) Тепер ви можете встановити завантажений файл APK.

Примітка1. Якщо ви натиснете на нове завантаження, і він говорить "очікує" просто (змусити) закрити Google Play і перезапустити його, він повинен почати завантаження автоматично.

Примітка2: Я перевірив це лише на Android: 6.0.1 / MIUI: 8.5.3.0, тому це рішення може бути не універсальним. Перевірте, чи є у вас папка кешу і чи завантажується служба Google Play туди (після завершення завантаження вона залишається на деякий час).

ПОПЕРЕДЖЕННЯ: Добре зберігати папку кеша заблокованою, але якщо трапиться перезавантажити телефон, коли ці папки даних заблоковані, телефон не завантажиться. І вам потрібно буде перейти вручну і змінити його з оболонки TWRP.

PS Я розумію, що це рішення не для всіх, але якщо ваша основна проблема - стабільність і тримати під контролем використання даних, це працює ... поки що. Сподіваємось, хтось придумає кращу відповідь, ніж ця.


Відмова від відповідальності. Тепер, коли ваш телефон більше не оновлюється автоматично, якщо є вразливість до попередньої системи Google, ви могли бути піддані впливу. Однак особисто я вважаю вразливість, коли щось можна встановити без явного дозволу.
Еміль
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.