Prehľad spustenia a ladenia aplikácií na Android. Pripojenie fyzického zariadenia na Android Studio Debugging Android aplikácie na zariadení

Skôr som napísal. Problém môžete dramaticky vyriešiť, nepoužívajte emulátor a okamžite otestujte na mobilnom zariadení spustení Android. Mám nádherné HTC a nastaviť. Takže, aby ste mohli spustiť aplikácie na fyzickom zariadení, ktoré potrebujete:

  1. V telefóne umožnite funkciu ladenia USB. Môžete to urobiť zadaním ponuky nastavení -\u003e Aplikácie -\u003e Vývoj a inštalácia začiarknutia "USB Debug"
  2. Počkajte na inštaláciu ovládača
  3. Vypnite a znova pripojte telefón k počítaču.

Ak chcete overiť, či je telefón viditeľný v počítači, musíte vykonať nasledovné:

Ak máte tento spôsob, môžete použiť špeciálny program: pdanet. () Zvyčajne sa používa na používanie internetu z telefónu z počítača, ale ukázalo sa, že obsahuje obrovské množstvo ovládačov pre telefóny. Pri inštalácii som sa spýtal model zariadenia a ďalej skočil na krásny červený balón s upozornením, že vodič nebol testovaný, a všetko by mohlo skončiť, ale nie - všetko je v poriadku. Potom som opäť spustil šek (vyššie uvedený príkaz) a môj telefón sa objavil v zozname zariadení.

Ako pracovať z Eclipse? V skutočnosti sa všetko robí - stačí spustiť projekt a otvára sa na telefóne.

Pri vytváraní aplikácií pre Android používa väčšina vývojárov rôzne emulátory. Je to vhodné, pretože nemusíte uložiť veľa rôznych zariadení v tabuľkových boxoch, neexistuje žiadna bolesť hlavy so spojovacími zariadeniami do počítača, nie sú žiadne hromady vodičov na stole. Kliknite na myš a pozrite si prácu svojho programu na obrazovke počítača. Jednoduché a elegantné. Emulátor však nie je telefón. Je obmedzená vo svojich schopnostiach. Ak vaša aplikácia používa nejaké špecifické hardvérové \u200b\u200bfunkcie, ako je napríklad prevádzka fotoaparátu, Bluetooth alebo USB pripojenie, práca pri prijímaní telefonického hovoru, s množstvom pravdepodobnosti, ktorú môžete povedať, že nemôžete robiť bez ladenia na skutočnom zariadení. Našťastie, Eclipse obsahuje všetko, čo potrebujete na vyriešenie tohto problému.

Pripojenie telefónu a spustenie programu

Pred pripojením telefónu k počítaču pomocou dátového kábla USB musíte vykonať niekoľko prípravných akcií. Faktom je, že Eclipse je nakonfigurovaný na prácu s emulátorom a musíme upraviť konfiguráciu režimu ladenia. Je to jednoduché. Vyberte položku Spustiť\u003e Konfigurácia konfigurácie konfigurácie a potom DroidDebug. Na karte Cieľ v sekcii Cieľový režim nasadenia je potrebné nastaviť prepínač do manuálnej polohy a kliknite na tlačidlo Použiť. Je teda povolená režim výberu manuálnej platformy. Teraz, keď spustíte aplikáciu, zobrazí sa dialógové okno, kde môžete vybrať emulátor alebo jeden z pripojených telefónov.

Ak chcete, aby telefón v režime Debug, musí byť tiež podľa toho upravená. Byť na domovskej obrazovke, musíte kliknúť na tlačidlo MENU a nájsť aplikáciu Nastavenia. V tejto aplikácii otvorte časť "Aplikácie" a potom vývojovú položku. Na obrazovke, ktorá sa otvorí, musíte zaškrtnúť vedľa položky "USB Debging". Táto postupnosť akcií pracuje na väčšine telefónov, ale je možné, že na vašom zariadení sa režim Debug UBS zapne niekde inde.

Pripojte telefón k počítaču a kliknite na tlačidlo Debug v Eclipse. V dialógovom okne, ktoré sa zobrazí, zobrazí sa dva zoznamy: "Vyberte si spustenie zariadenia Android" a "Spustite nové zariadenie Android virtuálne zariadenie". Prvý z týchto zoznamov zobrazí telefóny pripojené k počítaču, v druhom emulátoroch. Vyberte telefón v prvom zozname. Eclipse Spustite aplikáciu Nastavenie do telefónu a spustí ho. Môžete neskladniť svoj program.

Monitorovanie stavu telefónu DDMS (služba monitora Dalvik Debug)

Všetky informácie o stave telefónu sú dostupné prostredníctvom špeciálneho nástroja s názvom DDMS Debugging Service (služba monitora Dalvik Debug). Ak chcete spustiť, kliknite na tlačidlo s obrázkom Android v pravom hornom rohu Eclipse.

Okno DDMS pozostáva z niekoľkých panelov. Panel Zariadenia zobrazuje zoznam dostupných emulátorov a pripojených telefónov. Tu je zoznam procesov bežiacich v súčasnosti. Každý proces začína vo svojom vlastnom virtuálnom stroji. Na karte Samostatné závity sa zobrazia vlákna. Karta Explorer súborov je určená na prácu s telefónnym systémom. S ním môžete kopírovať súbory z počítača do telefónu a dozadu. Pomocou tlačidla snímania obrazovky môžete vykonať snímku obrazovky telefónu. Tlačidlo so zeleným chrobákom umožňuje pripojiť debugger na vybraný proces. Ak chcete použiť túto funkciu, musíte mať pre tento proces otvorený zdrojový kód.

Treba tiež poznamenať, že prihlasovací nástroj logcat a zodpovedajúci panel, ktorý môže byť veľmi užitočný pri hľadaní chýb. Práca s časopisom sa vykonáva prostredníctvom špeciálnej triedy Android.util.log. Najčastejšie používané nasledujúce metódy:

Log.e () - Ak chcete prihlásiť chybu,
Log.w () - pre upozornenia na novinávanie,
LOG.I () - do informačných správ žurnalovania,
Log.d () - na novinárstvo ladenie,
LOG.V () - pre protokolovanie podrobných záznamov,

Ako parametre musia byť tieto metódy prenesené na dve riadky. Prvá tag, ktorá sa potom môže použiť na vyhľadávanie a filtrovanie v LogCat. Druhou sú skutočné informácie, ktoré sú zapísané do časopisu.

Pieskovisko

Server 18. septembra 2011 o 15:55

Prehľad spustenia a ladenia aplikácií na Android

  • Rumber Room *

Vypracovanie vašej prvej aplikácie Android, som bežal do problému spustenia aplikácie na kontrolu a ladenie. Tento článok by mal pomôcť novému používateľovi vybrať emulačný nástroj.

Android virtuálne zariadenie (AVD)
Inštalácia:
Tento emulačný nástroj je zapustený do Android SDK.

Nastaviť:
(V príklade používania ECLIPSE)
Okno\u003e Android SDK a AVD Manager\u003e Nový
Zadajte názov virtuálneho zariadenia, plošiny, veľkosti pamäťovej karty, typ zobrazenia ...
Kliknite na položku Vytvoriť AVD.

Spustiť:
Prvý emulátor spustenia trvá veľmi dlho, najmä na slabých zariadeniach. Napríklad, nikdy by som nemohol čakať na prvé spustenie na mojom netbooku, ale prvý čas na počítači bol presvedčený, že emulátor išiel do večného cyklu.
Následné spustenia emulátora bude mierne rozmazané.
Čas medzi stlačením tlačidla "RUN" a vzhľadu hlavnej aktivácie testovanej aplikácie na emulátore prechádza v priemere 11 sekúnd. Opatrenia vynaložené na pomerne produktívnom počítači.

Výhody a nevýhody:
+ Schopnosť otestovať aplikáciu na rôznych verziách systému Android OS, na zariadeniach s rôznymi typmi displeja ...
+ Rôzne nastavenia potrebné na testovanie, napríklad zmenu orientácie obrazovky
+ Emulácia SD karta
- veľké časové obdobie medzi stlačením tlačidla "RUN" a spustíte aplikáciu na emulátore
- Emulátor funguje veľmi pomaly, napríklad skutočnosť, že telefón spracovával 1-2 sekundy, emulátor urobil za 8-10 sekúnd

VirtualBox + Android X86
Inštalácia a nastavenie:
  1. Stiahnite si a nainštalujte virtualBox.
  2. Stiahnite si obrázok.
  3. "Vytvoriť virtuálny stroj Linux 2.6 / Ostatné Linux, 512 MB RAM, Premostená sieť, HD 2 GB, vypnúť integráciu myši. Pripojte súbor ISO a načítajte jednu z možností LIVECD (existuje možnosť HDPI a MDPI) "alebo nasledovať toto pokyn.
  4. Kliknutím na tlačidlo ALT-F1 opustíte konzolu a zadajte NETCFG a zapamätajte si adresu IP emulátora. Ak sa chcete vrátiť na GUI, stlačte ALT-F7.
  5. aDB Connect.

Spustiť:
Čas medzi stlačením tlačidla "RUN" a vzhľadu hlavnej aktivácie testovanej aplikácie na emulátore neblokoval, ale podľa subjektívnych pocitov sa to deje takmer okamžite.

Výhody a nevýhody:
+ malé časové obdobie medzi stlačením tlačidla "RUN" a spustite aplikáciu na emulátore
+ miesta chopper
- dostatočne dlhá a niekedy problematická inštalácia
- Emulátor pracuje v miestach pomaly, existujú problémy s obrazom (najmä na MDPI)
- Problémy s emuláciou karty SD, zmena orientácie obrazovky, ...
- iba dve (tri) dostupné verzie systému Android OS a iba dve dostupné typy displeja

Telefón s operačným systémom Android pripojený cez USB
Inštalácia a nastavenie:
  1. Zapnite režim telefónu. (Formy\u003e Aplikácie\u003e Vývoj\u003e UPB ladenie).
  2. Stiahnite si ovládač pre telefón.
  3. Pripojujeme telefón k počítaču.
  4. Nainštalujte ovládače. Sekcia rozhrania ADB by sa mala zobraziť v správcovi zariadení.
  5. zariadenia ADB. Ak sa telefón nezobrazí v zozname, znova nainštalujte ovládač ADB.

Spustiť:
Medzi kliknutím na tlačidlo "RUN" a vzhľad hlavnej aktivácie testovanej aplikácie na telefóne trvá približne 5 sekúnd.

Výhody a nevýhody:
+ Schopnosť zobraziť aplikáciu ako užívateľ uvidí (veľmi dôležitý moment, najmä pri vytváraní aplikačného rozhrania a dizajnu)
+ Multach (ak je v telefóne)
+ Zmena orientácie obrazovky, akcelerometer (ak je v telefóne)
- iba jedna verzia operačného systému a jedného typu displeja
- Na fyzickej pracovnej ploche sa zobrazí ďalší objekt

Závery:
Snažil som sa pracovať s každým z týchto emulačných nástrojov a zastavil sa na túto verziu:
1. písanie a testovanie aplikácie pomocou telefónu;
2. Testovanie aplikácie na mnohých virtuálnych zariadeniach so systémom Android s rôznymi kombináciami verzie OS a typu zobrazenia.
Dúfam, že čítanie urobilo výber emulátora alebo sa naučil niečo nové pre seba.
Veľa šťastia v testovaní!

Účelom tejto kapitoly je napísať minimálnu aplikáciu podľa Android. Ale nikdy sa nevieme presne, keby sme boli schopní napísať niečo funkčné, bez toho, aby sme sa mohli spustiť na skutočnom zariadení. Toto sa budeme zaoberať týmto článkom.

Schopnosť otestovať na smartfóne poskytuje ADB (Android Debug Bridge). V tomto článku ho konfigurujeme a spustite našu aplikáciu na tento smartphone.

Čo je adb.

Android Debug Bridge (ADB) je univerzálnym príkazovým riadkom nástrojom, ktorý prispieva k interakcii medzi rozvojovým prostredím, v našom prípade AVD ANDROID štúdio a AVD Emulators alebo Fyzikálne systémy Android pre možnosť štartovania a ladenia aplikácií.

ADB sa skladá z klienta, zo servera, ktorý funguje ako na pozadí, na vývoji počítača a od démona, ktorý pracuje ako pozadie v každej inštancii emulátora alebo skutočného zariadenia.

Konfigurácia zariadení so systémom Android na prácu s ADB

Aby ste mohli používať ADB s zariadením USB, musíte povoliť racovanie USB v systémových nastaveniach telefónu alebo tabletu v časti "Nastavenia vývojára" (názov sa môže líšiť). Na niektorých zariadeniach je táto časť skrytá štandardne. Zvážte kroky v prípade, keď nie sú požadované nastavenia.

  1. Prejdite na nastavenia, časť "na zariadení"
  2. Nájdite položku "Build Number" a kliknite na ňu 7 krát. Okno, ktoré oznamuje, že režim developer je aktivovaný.
  3. Teraz v nastaveniach by mala existovať časť parametrov vývojára.
  4. Zapnite možnosť "Debug USB" v ňom.

Teraz, keď pripojíte zariadenie k počítaču, v závislosti od modelu, môžete mať novú možnosť pripojenia.

ADB nastavenie v systéme Windows

Pri konfigurácii systému Windows najprv sa uistite, že máte službu Google USB ovládač. Prejdite na správcu SDK v sekcii Doplnky a nájdite ovládač Google USB, nainštalujte ho v prípade potreby.


Teraz by ste mali aktualizovať vodiča. Pripojte zariadenie k počítaču, prejdite na ovládací panel -\u003e Zariadenie a zvuk -\u003e Správca zariadení Nájdite zariadenie. Kliknutím pravým tlačidlom myši na zariadenie otvoríte kontextové menu a vyberte "Update Ovládače ...". Vodič nájdete v adresári SDK v podpriečinku (SDK Directory) Extras - USB_DRIVER.

Ako skontrolovať správnosť nastavení ADB?

Ak chcete skontrolovať výkon ADB, pripojte zariadenie k počítaču, spustite v priečinku (SDK Directory) Platform-Tools Command Line a zadajte príkaz v ňom:

Zariadenia ADB.

Zobrazí sa zoznam podobný:

Zoznam zariadení pripojených 5CDB2CEd

Spustiť aplikáciu na skutočné zariadenie

Rovnako ako v prípade spustenia emulátora. Otvorte náš projekt v systéme Android Studio, kliknite na zelený trojuholník, ale v okne výberu zariadenia, ktoré sa zobrazí, vyberte zariadenie.


Ak je napísané, že zariadenie je offline, vezmite USB a nechajte USB ladenie do počítača:

V dôsledku toho sa naša aplikácia zdala na obrazovke telefónu alebo tabliet.

Záver

To končí kapitolu. Podarilo sa nám: mohli nakonfigurovať náš systém na vývoj aplikácií pre Android a dokonca spustiť jeden z nich na súčasnom zariadení.

Ak niečo aktívne nefunguje, alebo ste zmätení, prosím odhláste, prosím, v komentároch a pomôžem vám riešiť váš problém.

Dekomplika a ladenie android aplikácie

Alexander Antipov.

Článok sa bude diskutovať o tom, ako pripojiť debugger na aplikáciu Android a krok za krokom prejsť metódy s použitím informácií získaných po dekompilácii aplikácie.


Článok sa bude diskutovať o tom, ako pripojiť debugger na aplikáciu Android a krok za krokom prejsť metódy s použitím informácií získaných po dekompilácii aplikácie. Dobrou správou je, že ladenie nevyžaduje privilégiá superuser. Opísané techniky môžu byť veľmi užitočné počas mobilných aplikácií, pretože môžeme "preniknúť" do kódu počas programu, získať a zaznamenať informácie, ku ktorému máme zvyčajne prístup. Napríklad môžete zachytiť prevádzku pred šifrovaním a získať kľúče, heslá a akékoľvek iné cenné informácie o lietať. Článok bude užitočný pre pensets a mobilných aplikácií vývojárov, ktorí chcú hlbšie znalosti o možných útokoch na platforme Android.

Požiadavky na testovacie prostredie:

  • Operačný systém: Windows / Mac OS X / Linux
  • Java (odporúčaná verzia 1.7)
  • IDE (Eclipse, Intellij Idea, Android Studio)
  • Android SDK (https://developer.android.com/sdk/index.html?hl\u003di)
  • Apktool (https://code.google.com/p/androidoid -apktool/) / APK Studio (http://apkstudio.codeplex.com)
  • Zariadenie / emulátor založené na Android

Článok použije nasledujúcu konfiguráciu: Windows 8, Android Studio a Intellij nápad. Zariadenie: Nexus 4 so systémom Android 4.4.4. Odporúčam všetky pomôcky na pridanie do premennej prostredia PATH, aby ste uľahčili a zrýchlite prístup k týmto nástrojom.

Android aplikácia Package (APK) Používa sa v článku, môžete si stiahnuť odtiaľ: com.netspi.egruber.test.APK .

Nastavenie zariadenia

Nižšie uvedená inštrukcia vám pomôže pripraviť zariadenie na experimenty.

Aktivácia sekcie možností vývojára

Ak chcete začať na zariadení so systémom Android, ladenie cez USB (možnosť ladenia USB), ktorá vám umožní "komunikovať" so zariadením pomocou nástrojov zo SDK SUD. Je však potrebné aktivovať sekciu možností vývojára. Na prístroji, prejdite na nastavenia\u003e O telefóne a kliknite niekoľkokrát na číslo zostavenia, po ktorom by sa mala zobrazovať správa, či je aktivovaná správa o možnostiach vývojára.

Obrázok 1: Aby ste aktivovali sekciu možností vývojára, musíte niekoľkokrát kliknúť na číslo budovania

Ladenie cez USB

Ak chcete povoliť ladenie prostredníctvom portu USB, prejdite na Nastavenia\u003e Možnosti vývojára a začiarknite políčko vedľa ladenia USB.

Obrázok 2: Povolenie ladenia možností USB

Pripojenie zariadenia a spustenie ADB

Po pripojení zariadenia k počítaču cez portu USB sa má zobraziť správa "USB ladenie pripojené na zariadení". Mali by ste tiež skontrolovať, či sa môžete pripojiť k zariadeniu pomocou aplikácie Android Debug Bridge (ADB) zahrnutá v Android SDK (Android SDK Platform-Tools Package). V príkazovom riadku zadajte nasledujúci príkaz:

Zariadenie sa musí zobraziť v zozname.

Obrázok 3: Zoznam pripojených zariadení

Ak sa zariadenie nezobrazí v zozname, potom najpravdepodobnejší dôvod v nesprávnych inštalovaných ovládačoch (v systéme Windows). V závislosti od zariadenia môže byť vodič nájdený buď v systéme Android SDK alebo na internetovej stránke výrobcu.

Skontrolujte žiadosť o ladenie

Pred debugovaním aplikácií pre Android je najprv potrebné skontrolovať, či je takáto príležitosť. Kontrola môže byť vykonaná niekoľkými spôsobmi.

Prvý spôsob, ako spustiť Android zariadenieZahrnuté v Android SDK (v priečinku Nástroje). V systéme Windows sa súbor nazýva Monitor.Bat. Pri otváraní Android zariadenia monitora sa zariadenie zobrazí v časti Zariadenia.

Obrázok 4: Aplikácia monitora Android zariadenia

Ak je možné ľutovať akúkoľvek aplikáciu na zariadení, táto aplikácia sa zobrazí aj v zozname. Vytvoril som testovací program, ale zoznam je prázdny, pretože nie je možné neskladovať program.

Druhý spôsob, ako skontrolovať aplikáciu na ladenie aplikácie, je preskúmať súbor AndroidManifest.xml z balíka Application Package (APK, Android aplikácia). APK je ZIP Archív obsahujúci všetky informácie potrebné na spustenie aplikácie na zariadení so systémom Android.

Kedykoľvek sú aplikácie načítané z obchodu Google Play, je tiež načítaný balík aplikácií. Všetky prevzaté súbory APK sú zvyčajne uložené na zariadení v priečinku / DATA / APP. Ak nemáte právo Superuser, nebudete môcť získať zoznam súborov z adresára / dátových / aplikácií. Hoci, ak poznáte názov APK súbor, môžete ho skopírovať pomocou pomôcky adb.. Ak chcete zistiť názov APK, zadajte nasledujúci príkaz:

Zobrazí sa príkazový riadok zariadenia. Potom zadajte nasledujúci príkaz:

pM Zoznam balíkov -f

Zobrazí sa zoznam všetkých balíkov na prístroji.

Obrázok 5: Zoznam balíkov na zariadení

Pri pohľade na zoznam nájdeme testovaciu aplikáciu.

Obrázok 6: Balík vytvorenej testovanej aplikácie (zvýraznený biely)

Teraz musíte skopírovať súbor balíka. Otvoríme shell a zadajte nasledujúci príkaz:

adb pull /data/App/[.APK súbor]

Obrázok 7: Kopírovanie súborov APK zo zariadenia do systému

Teraz musíte otvoriť súbor balíka a preskúmať obsah AndroidManifest.xml. Bohužiaľ, nemôžeme len rozbaliť archív, pretože súbor APK je kódovaný v binárnom formáte. Utility je najčastejšie používaný na dekódovanie. apktool, aj keď používam APK Studio.Keďže táto aplikácia má priateľské grafické rozhranie. Ďalej uvedie článok o APK Studio.

V APK Studio kliknite na malú zelenú ikonu, nastavte názov projektu a zadajte cestu k súboru APK. Potom zadajte nechať ho uložiť projekt.

Obrázok 8: Vytvorenie nového projektu v APK Studio

Po otváraní APK vyberte súbor AndroidManifest.xml a skontrolujte parametre značky aplikácie. Ak je flag Android: Debubgácia chýba (alebo prítomná, ale je nastavená falošná hodnota), znamená to, že žiadosť nie je možné neskúšťať.

Obrázok 9: Obsah súboru AndroidManifest.xml

Modifikácia súboru AndroidManifest.xml

Pomocou pomôcky APKTOOL alebo APK Studio môžeme upraviť súbory a obsah balíka späť do balíka. Teraz zmeníme súbor AndroidManifest.xml tak, aby aplikácia mohla byť ladená. Pridajte do aplikácie Tag, Line Android: Debuggable \u003d "TRUE".

Obrázok 10: Zmeňte obsah značky aplikácie

Po pridaní príznaku kliknutím na ikonu "Hammer" a znova zbierať balík. Balík opätovného zloženia bude umiestnený v adresári Build / APK.

Obrázok 11: Úspešne skontrolujte balík

Po prestavení sa prihlásite balík a môžete ho preinštalovať na zariadení (všetky aplikácie pre Android musia byť podpísané). Väčšina aplikácií nekontroluje certifikát, s ktorým dochádza k podpisu. V opačnom prípade musíte zmeniť kód, ktorý vykonáva túto kontrolu.

Teraz musíte nainštalovať opätovný balík. Po prvé, odstráňte starú aplikáciu pomocou nasledujúceho príkazu:

aDB PM Odinštalovať

Potom nastavte nový balík:

aDB Installs [.APK súbor]

Môžete tiež odstrániť a nainštalovať balík podľa jedného príkazu:

aDB Install -r [File]

Obrázok 12: Inštalácia rekonseneného balíka

Skontrolujte, či aplikácia Reset správne spustená na zariadení. Ak všetko funguje, vráťte sa na monitor zariadenia so systémom Android, kde sa má zobraziť testovaná aplikácia.

Obrázok 13: Teraz môže byť uplatnená aplikácia upravená

Konfigurácia rozvojového prostredia (IDE)

Teraz je možné debugger vyzdvihnúť až do aplikácie prehodnotených, ale najprv musíte vytvoriť projekt v rozvojovom prostredí (článok používa intellijok). Vytvorte nový projekt. V poli Názov aplikácie zadajte ľubovoľný názov. V poli Názov balíka zadajte názov, presne sa zhoduje s hierarchiou priečinka prehodnoteného balíka.

Obrázok 14: Vytvorenie nového projektu v intelizii

Zvyčajne sa názov APK súbor zhoduje so štruktúrou priečinkov, aj keď si nie ste istí, v APK Studio, skontrolujte hierarchiu adresára do priečinka, kde sa nachádzajú aplikácie. V mojom prípade názov a štruktúra priečinkov úplne zhodujú (com.netspi.egruber.test).

Obrázok 15: Hierarchia adresárov testovaných aplikácií

Zrušte začiarknutie políčka "Vytvoriť Hello World Activity" a dokončiť vytvorenie projektu (všetky ostatné parametre zostanú predvolené). Nový projekt by mal vyzerať takto:

Obrázok 16: Hierarchia priečinkov a súborov nového projektu

Po vytvorení projektu, pridajte zdrojový kód z súboru APK tak, že debugger "vedel" mená znakov, metód, premenných atď. Dobrou správou je, že aplikácie pre Android je možné dekompilovať takmer bez straty kvality (zdrojový kód sa zhoduje s originálom). Po dekompilovaní sa zdrojový text dováža do rozvojového prostredia (IDE).

Získanie zdrojových textov z balíka aplikácií

Najprv musíte previesť APK do súboru JAR. Potom my s pomocou java dekompilátora získavame zdrojový text aplikácie. Konverzia na JAR bude robiť s nástrojom dex2jar. Dex2jar má súbor D2J-dex2jar.bat používa na prevod APK do Jar. Syntax tímov je celkom jednoduchý:

d2j-dex2jar.bat [.APK súbor]

Obrázok 17: Konverzia APK v nádobe

Potom otvorte alebo presuňte prijatý súbor v JD-GUI (toto je java dekompilátor).

Obrázok 18: Štruktúra súborov JAR

Súbor JAR by sa mal zobraziť vo forme hierarchickej štruktúry, v ktorej sa nachádzajú súbory Java s čitateľným zdrojovým kódom. Prejdite na súbor\u003e Uložte všetky zdroje, aby sa zabalili všetky zdroje texty v archíve ZIP.

Obrázok 19: Uloženie zdrojových textov súboru dekompilovaných

Po uložení zdrojových textov sa archív rozbaľte do samostatného adresára.

Obrázok 20: Rozbalený archív

Teraz musíte dovážať obe adresáre k predtým vytvorenému projektu v IDE. Intellij Prejdite na priečinok SRC a skopírujte tam obsah nebaleného archívu (dva adresáre).

Obrázok 21: Obidva priečinky sa skopírujú do adresára SRC

Vrátenie sa do Intellij, vidíme aktualizovaný projekt.

Obrázok 22: V projekte sa objavil zdrojové texty

Ak kliknete na nejaký prvok zo zoznamu, uvidíme zdrojový text. Ako je možné vidieť na obrázku nižšie (zdrojový text triedy loginaktivity), zdrojový kód je opísaný pomocou PROGUARD.

Obrázok 23: Opphelted Source Text LoginAktivita

Spájanie debugger

Teraz, keď sa zdrojové texty objavili v projekte, môžeme začať inštalovať bodové body na metódy a premenné. Po dosiahnutí bodov vypnutia sa žiadosť zastaví. Ako príklad som nainštaloval bod zastavenia na spôsob (priamo v kódexe komponentov), \u200b\u200bktorý je zodpovedný za spracovanie informácií zadaných v textovom poli.

Obrázok 24: Vložte bod zastavenia pre metódu komponentov

Akonáhle sa zobrazí bod zastavenia, pripojte debugger na proces na zariadení kliknutím na ikonu s obrazovkou v pravom hornom rohu (na vašom IDE Ikona sa môže líšiť).

Obrázok 25: Pripojte debugger do procesu

Obrázok 26: Zoznam procesov pre pripojenie Debugger

Po výbere procesu bude debugger pripojený k zariadeniu.

Obrázok 27: Debugger je pripojený k procesu bežiacemu na zariadení

V textovom poli zadám číslo 42 (ak si spomeniete, bod zastavenia stojí za to na príslušnej metóde).

Obrázok 28: V textovom poli zadáme číslo 42

Po kliknutí na tlačidlo "ENTER CODE" sa aplikácia dokončí v mieste zastavenia, pretože debugger je "Aware", ktorým metódou sa nazýva zariadenie. Kompilovaná aplikácia pre Android obsahuje informácie o ladení (napríklad názvy variabilných), ktoré sú k dispozícii na ľubovoľný debugger kompatibilný s Java Debug drôtovým protokolom (JDWP). Ak je aplikácia povolená ladením, ourgger kompatibilný s JDWP (v tejto kategórii, väčšina debuggerov beží v vývojových médiách pre Java) je možné pripojiť k aplikácii Android aplikácie Virtual Machine a potom čítať a vykonať príkazy ladenia.

Obrázok 29: Pracoval bod zastavenia

Nižšie uvedený screenshot zobrazuje číslo, ktoré sme predtým zadali do textového poľa.

Obrázok 30: Zoznam premenných aktuálnej inštancie triedy

Záver

Nemôžeme len prečítať údaje v aplikácii, ale aj ich vlastné. To môže byť užitočné, ak budeme napríklad chcieť prerušiť prúd vykonania kódu a obísť niektoré časti algoritmu. Pomocou debugger môžeme lepšie pochopiť logiku aplikácie a analyzovať, čo nie je k dispozícii obvyklým používateľom. Napríklad môže byť veľmi užitočné zobraziť použité šifrovacie funkcie a dynamické klávesy. Okrem toho, niekedy pri ladenie je užitočné vedieť, ako fungujú funkcie s súborovým systémom alebo databázou, aby ste pochopili, aké informácie sú uložené aplikáciou. Takéto manipulácie sú k dispozícii na ľubovoľnom zariadení so systémom Android bez privilégií Superuser.