Optimizacija Android uređaja i „bloatware“

Iznijeti ću atipično stajalište o tzv. bloatwareu na Android uređajima, pa moram biti sistematičan. Štivo nije namijenjeno developerima i serviserima Android uređaja, za njih vrijede druga „pravila igre“ zbog znanja i alata kojima raspolažu.

Za početak, podsjetimo se što pojam bloatware obuhvaća: oveći dio aplikacija - ugniježđenih u Android uređaj od strane njegovog proizvođača i ugovornih partnera poput neizbježnog Googlea te, naposljetku, pružatelja usluga mobilne telefonije - koje osviješteni korisnik uređaja smatra nepoželjnima jer takve aplikacije na neki način opterećuju uređaj, narušavaju privatnost, izazivaju dodatne troškove, beskorisne su... i slično. Zanimljivo je da nitko kao bloatware ne etiketira aplikacije što ih je korisnik sam instalirao i potom ih malo ili nikako rabi, iako se u konačnici te aplikacije ponašaju baš poput bloatwarea: same se povremeno pokreću u pozadini i spajaju na Internet servere te tamo-vamo prenose tko zna kakve podatke; besplatne aplikacije, kakve mahom rabimo, gnjave nas reklamama... Tja, kakogod, trenutno nam je najvažnije izraz bloatware uskladiti sa općim stavom da je riječ o nepoželjnim izvornim aplikacijama, one su nametnute korisniku od strane gore opisanih igrača. Sve ono što korisnik sam instalira, koliko god to loše bilo, nije bloatware. Te klasifikacije ćemo se nadalje držati.

Na Internetu možemo naći brojne liste nepoželjnih izvornih aplikacija. U te se liste trpa uistinu sve i svašta, pa se nepoželjnima proglašavaju i esencijalne, za svakog normalnog korisnika Android uređaja nadasve korisne aplikacije - Calculator, Clock, Google Play i Chrome, itd. Valjda kako bi se čitatelj impresionirao i što lakše progutao sugestiju o potrebi uklanjanja originalnih aplikacija. Od čega su određeni krugovi napravili što biznis, što opsesivnu zanimaciju. Pa s jedne strane aplikativci izrađuju, a ostrašćeni pojedinci bezrezervno podržavaju svakojake debloatere, boostere & cleanere; s druge su strane neupućeni ili jednostavno preangažirani korisnici Android uređaja koji te alate prigrle i rabe ih kad treba i kad ne treba, vrijedno rootaju svoje uređaje kako bi izbrisali proskribirane aplikacije... i potom traže hitnu podršku kroz forume jer su destabilizirali ili čak onesposobili svoj uređaj!

Pazite, ne tvrdim da su sve izvorne aplikacije – one prisutne u tzv. stock ROM-u -korisne, to bi uistinu bilo pretenciozno. Poput većine, godinama rabim Android uređaje i svjestan sam postojanja aplikacija što ih kroz sve ove godine nisam pokrenuo, niti imam namjeru. Ali prisjećam se i da sam u par navrata htio ne samo onemogućiti (disable) nego baš izbrisati Hangouts, po mojoj procjeni nepotrebnu aplikacju – pogađate, rabim Skype - koja je nakon svakog ažuriranja sve veća.... a potom sam, u jednom slučaju hitne komunikacije, koja je bila u mom interesu, zahvaljivao nebesima što imam Hangouts jer sam mogao uspostaviti vezu sa kolegom koji samo tu aplikaciju rabi a tada se nalazio na drugom kraju svijeta.

Slutite već u kojem smjeru ciljam: svaku priču o bloatwareu koja se svodi na brisanje izvornih aplikacija treba uzeti sa debelom zadrškom!  Moja je preporuka Ne brisati izvorne (stock) nepoželjne aplikacije. A sada ću obrazložiti taj „otpadnički“ stav.

Priča postaje zanimljiva već u samom startu, kad krenu diskusije oslobađa li se brisanjem neželjenih izvornih aplikacija dragocjeni spremišni prostor za korisnika. Jedna strana tvrdi da se korisnički prostor ne povećava jer su izvorne aplikacije na /system particiji, a ta je nedostupna korisniku ukoliko nije prethodno rootao uređaj; druga strana tvrdi, dakako, da se slobodni prostor povećava te da je najbolje uređaj rootati pa brisati izvorne nepoželjne aplikacije.

Svima koji baš u brisanju vide konačno rješenje, nudim pristup kojega smatram najracionalnijim. Da bismo se lakše razumjeli, prisjetimo se rasporeda aplikacija na Android uređajima.

Android OS podiže (mounta) sistemsku particiju /system kao r/o. Izvorne aplikacije nalaze se prvenstveno u direktoriju /app sistemske particije, ponešto je porazbacano po drugim direktorijima. Potonje ovisi o proizvođaču izvornog ROM-a, npr. koda nas jako popularni Samsung dio aplikacija smješta još u /system/priv-app, pa /system/container, itd. Korisniku dostupna particija, na koju on može instalirati aplikacije i spremati svoje podatke, poznata je kao /data. Dakako, ona je r/w. Sa stajališta lokacije aplikacija, ključni direktoriji na toj particiji su /app, /app-lib, /dalvik-cache i /data.


Sada slijedi najvažnije: u tim direktorijima /data particije ne nalaze se samo one aplikacije što ih je korisnik instalirao nego i sva ažuriranja i pomoćni podaci izvornih aplikacija prisutnih na /system particiji. A te novije verzije aplikacija redovito su nekoliko puta veće od izvornih verzija jer, logično, aplikacije se razvijaju. Znači, ako baš želimo osloboditi prostor od neželjenih aplikacija, trebamo brisati ažuriranja izvornih aplikacija na /data particiji, u spomenutim direktorijima, i na taj način dobit ćemo par stotina megabajta. Na narednoj ilustraciji to radimo za aplikaciju Drive, rabeći ugrađeni Application Manager. Nakon toga, će, naravno, uslijediti Force stop.


Budući da ništa ne radimo na /system particiji, ovim pristupom sigurno nećemo onesposobiti uređaj. Ako na /data particiji zabunom obrišemo neku aplikaciju, ili njene vitalne podatke, imat ćemo problem ali uz malo truda i snalažljivosti brzo ćema ga riješiti.

Idemo dalje s tim nesretnim brisanjem. Recimo da smo sredili /data particiju, i sada nam se baš hoće povećavati free space /system particije brisanjem izvornih aplikacija. Ok, rootali smo uređaj, opskrbili se Total Commanderom koji može brisati po /system particiji i vrijedno brišemo .apk i .odex datoteke... Koliko ćemo prostora dobiti, pokazuje nam jednostavna računica, samo da prvo bacimo pogled na sliku s aktivnim particijama Samsungovog GT-i9195.


Vidimo da je na System particiji ukupno podataka 1.45 GB. Direktorij /system/app zauzima 402 MB, /system/priv-app ima 362 MB, /system/container veličinom nije vrijedan spomena. Budući je Samsung na zlu glasu kao firma koja u svojim Android uređajima gomila nepotrebne aplikacije, velikodušno ćemo viškom proglasiti 1/3 sadržaja tih direktorija. Sada izbrišemo tu 1/3 čega-već-nepotrebnog; uređaj je i dalje operativan, nadajmo se. Dobili smo kojih 260 MB. Na r/o particiji. I što bismo sada s time!? Istina, možemo ovdje kopirati neki novi .apk pa ga instalirati, ali prethodno moramo remountati particiju kao r/w, postaviti odgovarajuća prava na .apk... ukratko, preporučljivo samo dokonima. Odlagati obične podatke na sistemsku particiju višestruko je besmisleno čak i da je prostor višestruko veći, mislim da se oko toga ne trebamo sporiti.

Kako vidimo, uklanjanje nepoželjnih izvornih aplikacija sa /system particije zbog dobitka na prostoru prilično je klimav argument. Ujedno je riskantno, naime, ako ovdje izbrišemo neki važan .apk, ili biblioteku funkcija i slično, možemo ozbiljno destablizirati sustav, počevši od onesposobljavanja OTA funkcionalnosti (jako česta posljedica brisanja aplikacija na /system particiji), a u pravilu nema načina da to riješimo bez flashanja originalnog ili custom ROM-a.
 
Brišemo po /system particiji kako bismo efikasno uklonili softver kojime se narušava naša privatnost? Naivno do bola! Niti proizvođač aktualnog ROM-a niti Google neće prave špijunske funkcije upakirati u lako uočljiv i uklonjiv .apk, .odex, .so i sl. formate; ugnijezditi će svoje agente u nekoliko softverskih modula različite namjene, pohraniti ih na „običnom smrtniku“ nedostupne lokacije. Prisjetimo se da svaki moderni Android uređaj ima barem 15-ak particija, a samo par njih je mountano. Pored svega, kako znamo da su po tom pitanju nevine razne aplikacije što smo ih svojevoljno instalirali, uključujući custom ROM—ove? Ako smo imalo dosljedni u zaštiti privatnosti metodom brisanja, moramo i njih ukloniti, heh!

U kontekstu zaštite privatnosti, slijedi par smjernica. Znači, ne brisati nego:
* Isključiti sve opcije za lociranje i odbijati ponude za prikupljanje podataka s obrazloženjima da se time unaprijeđuje sigurnost uređaja (pazite, ako izgubite uređaj, ili vam je otuđen, ovim postupkom ćete si odmoći).
* Instalirati samo uistinu potrebne aplikacije, i to one sa renomeom dobroćudnih u sigurnosnom smislu, nadalje, birati pouzdane repozitorije Android aplikacija.
* Instalirati barem jednu kvalitetniju antivirus / antimalware aplikaciju.
* Onemogućiti sve aplikacije koje ne rabimo, usnimiti ponašanje aktivnih (o tome malo niže).
* Aplikacije rabiti sukladno odavno obznanjenim uputama za zaštitu osobnog identiteta (često smo mi sami, a ne aplikacija, pravi krivac za otkrivanje naših osobnih podataka i navika).
* Strukovnim i građanskim inicijativama promicati pravo na privatnost u sferi ICT tehnologija – koliko god djelovala parolaški, ovo je najučinkovitija mjera jer samo zbog utjecaja tzv. javnog mnijenja i (nad)nacionalnih tijela kojima je to javno mnijenje (građanstvo) bitno, korporacije sve-po-malo reduciraju predinstalirane aplikacije i ugrađuju poneku funkcionalnost za njihovu „trijažu“.

Brišemo po /system particiji kako bismo rasteretili CPU, RAM, bateriju i podatkovnu konekciju od onih aplikacija koje ne možemo jednostavno zaustaviti? Niti u ovom scenariju brisanje nema rezona! Čak nam ne trebaju niti third-party aplikacije jer sam Android raspolaže Application, Connection i Battery kontrolama, samo se treba poslužiti njima. Banalan primjer sa KitKatom:  odemo u Settings > Data usage i ovdje možemo vidjeti koja aplikacija više radi u zaleđu (background) nego u prvom planu (foreground), štoviše, uključenjem opcije Restrict background data možemu tu aplikaciju spriječiti u trošenju naše podatkovne kvote. Postoje izvedbe KitKata sa opcijom koja onemogućuje pozadinsko brbljakanje svih aplikacija odjednom, vidi prvi ekran naredne slike.


U višim verzijama Androida još su izraženije mogućnosti kontrole aplikacija po svakom aspektu. Očekivano, Marshmallow je najdalje otišao po tom pitanju, npr. sposoban je onemogućiti sinkroniziranje aplikacije ako je ona u backgroundu, dulje vrijeme pasivnu aplikaciju zapisati će na swap particiju i ukloniti iz RAM-a... itd.

Rezimirajmo temu:
* Forsiranje brisanja nepotrebnih izvornih aplikacija sa /system particije nema nikakvog opravdanja.
* Ako nam je do brisanja, uklonit ćemo ažuriranja izvornih aplikacija i prateće podatke  sa /data particije, original na /system particiji treba onemogućiti (disable, freeze); ako nam disablirana aplikacija ikada zatreba, samo ju aktiviramo, sa izvornog repozitorija „popijemo“ ažuriranja i sve 5.
* Za disabliranje izvornih aplikacija možemo rabiti Androidov Application Manager, ako se možemo pomiriti s time da je taj alat nemoćan glede nekih aplikacija, ili alate poput Debloater, Package Disabler Pro, BloatKill, TrulyClean Script i slične im. Navedeni alati odradit će posao i na nerootanom uređaju. Za rootane uređaje ima anti-bloatware alata toliko da je teško odabrati, osobno preferiram ROM Toolbox Lite, sljedeći na popisu je Root App Deleter.
* Pripremiti se za eventualno flashanje originalnog ROM-a (ako nam nije do custom ROM-ova) jer i smrzavanjem nepoželjnih aplikacija na /system particiji možemo si na vrat navući velike nevolje. Pogledajte upozorenje Root App Deletera, na sličan način ograđuju se i autori drugih alata te namjene. S jedne strane, popularizira se stav da je brisanje izvornih aplikacija cool & macho dok se, s druge strane, svi ograđuju od posljedica čak i za disabliranje istih... :-\

Vote: 
0
No votes yet