Usługi Google Play dla Instant Apps pobierają / instalują się same bez autoryzacji, pobierają / aktualizują inne komponenty, jak wyłączyć?

28

tło

Usługi Google Play dla aplikacji błyskawicznych ” zainstalowały się na moim urządzeniu bez mojej zgody. To zepsuło funkcjonalność mojej zapory ogniowej (AFWall i kilka innych aplikacji). I aktualizuje siebie i inne aplikacje / komponenty bez pozwolenia. Kiedy odinstalowuję ten komponent, pobiera się ponownie i instaluje od razu. (To znaczy najprawdopodobniej to „usługi Google Play” robią to w tle)

Brak potwierdzeń i powiadomień o pobieraniu, aktualizowaniu lub instalowaniu. Odkryłem to, zauważając, że niektóre funkcje moich aplikacji zostały zmienione / zepsute. Więc użyłem aplikacji („Informacje o systemie dla Androida”) i pokazuje, że w rzeczywistości ta „usługa Google Play dla aplikacji błyskawicznych” została zainstalowana dzień temu.

Moje pytanie brzmi: jak całkowicie wyłączyć nieautoryzowane aktualizacje urządzenia z systemem Android, zachowując jednocześnie następujące funkcje:

  • Synchronizacja kontaktów
  • Sklep Google Play
  • Aplikacja Google Maps

Na tych zrzutach ekranu widać, że wszystkie ustawienia odpowiedzialne za automatyczne aktualizacje są wyłączone. Dlatego pobieranie i instalacja są wyraźnie nieautoryzowane i nie powinny się zdarzyć. Zrzut ekranu z ustawieniami Instant Apps pokazuje się po tym, jak rzecz jest już zainstalowana. Pozostawiając tylko globalne ustawienie ze sklepu Google Play.

wprowadź opis zdjęcia tutaj
Ustawienia ›Aplikacje // Ustawienia› Google ›Aplikacje błyskawiczne (wyłączone!) // Ustawienia sklepu Play (automatyczna aktualizacja wyłączona!)

Wszystko zaczęło się po tym, jak zastosowałem wprowadzającą w błąd sugestię , którą możesz zobaczyć na tym zrzucie ekranu, aby zaktualizować „Usługi Google Play”:

wprowadź opis zdjęcia tutaj
kliknij obraz, aby zobaczyć większy wariant


Aktualizacja 1:

Do tej pory odkryłem, że coś (najprawdopodobniej „Usługi Google Play”) wymaga pobrania + instalacji. Sposób, w jaki to robi, polega na przesłaniu żądania za pomocą Google Download Managera. Jasne, co je wywołuje, ale jeśli urządzenie oglądania ściśle ikonę z Download Manager nie pojawi się w powiadomieniu wskazuje pobierania odsetek. Jednak po zakończeniu natychmiast znika. Jednak nic nie wskazuje na instalację.

Co próbowałem do tej pory:

  1. Zainstalować odpowiednio następujące poziomie użytkownika zamiast aplikacji na poziomie systemu, które są oryginalnie: konto Google, GP sklepie, a Service Framework ( com.google.android.gms; com.android.vending; com.google.android.gsf) to nie działa. Pobieranie jest nadal wymagane, a następnie instalowane.
  2. Wydaje się, że jakikolwiek sposób blokowania instalacji spowoduje, że będzie ona pobierana wielokrotnie (aż do wyczerpania danych). Najprawdopodobniej najlepszym rozwiązaniem byłoby przede wszystkim zapobieganie pobieraniu. Nie mogłem zainstalować Download Managera jako aplikacji użytkownika, co wydaje się być częścią, którą należy kontrolować.
  3. Zablokowanie Menedżera pobierania i / lub Sklepu Play za pośrednictwem zapory jest możliwe, ale stanowi to jedyny godny zaufania sposób pobierania aplikacji.

Aktualizacja 2:

Przejście na poprzednią wersję usług GP (wersja 11.3.02) działało przez kilka dni, ale dziś usługi GP dla aplikacji błyskawicznych zostały pobrane i zainstalowane. Więc nie ma znaczenia, której wersji używasz. Najprawdopodobniej Google zaktualizuje wszystkie telefony w ten sposób, niezależnie od tego.

Aktualizacja 3:

Tak więc teraz Google aktualizuje się regularnie, gdy tylko ma na to ochotę. Jeśli przesyłam strumieniowo film, zmniejszam szybkość, zużywam przepustowość Internetu, za którą płacę pieniądze za MB. Na tym zdjęciu widać, że 3 aplikacje Google zostały zaktualizowane bez pozwolenia.

wprowadź opis zdjęcia tutaj

Emil
źródło
1
Cześć @Firelord Mówiąc wprost, mówię o „usługach Google Play dla aplikacji błyskawicznych”, a nie o standardowych „usługach Google Play”. Ten ostatni jest najnowszym osiągnięciem i zachowuje się jak złośliwe oprogramowanie (chociaż jest to oficjalna aplikacja Google). Nie podałbym zbyt szczegółowo funkcji aplikacji, które zepsuł, głównie dlatego, że prawdopodobnie będą zależały od urządzenia / pamięci ROM (korzystam ze standardowej pamięci ROM i jest zrootowany, ale ze względu na pytanie chciałbym znaleźć „normalne” rozwiązanie niezrootowane). AF: Zepsuło się w taki sposób, że sporadycznie pojawia się błąd „Nie udało się zastosować reguł”.
Emil,
1
@Izzy dzięki za zmiany, czyni to jaśniejszym.
Emil,
1
Cieszę się, że czytam, Emil! I tak, przetestuj to jeszcze trochę. Jeśli nie ma żadnych skutków ubocznych, rozważ odpowiedź na własne pytanie :)
Izzy
1
Oto link do powiązanej dyskusji na forum Google Play.
Stan
3
Cześć @frans, chodzi o to, że nie chodzi tylko o przepustowość / koszty. Próbuję też zapobiec instalacji niechcianego oprogramowania. Ponadto pobieram aplikacje i aktualizacje przez Internet telefonu, ponieważ obecnie nie mam dostępu do Wi-Fi. Inną rzeczą jest to, że ten aktualizator „nasłuchuje” zmian stanu, więc jeśli przełączysz się na Wi-Fi, priorytetowo traktuje Google rzeczy i natychmiast je rozpoznaje. W obejściu, które zamieściłem poniżej, jest to po prostu warunek wyścigu. Chciałbym pobrać aplikację, zanim zda sobie sprawę, że można pobrać aktualizacje, ale potem ponownie ją zablokuję, ale to nie jest w 100% niezawodny sposób.
Emil,

Odpowiedzi:

7

Aktualizacja : w najnowszych wersjach Androida możesz to zrobić z Settings-> Google-> Instant Apps-> OFF.

Oryginalna odpowiedź poniżej:

W najlepszym przypadku powinno to wystarczyć, aby zablokować automatyczne aktualizowanie aplikacji błyskawicznych.

Uruchom na urządzeniu za pośrednictwem terminala (connectbot, juicessh itp.).

pm hide com.google.android.instantapps.supervisor

Lub, jeśli działa przez adb na komputerze, gdy jest podłączony kablem (lub wifi adb), użyj:

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

W przeciwieństwie do pm disable pm hidedziała również na urządzeniach niezrootowanych. Do tej pory nie widziałem żadnych powiadomień o aplikacjach błyskawicznych.

Jeśli powyższe nie działa dla ciebie, innym podejściem byłoby zmodyfikowanie kontekstu SELinux dla pliku / folderu (np. Przy pomocy chcon).


Aby cofnąć pm hidepowyższe polecenie, użyj:

pm unhide com.google.android.instantapps.supervisor
ccpizza
źródło
Cóż, byłoby to ukierunkowane na tę konkretną aplikację, ale chciałbym zablokować wszystkie nieautoryzowane aktualizacje lub instalację nowych aplikacji. Ponadto tego rodzaju instalacja i pobieranie „na poziomie systemu” odbywa się ukryte przed użytkownikiem. Działa tak, sprawdza wersję i jeśli trzeba ją zaktualizować, pobiera plik za kulisami. Po zakończeniu pobierania spróbuje zainstalować, a jeśli instalacja się nie powiedzie, spróbuje ponownie w innym czasie. Pliki tymczasowe są okresowo usuwane, więc jeśli nie można go znaleźć ... pobierze go ponownie. Jeśli monitorujesz folder tymczasowy, możesz go łapać, robiąc to w kółko ...
Emil,
@Emil: com.google.android.instantapps.supervisorczy aplikacja wykonująca monitorowanie nie wspomina o tobie? A może jest to konkretna usługa z usług Google Play? Jeśli jest to drugi, to chyba przepis nie jest kompletny. Odmówiłem również pozwolenia pakietu na działanie w tle i uruchamianie przy starcie systemu.
ccpizza
Nie mogłem dokładnie określić, co monitoruje. Na Androidzie jest system konfigurowania słuchaczy i istnieje kilka aplikacji, które twierdzą, że je dostosowują, ale okazały się nieskuteczne. Nie mogłem znaleźć sposobu na bezpośredni dostęp do tej „kolejki” ani jej przechwycenia. Zasadniczo wszystko, co Google uważa za rdzeń, może zmieniać ustawienia zwykłych aplikacji
Emil,
3

Jak sama nazwa wskazuje, jest to część aplikacji usług Google. PlayStore używa go do uruchamiania aplikacji bez ich instalowania (nowa usługa). Możliwe jest wyłączenie, ale nie usunięcie (o ile wiem, po prostu instaluję go jako część podstawowych usług).

Aby wyłączyć, przejdź do Ustawienia ›Google› Aplikacje błyskawiczne i przełącz przełącznik ( Informacje ).

Wierzę, że będzie to aplikacja systemowa na nowsze urządzenia, gdy tylko wyjdą, dla reszty z nas na starszych urządzeniach po prostu wymuszą instalację na kompatybilnych urządzeniach.

Edycja: Z uwagi na fakt, że pytanie zostało zmienione po mojej odpowiedzi. Ta odpowiedź dotyczy nie zrootowanych urządzeń. Zrootowane urządzenie może być możliwe, ale nie mogę wymyślić rozwiązania łatwego lub stałego.

Josue Rivera
źródło
Daj nam kontynuować tę dyskusję w czacie .
Josue Rivera,
@Emil Właśnie wyczyściłem wszystkie komentarze oprócz linku do twojego czatu (gdzie komentarze są nadal dostępne). Co więcej, nie mogę się z tobą zgodzić, że to nie jest odpowiedź: w swoim pytaniu napisałeś „wydaje się, że nie ma łatwego sposobu na trwałe wyłączenie” i „Moje pytanie brzmi: jak całkowicie wyłączyć tę funkcjonalność” - to jest Josue prezentuje w tym poście: „Aby wyłączyć, przejdź do Ustawień, Google, Instant Apps i przełącz przełącznik”. Jeśli zrobiłeś to i nie zadziałało, proszę to zaznaczyć.
Izzy
1
W każdym razie próbuję to wyjaśnić. Zadał pytanie, w zasadzie powiedziałem „nie”, wyjaśnił dlaczego i udzielił informacji każdemu, kto mógłby znaleźć się w podobnych sytuacjach. Pytanie zostało zmienione, edytowałem, aby wyrazić, że moja odpowiedź dotyczyła pierwotnego pytania. Jeśli nie rozumiem, jak działają tutaj reguły, usuń moją odpowiedź i daj mi znać, jak mogę to zrobić lepiej.
Josue Rivera
1
@JosueRivera zostaw to, jeśli jesteś zadowolony, że się nie mylisz. Jeśli odpowiedź jest zła, ludzie mogą głosować za nią i przejść dalej.
Firelord
1
Aktualizuje się automatycznie, nawet gdy jest wyłączony. Wyłączyłem go ponad miesiąc temu i dziś jest on automatycznie aktualizowany.
tgf
1

Informacje: [Tylko rootowanie] To rozwiązanie obejmuje blokowanie dostępu do zapisu do folderu temp (cache), w którym Google pobiera aplikacje systemowe, takie jak usługi Google Play, usługi Google Play dla aplikacji błyskawicznych itp. Jest to prostsze niż się wydaje, ponieważ jestem wyjaśniając wszystko, wygląda na to, że dużo. Następnie instalacja nowych aplikacji zasadniczo składa się z 3 kroków, a proces jest podobny do instalowania programów na komputerze.


Tło: W moim systemie foldery działają w następujący sposób:

1) /data/data/com.android.providers.downloads/cache
* To jest folder, w którym instalowane są aktualizacje systemu Google (a także Nowe aplikacje systemowe).
* Niestety ten folder służy również do pobierania normalnych nowych aplikacji. Nie możesz po prostu zablokować go na stałe. Musisz mieć możliwość zablokowania / odblokowania podczas pobierania nowych aplikacji.

2) /mnt/sdcard/Android/data/com.android.vending/files
* Ten folder służy do aktualizacji normalnej (aplikacje inne niż system Google). Nie musisz więc tego blokować ani robić nic specjalnego, jeśli chodzi o aktualizację zwykłych aplikacji, takich jak Facebook, gry itp.


Rozwiązanie: cache folderu powyżej utrzymuje zamknięty podczas normalnej pracy. Jeśli chcesz zainstalować nową aplikację, cały proces przebiega następująco (chociaż w większości zautomatyzowany): (1) odblokuj folder pamięci podręcznej (2) zablokuj foldery aplikacji, na wypadek, gdyby się przekradł, gdy jest odblokowane i zainstaluje je. (3) Pobierz nową aplikację ze sklepu (4) Skopiuj pobrany program z folderu instalacyjnego do innego miejsca i zmień jego nazwę z domyślnej nazwy (download.apk) (5) Wyczyść i zablokuj folder pamięci podręcznej (6) odblokuj foldery aplikacji ( 7) Kliknij plik apk, aby go zainstalować.

Oczywiście nie chcesz wpisywać tego w terminalu za każdym razem, więc są to automatyczne kroki. Obejmują one użycie dwóch dodatkowych aplikacji, a także zainstalowanie BusyBox (aby skrypty mogły korzystać z polecenia chattr)

  1. Blokowanie odblokowania osiąga aplikacja Gscript. Możesz użyć dowolnej innej aplikacji, która osiąga wykonanie skryptów. W sklepie Google jest wersja, ale zawiesza się dla mnie i innych osób. Dostępny jest stabilny widelec tutaj: https://bitbucket.org/Equidamoid/gscript (Dzięki postowi autora tutaj: /programming//a/20328927/7609435 ) Wystarczy wkleić tam dwa skrypty. (Oba wymagają SU)

    A) Wykonaj przed pobraniem - Zablokuj aplikacje / Odblokuj pamięć podręczną

    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) Wykonaj po zakończeniu pobierania i po skopiowaniu pliku - wyczyść i zablokuj pamięć podręczną / odblokuj aplikacje

    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. Dowiesz się, że aplikacja została pobrana, gdy Sklep Play wyświetli komunikat „pobieranie nie powiodło się”. Powie to tak, ponieważ nie można zainstalować apk, ale pobieranie zakończyło się pomyślnie i znajduje się w folderze pamięci podręcznej . Przed uruchomieniem powyższego skryptu (B) musisz przenieść plik z folderu pamięci podręcznej w inne miejsce. Oczywiście możesz to zrobić za pomocą dowolnej aplikacji, ale lubię korzystać z Total Commander, ponieważ może mieć dwa panele i obsługuje zakładki (dodałem do niego pamięć podręczną ). Więc przenieś go i zmień nazwę pliku z domyślnej na inną, a następnie uruchom powyższy skrypt (B). Pamiętaj też, że podczas kopiowania APK powinna ona zawierać ikonę aplikacji. Jeśli ma domyślną ikonę, pobieranie jest prawdopodobnie uszkodzone z innych niepowiązanych powodów, więc możesz spróbować pobrać ponownie.

  3. Teraz folder pamięci podręcznej jest czyszczony i blokowany, a foldery aplikacji odblokowane. (możesz dwukrotnie sprawdzić, czy folder pamięci podręcznej jest pusty, aby mieć 100% pewności, ale wątpię, aby to było konieczne) Możesz teraz zainstalować pobrany plik APK.

Uwaga 1: jeśli klikniesz nowe pobieranie i powiesz „oczekuje”, po prostu (wymusię) zamknij Google Play i uruchom go ponownie, powinno rozpocząć się pobieranie automatycznie.

Uwaga 2: Testowałem to tylko z Androidem: 6.0.1 / MIUI: 8.5.3.0, więc to rozwiązanie może nie być uniwersalne. Sprawdź, czy masz folder pamięci podręcznej i czy jest tam przesyłane pobieranie usług Google Play (po zakończeniu przesyłania pozostaje tam przez chwilę).

OSTRZEŻENIE: W porządku jest trzymać folder pamięci podręcznej zamknięty, ale jeśli ponownie uruchomisz telefon, gdy te foldery danych są zablokowane, telefon nie uruchomi się. Musisz przejść ręcznie i zmienić go z powłoki TWRP.

PS Rozumiem, że to rozwiązanie nie jest dla wszystkich, ale jeśli twoją główną troską jest stabilność i kontrolowanie wykorzystania danych, to działa ... na razie. Mam nadzieję, że ktoś wymyśli lepszą odpowiedź niż ta.

Emil
źródło
Oświadczenie: Teraz, gdy Twój telefon nie jest już automatycznie aktualizowany, jeśli istnieje luka w zabezpieczeniach poprzedniego systemu Google, możesz zostać narażony. Jednak osobiście uważam lukę w zabezpieczeniach, gdy coś można zainstalować bez wyraźnego pozwolenia.
Emil