Witam,
Poradnik dotyczący Usług Google Play. (wstęp, czyli lanie wody).
Chyba każdy w końcu zauważa, że bez Usług Google Play telefon chodzi jak rakieta, ten pakiet strasznie zamula, zajmuje sporo RAM i odpowiedzialny jest za procesy drenujące baterię, GoogleBackupTransport, AccesoryKeyDispatcher, czy też inne pakiety systemu co jakiś czas są na górze w tabeli programów monitorujących zużycie baterii czy wybudzających system z DeepSleep... a wszystkim tym steruje właśnie nasz pakiet od Googla.. jednocześnie bez tego pakietu nie wystartuje wiele potrzebnych aplikacji, co robić.. ?
Ostatnio znalazłem w Sklepie Google Play to: https://play.google.com/store/apps/details?id=com.playfulgeeks.gservicefix << podobno pomaga, nie wiem czy blokuje UGP przed startem czy jedynie zmniejsza jego pracę bo tego nie używałem, jak komuś pomoże to też dobrze.
Teraz opiszę mój sposób na Usługi Google Play (UGP), piszę ten poradnik dlatego bo jest mnóstwo tematów w sieci o tym jak UGP wykańcza baterię i dużo sposobów okiełznania przez Greenify czy też desperacko samobójcze zamrażanie TitaniumBackupem. Ja mam starego dobrego Xperia with Walkman WT19i z ponad 300 aplikacjami na pokładzie i system chodzi jak po świeżej instalacji, no to postanowiłem się podzielić. Moja metoda jest trochę prostacka - metoda prób i błędów zamiast wiedzy, więc może ten poradnik nie ujrzy światła dziennego hehe... ktoś kto ogarnia działanie systemu Android będzie miał ubaw.. ale lecę dalej.
co potrzeba:
- telefon z ROOT-em,
- https://play.google.com/store/apps/details?id=cn.wq.myandroidtools < - ten programik. (mam wersję PRO więc mój opis może się trochę różnić)
- około tygodnia cierpliwości ;p
co się przyda:
- https://play.google.com/store/apps/details?id=com.omichsoft.taskmanager < - ten Task Manager bo jest przejrzysty i szybki, trzeba go skonfigurować na zabijanie procesów jednym kliknięciem, ale można używać wbudowanego Task Managera z Androida.
co się przyda w dążeniu do ideału xD :
- Llama lub Tasker.
- https://play.google.com/store/apps/details?id=com.laptopfreek0.taskkill < - ten plugin do Taskera lub Llamy bo dobrze ubija.
Zaczynam łopatologię: (przeczytać całość do końca przed zabawą)
MyAndroidTools - programik który każdą aplikację rozłada na częsci pierwsze, w menu mamy od góry:
# Services - lista modułów składających się na prześwietlaną aplikację, (czyli DisableServices jak ktoś już zna)
# Receiver - lista wszystkich zdarzeń które mogą pobudzić do życia badaną aplikację,
# Activity - lista wszystkiego co nasza aplikacja może wykonywać.
# itd...
Zaczynamy:
( I.) Największy wpływ na UGP mają aplikacje od Googla (Mapy, Sklep, GDrive, GMail, nasze główne konto telefonu!) itd...
- zakładam sytuację w której główne konto Google telefonu, maile, komunikatory, aplikacje w których do logowania używamy konta Google... że wszystko to już jest skonfigurowane i działa, dopiero wtedy można zacząć zabawę.
Jeżeli komuś zależy na optymalnej szybkości systemu:
W systemie - zostawiamy włączony GPS, wyłączamy pozwolenia na lokalizację Google i coś tam jeszcze, w ustawieniach Google (taka główna aplikacja do zarządzania kontem Google, każdy ma chyba) wyłączamy wszystkie typy powiadomień (o postępach w grze, autoupdaty aplikacji, lokalizacje, pozwolenia na reklamy itd.. itp... ) w Sklepie Google wyłączamy automatyczne updaty aplikacji i powiadomienia o nowych wersjach. We wszystkich aplikacjach wyłączamy powiadomienia o wszystkim...
- Jeżeli komuś z powyższego na czymś bardzo zależy to niech to sobie zostawi... dla mnie priorytetem był szybki telefon, aktualizacje lubię sprawdzać sam, tym bardziej, że nowsze nie zawsze znaczy lepsze, kto poznał Androida ten wie.
No to zabawa:
0. Restart telefonu, zaczynamy na świeżo.
1. w Task Killerze (TK) zabijamy wszystko co można ubić, zostawiamy to co sami uznaliśmy że ma chodzić. (widżety, programy, itp)
2. staramy się ubić UGP, jak odżyje nie szkodzi.
3. odpalamy pierwszy program Googla na którym nam zależy, niech to będzie Sklep Google Play.
4. odpalamy MyAndroidTools (MAT), zakładka #Service, szukamy UGP, otwieramy UGP, i patrzymy które Services działają, zaznaczamy wszystkie działające (zabicie jednego service gasi pozostałe bo ubija cały UGP więc jeśli jest ich dużo warto zaznaczyć wszystkie na raz i z menu kliknąć OK)
5. po wyłączeniu services wychodzimy z MAT, ubijamy Sklep Google Play, ubijamy UGP jeśli chodzi (z podręcznej pamięci też), znowu odpalamy Sklep Google Play, patrzymy czy UGP chodzi, jeśli tak - wchodzimy w Services i wyłączamy niedobitki services.
6. Jak już uruchomienie Sklepu Google nie ma wpływu na działanie UGP (nie zapala żadnych services) sprawdzamy czy Sklep Google działa prawidłowo (głównie chodzi o to czy zaloguje się na nasze konto, czy wyświetli listę naszych zainstalowanych, i czy zainstaluje nam jakąś nową testową aplikację, (jak komuś zależy jeszcze na czymś to niech to sprawdza),
- Jeżeli coś nie chodzi, nie loguje, nie instaluje, crashuje Sklep, wracamy do MAT i intuicyjnie szukamy po nazwie tego Service który może być winny naszej usterki i go włączamy, jak nie działa gasimy i włączamy inny.
- Główna zasada działania to, a). zrestartować Sklep, B). odświeżyć zakładkę Services w MAT, c). otworzyć UGP w Services, d). szukać metodą prób i błędów Services które mogą odpowiadać za niedziałanie Sklepu Google Play, i tak w kółko dopóki Sklep Google Play zacznie działać jak należy, skupiamy się na głównych funkcjach aplikacji, #odpalenie, #logowanie, #podstawowe działanie.
- Dużo tego pisania ale w rzeczywistości to oczywiste i proste.
Jak już Sklep Google nam działa to zaczynamy zabawę z czymś innym (YouTube?, GDrive? Przeglądarka Internetowa?), oczywiście pamiętamy żeby w MAT nie wyłączać tego Service który nam sprawiał kłopoty przy Sklepie Google Play... bo sklep pewnie przestanie działać znowu xD,
Ogólnie dążymy do sytuacji żeby badana aplikacja nie startowała nam pakietu Usługi Google Play, co najwyżej pakiet UGP może się odpalić i przejść od razu do pamięci podręcznej, ale nie powinno go być w głównej pamięci RAM (a na pewno nie w trzech wersjach jak to jest na początku zabawy)
Teraz trochę porad do tego etapu:
Wszystko to wymaga cierpliwości, mi najwięcej kłopotów sprawiło logowanie do GoogleDrive, okazało się, że wyłączenie pewnego service jest radykalne dla danej sesji systemu, włączanie go w MAT z powrotem nie stawiało go na nogi i pomagał jedynie restart systemu więc..
1. Co jakiś czas warto zrobić restart systemu, może się okazać, że wszystko będzie działać jak należy, przed restartem warto skasować dane Usług Google Play (System - Aplikacje - Pobrane - Usługi Google Play - dane aplikacji.. ) można też poczekać aż dane się odnowią (około 25mb) ale niekoniecznie, wszystko po to żeby po restarcie nie było komunikatów "Usługi Google Play przestały działać" (właściwie to dobrze bo o to nam chodzi, ale taki komunikat jest nieestetyczny)
bywa tak bo stare dane mają zapisane odwołania do services których już może nie być w pakiecie UGP.
2. co jakiś czas odpalamy inne przebadane aplikacje żeby sprawdzić czy nasze operacje nie miały na nie wpływu, jeśli miały to przywracamy odszukany service do działania, on niekoniecznie musi być tym który startuje całe UGP.
3. nie wpadamy w panikę jak wszystko się sypie, ostatecznie można przywrócić wszystkie services, zrestartować telefon, i zacząć od nowa zabawę, więc można czuć się bezpiecznie i bawić się dalej.
4. na razie nie zwracamy uwagi na wyczerpujące baterię działanie Systemu lub Kernela czy innych składowych systemu, dzieje się tak bo system ciągle próbuje się odwoływać do wyłączonych services, to minie ;p (a propo do sprawdzania procesów drenujących baterie dobre są GSam Battery Monitor, Battery Stats PRO, lub Better Battery Stats, dwa pierwsze najlepsze ;p)
wrażliwe punkty:
w czasie zabawy, Google Analytics Service lubi się odpalać samoistnie, startuje nam pakiet UGP i wydaje się, że zabawa nie wychodzi, wchodzimy w Services i gasimy Google Analyitics.
z inymi niektórymi services też tak bywa, na końcu może się okazać, że mogą być włączone i to nie szkodzi bo i tak nic ich nie odpala, ogólnie luz.
( II.) (Ten etap można zrobić na samym początku, może to wyeliminować wiele problemów z zabawą Servicami)
Jak już wszystko jako tako działa przechodzimy do MAT zakładka Receiver, szukamy Usługi Google Play, okazuje się, że UGP ma ponad 170 różnych wybudzaczy inicjujących start pakietu, zaznaczamy je wszystkie i gasimy OK... (to trochę potrwa), nie ma co się tutaj zagłębiać, wszystko to duperele potrzebne dla Googla a nie dla nas, startowanie Usług po starcie systemu, po zrobeniu zdjęcia, po zgaszeniu ekranu, po zapaleniu ekranu, po włączeniu danych komórkowych, itd itp... wszystko to informacje które Google zbiera o stanie telefonu, Po tym czyścimy dane UGP, restartujemy system, i od tej chwili mamy magiczną ciszę, GoogleBackupTransport przestał cokolwiek wysyłać do Googla, nic już nie budzi UGP poza aplikacjami które sami odpalamy a po starcie tych aplikacji Usługi zazwyczaj przechodzą do pamięci podręcznej (bo czuwające dotąd services podtrzymujące pracę UGP są wygaszone) i tam sobie siedzą czekając nie wiadomo na co...
Dla ideału warto zrobić skrypt w Lamie Lub Taskerze żeby po starcie takich aplikacji Usługi Google Play były ubijane z pamięci podręcznej, zwolni to trochę RAM-u. To już zależy od tego kto korzysta z jakich aplikacji.
Robimy Backup ustawień Services (nie wiem czy non-PRO to ma, ale i tak po długiej zabawie nazwy tych ważniejszych service wbiją nam się w pamięć) i teraz możemy pobawić się Services żeby wszystko dostroić, możemy spróbować przywrócić obsługę powiadomień itd, itp, ogólnie odtąd mamy Googla pod kontrolą a nie odwrotnie xD
( III. ) Moje doświadczenia: to co u mnie poleciało z Services.. wszystko z "GCM" w nazwie, SystemUpdate, wszystko z "Game" w nazwie (raporty z gier do Google oO), wszystko z "Location" w nazwie a mimo to Mapy pokazują przybliżoną lokalizację po masztach GSM bez problemu, SyncService poleciał i sporo z "Sync" w nazwie a mimo to wszystkie aplikacje logują i synchronizują prawidłowo, synchronizacja kalendarza i zakładek google chodzi bez problemu, Google Drive działa, wszystko działa, różnica jest taka, że Usług Google Play nie ma w pamięci RAM... siedzą grzecznie na karcie i czekają na rozkaz.
Ogólnie okazuje się, że wszystkie aplikacje radzą sobie same, a od pakietu Google potrzebują tylko potwierdzeń startu i potwierdzeń niektórych działań.
To z czego musiałem zrezygnować to aplikacja PushBullet, jest mocno uzależniona od Usług Google bo korzysta z trybu push Googla a to jest sednem tej aplikacji, pewnie da się zrobić żeby chodziło ale przestało mi zależeć, Pocket też jest niezły do wymiany linków między PC a Androidem.
GTalk i GMail wyrzuciłem z systemu od razu, to raczej bardzo mocno związane z UGP aplikacje, jest sporo komunikatorów z obsługą GTalka (o ile ktoś w ogóle z tego korzysta), no i po co komu oddzielny klient poczty do obsługi samego GMaila?, każdy klient poczty obsługuje tą skrzynkę, a jak komuś zależy na powiadomieniach "push" to już lepiej znaleźć pocztę z obsługą powiadomień SMS i odsyłać do niej kopię poczty z naszego konta Google (przekierowanie poczty na inną skrzynkę z opcją pozostawienia orginału w skrzynce Googla) , zapominamy i mamy najlepszy push pod słońcem nie czerpiący baterii.
Wracając do Services, warto użyć do wyłączenia systemowego pakietu Lokalizacji "Google Location" na początku (można śmiało) z pakietu Klawiatura można wyłączyć dwa niepotrzebne a działające bez przerwy procesy, można się pobawić services każdej aplikacji użytkownika i powyłączać to co wydaje się niepotrzebne a chodzi (np, serwis equalizera w odtwarzaczu, nie korzytam z eq a ciągle się odpala i chodzi), systemowych aplikacji lepiej nie ruszać ;p
Teraz można się pobawić Greenify, do tej pory nie miało to sensu bo byle bzdet wybudzał UGP i całe dobrodziejstwo Google siedziało w RAM-ie i zamulało telefon, teraz można kombinować.
( IV. ) Bez UGP może dochodzić do sytuacji, że nie zadzwoni budzik, dzieje się tak wtedy gdy po nastawieniu budzik zostanie "ubity", jeżeli budzik będzie chodził w pamięci to zadzwoni (to samo z alarmami kalendarza),
Polecam Lamę, w swoich warunkach ma funkcję "wydarzenie w kalendarzu" - działa to tak, że gdy nazwa wydarzenia będzie zawierać jakiś ciąg znaków np. "!!!" to wyzwoli działanie.. możemy sobie jako akcję ustawić odtworzenie jakiegoś dzwięku i np. wyświetlenie powiadomienia na pasku stanu "KALENDARZ", w ten sposób mamy 100% pewności, że Lama powiadomi nas o wydarzeniu w kalendarzu (można ustawiać różne reakcje na różne ciągi znaków), Tak samo z alarmami - jest w Lamie warunek "Alarm time" - to działa już normalnie.. kiedy wybija godzina ustawionego alarmu warunek wybudza jakiekolwiek działanie.
Ta porada dobra jest też dla tych którzy mają problemy z niezawsze dzwoniącymi alarmami (Lama chodzi w telefonie cały czas i jest ciężka do ubicia, więc jest 100% pewności, że nie przegapi)
To tyle, powodzenia, pozdr.