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.
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”:
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:
- 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. - 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ć.
- 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.
Odpowiedzi:
Aktualizacja : w najnowszych wersjach Androida możesz to zrobić z Settings-> Google-> Instant Apps-> OFF.
W najlepszym przypadku powinno to wystarczyć, aby zablokować automatyczne aktualizowanie aplikacji błyskawicznych.
Uruchom na urządzeniu za pośrednictwem terminala (connectbot, juicessh itp.).
Lub, jeśli działa przez adb na komputerze, gdy jest podłączony kablem (lub wifi adb), użyj:
W przeciwieństwie do
pm disable
pm hide
dział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 hide
powyższe polecenie, użyj:źródło
com.google.android.instantapps.supervisor
czy 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.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.
źródło
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)
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
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.
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.
źródło