Debug mode v G1


Dostal jsem nápad na jednoduchou aplikačku pro Androida, tak jsem se odhodlal na můj domácí notebook nainstalovat Eclipse a Android SDK. Už tu tato kombinace jednou byla, ale protože jsem měl nainstalovánu hromadu modulů (PDT, vývoj pro EE i ME…), tak šlo celé Eclipse k čertu a já na Androidí SDK zanevřel :-).

Teď jsem však vyzkoušel druhý pokus a vše zatím funguje. Stáhl jsem Ganymede bundlované pro Java vývojáře a podle návodu na dev stránkách androidu nainstaloval SDKčko a plugin do Eclipse. Nutno podotknout, že tohle by zvládla i necvičená opice.Problémy měly teprve nastat, ale popořádku :-). Všechno frčelo bez problémů (teda až na drobnost, kterou jsem si nedávno prošel na mém DEV stroji – a sice, že Eclipse má problémy s GCJ a vyžaduje JDK od Sunu, takže rozřešeno během mrknutí oka). HelloAndroid aplikace deploynuta na emulátor, přichází touha dostat ji do telefonu. Nahrávám na kartu, spouštím installer, instaluji…ouha – Open volba je disablovana. Aha, aplikačka asi nebude podepsaná. Zkusím jinou možnost – přímý deploy do telefonu.

Na dev stránkách, ze kterých jsem čerpal informace, jsem však nenašel, jak na to. Přidržel jsem se mého oblíbeného hesla STFG a našel, co jsem hledal – Developing on a Device. Návod stručný a jasný, ale nefunguju. Googlení mi neneslo žádné ovoce, tak jsem se zeptal a díky Fuxoftovi dospěl k řešení: je nutné spustit Android Debug Bridge Server. Prvotní pokusy bezúspěšné, po restartu počítače a telefonu success objeven – je nutno spouštět adb start-server pod rootem, jinak se telefon nepřipojí. Pokud server běží, je možné napíchnout telefon a adb devices jej vypíše (není nutno ani v telefonu dávat mount). Díky tomu sem teď můžu dát screenshot mé krásné plochy (pomocí ddms – mooc pěknej debugovací nástroj, zapříčinil mi dlouhý wooooow efekt :-)).

Image Hosted by ImageShack.us

Takže teď přepínám v nastavení parametrů spuštění volbu výběru zařízení z Automatic na Manual a dávám run…chvíle napětí a mám tu dialog:

Image Hosted by ImageShack.us

A sakra, device v1.1 a SDK verze 1.0 :-(. takze failed, jdu spat a mrknu na to zitra 😉 Natáhl jsem novější SDK – v1.1 r1 a stejně se mi nepodařil deploy na telefon, navíc mi přestává fungovat připojení zařízení jako Mass Storage (resp připojení funguje, ale odpojení už ne). Trápil jsem se s tím docela dlouho a nakonec to vzdal (ale až budu mít náladu, ještě se k tomu vrátím a pogooglím). V každém případě jsem ale aplikaci do telefonu dostal – stačí se držet návodu popisujícím podepsání aplikace, takže jsem si vytvořil vlastní keystore, vytvořil .apk (Export unsigned application), podepsal a snažil se o upload do zařízení. Pomocí ddms či adb push se absolutně nedaří – ddms mi sice zobrazí adresářovou strukturu, ale jakmile pushnu, přestane reagovat, adb push dělá to stejné. Ok, zkouším to jinak – mountnu mass storage, nahraju .apk na kartu a snažím se domountovat… nic :-(. Do třetice zkouším nahrát aplikaci na web a stahuju ji do telefonu, instalace… a úspěch! Jde to spustit a funguje, sláva! Krkolomně, ale lepší než drátem do oka, budu muset zjistit, proč mě to nefunguje, jak má.

Vývojářské nástroje pro Androida hodnotím kladně, i když jsem narazil místy na mouchy (a určitě jich ještě pěkných pár bude) , o kterých není v oficiální dokumentaci zmínka a člověk se musí složitě pídit po řešení. Naštěstí je však komunita vcelku velká a množství zdrojů je taky poměrně velké. Rád bych zmínil především diskuní fórum anddev a oficiální mailing listy na google groups. Těším se na další programování a laborování s Androidem, opravdu z něj mám dobrý pocit.


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *