Hlavní navigace

Vytuněný Android umí mnohem víc

Adam Štrauch

Minulý týden jsme si společně ukázali, jak zpřístupnit roota na běžně prodávaném telefonu s Androidem HTC Hero. Dnes budeme v tomto tématu pokračovat a ukážeme si čtyři základní věci, které můžeme s rootem dělat. Odvážnější z vás mohou zkusit přejít na novou verzi Androida, i když z neoficiálních rukou.

Motivační úvod

Hned na začátku musím říci, že v tomto článku jsou popisované mnohem větší zásahy do systému než v tom minulém a pokud se někde překliknete, zaděláte si na krušné chvíle. Berte na vědomí, že vše děláte na vlastní zodpovědnost a za škody na vašem telefonu jako autor neručím. Opravdu si dejte pozor na to, co děláte a odkud co opisujete. Příklady uváděné zde jsou otestovány na mém telefonu HTC Hero a nemusí nutně fungovat na jiných telefonech.

Odměnou na konci tohoto článku může být zbrusu nový Android 2.1, případně o chybějící funkce vylepšený originální systém. Podíváme se i na mezikrok, tedy originální systém upravený komunitou tak, aby obsahoval všechno, co mu Google a HTC nedaly.

BusyBox

Hned po koupi nějakého telefonu zjistíte, že má velmi omezené možnosti v příkazové řádce, linuxáky určitě překvapení i absence HTTP serveru a ještě více zamrzí to, že nemůžete jako Čech kupovat aplikace. I když ta poslední vlastnost poslední zdánlivě nepatří k BusyBoxu, tak bez BusyBoxu nerozjedeme Market Enabler a tudíž si nekoupíte žádnou aplikaci. V kódu Market Enableru je použit grep, který se v originálním systému nenachází, takže BusyBox budeme potřebovat minimálně proto.

BusyBox je jeden binární soubor, který obsahuje implementaci základních nástrojů z UNIXu, včetně jednoduchého webového serveru. Instalace do telefonu spočívá v tom, že se musí tenhle soubor nahrát někam do paměti a nainstalovat jeho symlinky na místo, kam sahá systémová proměnná PATH. Samotný zkompilovaný BusyBox získáme třeba ze stránky benno.id.au. Návod uváděný na odkazované stránce raději nechme stranou, protože pro naše účely fungovat nebude.

Naší snahou bude s co nejmenším zásahem do systému umístit BusyBox tam, kde na něj uvidí proměnná PATH. Nejdříve tedy musíme zjistit, co v této proměnné je. Začneme tedy tím, že připojíme telefon USB kabelem, spustíme USB ladění v nastavení telefonu a pak shell zadáním:

pc $ adb shell 

V telefonu zjistíme, co proměnná PATH obsahuje:

android $ echo $PATH
/sbin:/system/sbin:/system/bin:/system/xbin 

Zde vidíme 4 adresáře, z nichž dva existují a dva ne. Nejjednodušší tedy bude použít jeden z těch, co neexistuje, a moje oko padlo na /system/xbin. Zkopírujeme tam BusyBox, který jsme stáhli z odkazované stránky. Nejdříve se musíme odpojit od ADB daemona a použít adb pro kopírování. Nejjednodušší to bude někam na kartu.

pc $ wget http://benno.id.au/android/busybox
pc $ adb push busybox /sdcard/ 

Pak se přepneme do roota, vytvoříme adresář „/system/xbin“, do něj nakopírujeme BusyBox z karty a nainstalujeme jeho symlinky.

pc $ adb shell
android $ su
android # mkdir /system/xbin
android # mv /sdcard/busybox /system/xbin/
android # cd /system/xbin
android # ./busybox --install 

BusyBox je na svém místě. Je čas odejít z práv roota a zkusit si třeba grep:

android $ ps | grep fsck
app_73   13531 36    154736 20472 ffffffff afe0d3e4 S com.fsck.k9 

U telefonů, které se aktualizují přes OTA by takovýto BusyBox mohl dělat problémy, resp. by s aktualizací mohl zmizet. U nás prodávané HTC Hero se přes OTA neaktualizuje, takže se není čeho bát.

Market Enabler

Závislosti na spuštění Market Enableru (ME) máme splněny, takže se můžeme vrhnout na něj. V Marketu ME nenajdeme a budeme muset sáhnout na neoficiální kanály a podívat se na jeho domovskou stránku. Stáhneme z ní ME a dáme se do instalace. Proč má soubor koncovku html netuším, ale změnou na apk nic nezkazíme, naopak. Pak soubor přesuneme do telefonu. To všechno uděláme např. následujícím způsobem:

pc $ wget http://market-enabler.googlecode.com/files/MarketEnabler_latest.html
pc $ mv MarketEnabler_latest.html MarketEnabler_latest.apk
pc $ adb push MarketEnabler_latest.apk /sdcard/ 

Pak tapneme na telefonu v nějakém správci souborů na přesunutý soubor a ME se nainstaluje.

ME funguje tak, že Marketu předhodí jiný kód operátora a ten povolí i placené aplikace. Změnu lze udělat i ručně, ale ME je mnohem pohodlnější. Bohužel není proces automatizovaný, takže je potřeba ME spustit a nastavit po každém startu telefonu.

android-me

Po spuštění ME vidíme tři karty. Na první je aktuální nastavení, v druhé je seznam operátorů, jejichž zákazníci mohou na Marketu kupovat aplikace a třetí umožňuje nastavit vlastní kód operátora.

android-me2

Nás bude zajímat hlavně druhá karta, kde ze seznamu vybereme nějakého operátora, který se nám líbí nejvíc, podržíme na něm prst a pak odklikneme „fake this provider now“. Povolíme přístup k rootovi a tím je vše zařízeno a můžeme kupovat aplikace. Platba za aplikace se řeší přes Google Checkout a platební kartu. Funguje bez problémově i s českou kartou.

Tethering

Velmi dobrým nástrojem pro telefony s Androidem jsou programy na tzv. tethering. To znamená, že telefon se může stát WiFi APčkem nebo bodem v Bluetooth síti a sdílet mobilní připojení k Internetu. Obojí je energeticky velmi náročné, takže osobně využívám hlavně připojení přes kabel, které jede na Linuxu bez problému a telefon se zároveň dobíjí.

android-tether1

Když už ale máme toho roota, tak proč tethering alespoň nerozjet. Díky lobby T-mobilu už není tato aplikace přístupná na Marketu, takže musíme opět zavítat na stránku aplikace a stáhnout si ji odtud. Tady už nemusíme používat složitě kabel, protože je na stránce QR kód, kterým se dá načíst do telefonu URL adresa aplikace. Instalace je pak na tři tapnutí.

Při prvním spuštění si program řekne o roota a nakopíruje si nějaké svoje skripty do systému. Důležité je program správně nastavit v konfiguračním menu. Jde hlavně o to, jestli budete chtít sdílet připojení pomocí WiFi nebo Bluetooth a nějaké varianty omezení. Nejde o nic složitého a uvidíte to na první pohled.

android-tether2

Pokud je vše hotové, tapnete na zelené logo programu a sdílení začne.

Flashování ROM

A nakonec se dostáváme k tomu nejdůležitějšímu a to je výměna originálního systému za nový, tedy vyměníme tzv. ROM. To uděláme tak, že si stáhneme nějakou ROM povalující se na různých fórech. Vybíráme otestované ROM od spolehlivého zdroje jako je MoDaCo a podobně. Často se dozvíte v diskusi jestli ROM neobsahuje nějaké zádrhele.

Po stáhnutí ROM ji nakopírujeme na kartu a nabootujeme do recovery. Zde jako první uděláme tzv. nandroid zálohu. Ta zkopíruje kompletní obsah paměti včetně samotné recovery. Tím máme jistotu, že můžeme vrátit telefon do původního stavu. Pokud se nejedná jen o aktualizaci, tak musíme vyčistit datovou část paměti od těch dat, která by mohla dělat problémy. Jsou tam uložené SQLite databáze programů. Novější verze může mít jinou strukturu tabulek a bude mít tendence k pádům. Když to pak dělá polovina systému, je to nehezký pohled. Proto spustíme tzv. wipe, který vymaže data a cache. Nyní je telefon připraven na nový systém.

ROMky jsou převážně pouhé zip soubory obsahující data pro jednotlivé části paměti a nějaké instalační skripty. Není to nic složitého a jejich použití je bezpečnější jak originální aktualizační utilitka. Amon RA Recovery, kterou jsme instalovali minulý týden má v menu položku, která ukáže jaké zip soubory, tedy ROMky, jsou nahrané na kartě a po zvolení jednoho z nich a potvrzení začne kopírování dat. Aktualizovat telefon tímto způsobem je relativně rychlé. Na druhou stranu po rebootu začne nabíhat nový systém a ten si při prvním spuštění dává hodně načas, takže nezačínejte panikařit dřív jak za několik minut. Podle mých zkušeností telefon do pěti minut naběhne. Druhý a další boot je samozřejmě nesrovnatelně rychlejší.

Začneme tedy tím, že se přepneme do recovery vypnutím telefonu a znovu spuštěním pomocí POWER+HOME. Po naběhnutí zvolíme „Backup/Restore“ a dáme „nand-backup“.

android backup progress

Po provedení zálohy přejdeme do kořene menu a zvolíme „Wipe“ a vybereme hned první položku, která vrátí telefon do továrního nastavení.

wipe-complete

Pak opět přejdeme do kořene menu vybereme „Flash zip from sdcard“. Tam se objeví seznam zip souborů a vybereme ten s naší romkou.

android-flash-copying

Nakonec zbývá už jen restartovat a dlouho čekat.

Jaké jsou možnosti ve výběru ROMek

Určitě vás zajímá jaké máte možnosti ve výběru. U HTC Hero jich zas tolik není, řekněme řádově v desítkách. Když se podíváme na G1 od T-mobile, tak zde je těch komunitních obrazů mnohem více. U Hera byste neměli přehlídnout následující ROMky:

Všechny čtyři jsem sám vyzkoušel, i když v různých vývojových stádiích. Osobně doporučuji nahodit MoDaCo ROM a nejlíp z jejich online kitchen, kde si můžete ROMku upravit podle svého. Chtějí za tento nástroj sice 10 USD ročně, ale získáte mnohem přizpůsobenější telefon, nemluvě o dalších výhodách z tohoto poplatku vycházejících. MoDaCo ROM vychází z originální ROMky a přidává tam všechna vylepšení, které jsme si popsali výše i některá další. Originální ROMka je hned další v pořadí. Je stabilní, ale budete si ji muset sami upravit. BeHero ROM je asi nejlepší volba pokud chcete Androida 2.1. Nemohl jsem sice ověřit výdrž baterie, ale pokud jde o funkce, tak až na automatickou regulaci podsvětlení jsem nenarazil na jediný problém. Poslední ROMka, kterou jsem zkoušel, je HERO21. Od doby, co jsem ji zkoušel naposled, již nějaký ten pátek uběhl. Podle changelogů to vypadá, že se všechny hlavní nedostatky podařilo odstranit, takže je to také dobrá volba, pokud chcete Androida 2.1.

Závěr

Z dalších možností, které se s rootem otevřou, a které jsem v článku nezmínil, je funkční přenos souborů přes Bluetooth na Androidu verze menší jak 2.0, možnost instalovat aplikace na kartu a swap. Jelikož je HTC Hero telefon, který swap ani instalaci na kartu nepotřebuje, protože paměti má zrovna dost, tak jsem ani jednu funkci nezkoušel. Programy na Bluetooth nemám taktéž vyzkoušené, ale předpokládám, že oficiální Android 2.1 pro HTC Hero bude venku dřív, než začnu mít potřebu přenášet soubory přes Bluetooth.

Pokud jde o oficiální vydání Androida 2.1 pro HTC Hero, tak to mělo být k dispozici v polovině března. To už máme za sebou, ale nemá smysl věšet hlavu, protože obrazy, které unikly z HTC, už vypadají velmi dobře, jsou stabilní a chybí posledních pár detailů. To znamená, že nový oficiální Android je už někde za dveřmi. Nezapomeňte sledovat adresy hero.modaco.com a forum.xda-developers.com.

Android 2.1

Android 2.1 se od 1.5 resp. 1.6. velmi změnil, a to k lepšímu. Vyladily se některé funkce a celkově systém vypadá lépe. Pokud bude zájem, můžu pokračovat seriálem a představit vám Androida 2.1 v jeho celé kráse, včetně některých jeho aplikací, které by rozhodně neměly chybět v žádném telefonu. Budu taky velmi rád, pokud se podělíte v diskusi o zkušenostmi s jinými ROMkami.

Našli jste v článku chybu?

17. 3. 2010 6:54

Milan (neregistrovaný)

Asi protoze lidi chteji telefon a ne linux. Android je v pohode. Dobre navrzeny, stabilni rychly a pokud chces, tak si z toho ten linux muzes klidne udelat a ani to neni moc prace. Ted jeste kdyby nekteri vyvojari nebyli prasata a implementovali update svych aplikaci, tak jak je ukazano v tutorialech a bylo by to dokonale.

17. 3. 2010 16:26

mě tedy absence webserveru moc nepřekvapuje, nepatří to zrovna k častým požadavkům na telefon :)

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Root.cz: Nová třída SD karet A1 s vysokým výkonem

Nová třída SD karet A1 s vysokým výkonem

DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

DigiZone.cz: SES zajistí HD pro M7 Group

SES zajistí HD pro M7 Group

Vitalia.cz: To nejhorší při horečce u dětí: Febrilní křeče

To nejhorší při horečce u dětí: Febrilní křeče

Vitalia.cz: Test na HIV je zdarma i za pět set

Test na HIV je zdarma i za pět set

Vitalia.cz: Jak vybrat ořechy do cukroví a kde mají levné

Jak vybrat ořechy do cukroví a kde mají levné

DigiZone.cz: Sat novinky: slovenská TV8 HD i ruský NTV Mir

Sat novinky: slovenská TV8 HD i ruský NTV Mir

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Nejlepší obranou při nachlazení je útok

Nejlepší obranou při nachlazení je útok

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Lupa.cz: Levný tarif pro Brno nebude, je to kartel

Levný tarif pro Brno nebude, je to kartel

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky