Pregled pokretanja i uklanjanja pogrešaka aplikacija na Androidu. Povezivanje fizičkog uređaja u Android Studio Debugging Android aplikacije na uređaju

Ranije sam napisao. Problem možete dramatično riješiti, nemojte koristiti emulator i testirati odmah na svom mobilnom uređaju koji pokreće Android. Imam prekrasan HTC i postavio sam. Dakle, da biste pokrenuli aplikacije na fizičkom uređaju koji vam je potreban:

  1. Na telefonu omogućite funkciju uklanjanja otpada USB-a. To možete učiniti unosom menija Podešavanja -\u003e Aplikacije -\u003e Razvoj i instaliranje potvrdnog okvira "USB pogreške"
  2. Sačekajte da instalirate upravljački program
  3. Onemogućite i ponovo povežite telefon s računarom.

Da biste potvrdili da je telefon vidljiv računaru, morate učiniti sljedeće:

Ako imate na ovaj način, možete koristiti poseban program: pdanet. () Obično se koristi za korištenje interneta s telefona sa računara, ali ispostavilo se da sadrži ogroman broj upravljačkih programa za telefone. Prilikom instaliranja, postavio sam model uređaja i dalje skočio prekrasan crveni balon s upozorenjem da vozač nije testiran, a sve bi se moglo završiti, ali ne - sve je u redu, uspostavljeno. Nakon toga, još jednom sam pokrenuo ček (naredba iznad) i moj telefon se pojavio na popisu uređaja.

Kako raditi iz pomračenja? U stvari, sve se radi - samo pokrenite projekat i otvara se na telefonu.

Prilikom stvaranja Android aplikacija, većina programera koristi različite emulatore. Pogodno je jer ne morate čuvati gomilu različitih uređaja u kutije za tablice, ne postoji glavobolja s priključnim uređajima na računalo, na stolu nema hrpa žica na stolu. Kliknite miša i pogledajte rad svog programa na ekranu računara. Jednostavan i elegantan. Međutim, emulator nije telefon. Ograničena je u njegovim mogućnostima. Ako vaša aplikacija koristi bilo koje specifične hardverske funkcije, poput rada kamere, Bluetooth ili USB veze, rade dok primanje telefonskog poziva, s puno vjerojatnosti možete reći da ne možete učiniti bez pogrešaka na stvarnom uređaju. Srećom, pomračenje sadrži sve što trebate za rješavanje ovog problema.

Povezivanje telefona i pokretanje programa

Prije spajanja telefona s računarom pomoću USB kabla podataka morate izvesti nekoliko pripremnih akcija. Činjenica je da je pomračenje konfigurirano za rad sa emulatorom i moramo prilagoditi konfiguraciju režima uklanjanja pogrešaka. Jednostavno je. Odaberite stavku za uklanjanje pogrešaka za uklanjanje pogrešaka, a zatim DroidDebug. Na kartici Cilj, u odjeljku Izbor za izbor cilja za implementaciju morate postaviti prekidač na ručni položaj i kliknite Primjeni. Tako je omogućen režim odabira ručnog platforme. Sada, kada pokrenete aplikaciju, pojavit će se dijaloški okvir u kojem možete odabrati emulator ili jedan od spojenih telefona.

Da biste napravili telefon u režimu uklanjanja pogrešaka, također ga treba prilagoditi u skladu s tim. Biti na početnom ekranu, morate kliknuti na tipku MENU i pronaći aplikaciju Postavke. U ovoj aplikaciji otvorite odjeljak "Aplikacije", a zatim i razvojni predmet. Na ekranu koji se otvori, morate staviti krpelj pored predmeta "USB Debgging". Ovaj slijed radnji djeluje na većini telefona, ali moguće je da na vašem uređaju na vašem uređaju UBS pogrešan način uključi negdje drugdje.

Spojite telefon na računar i kliknite gumb za uklanjanje pogrešaka u pomraču. U dijaloškom okviru koji se pojavljuje, vidjet ćete dvije liste: "Izaberite pokrenuti Android uređaj" i "Pokrenite novi Android virtual uređaj". Prvi od ovih navodi telefone povezane sa računarom, u drugom - emulatoru. Odaberite svoj telefon na prvoj listi. Eclipse Pokrenite aplikaciju za podešavanje na telefon i započinje ga. Možete ispraviti pogrešku u vašem programu.

DDMS Monitoring statusa telefona (usluga za uklanjanje pogrešaka Dalvik)

Sve informacije o statusu telefona dostupne su putem posebnog alata nazvan DDMS služba za uklanjanje pogrešaka (Dalvik Debug monitor usluga). Da biste ga pokrenuli, kliknite gumb sa slikom androida u gornjem desnom uglu pomračenja.

DDMS prozor sastoji se od nekoliko panela. Ploča uređaja prikazuje popis dostupnih emulatora i povezanih telefona. Evo liste procesa koji se trenutno izvode. Svaki postupak započinje u vlastitoj virtualnom stroju. Teme su prikazane na zasebnim karticom navoja. Kartica Explorer File dizajnirana je za rad sa telefonskim sistemom. S njom možete kopirati datoteke s računara na telefon i natrag. Upotreba gumba za snimanje zaslona možete snimiti zaslon zaslona telefona. Dugme sa zelenim bubama omogućuje vam priključivanje pogrešaka u odabrani postupak. Da biste koristili ovu funkciju, morate imati otvoreni koda ovog procesa.

Također treba napomenuti uslužni program za prijavu Logcat i odgovarajuća ploča koja može biti vrlo korisna prilikom pretraživanja grešaka. Rad sa časopisom provodi se putem Android-a posebne klase.UTIL.LOG. Najčešće se koriste sljedeće metode:

Log.e () - za log greške,
Log.w () - za upozorenja za novinare,
Log.i () - za novinare informativnih poruka,
Log.d () - za uklanjanje pogrešaka za novinare,
Log.v () - za evidentiranje detaljnih zapisa,

Kao parametri, ove metode moraju biti prenesene na dvije linije. Prva - oznaka koja se zatim može koristiti za pretraživanje i filtriranje u Logcatu. Drugo je stvarne informacije koje se unose u časopis.

Pješčanik

Bože server 18. septembra 2011. u 15:55

Pregled pokretanja i uklanjanja pogrešaka aplikacija na Androidu

  • Rezervna soba *

Razvijanje prve Android aplikacije, naleteo sam u problem pokretanja aplikacije za provjeru i uklanjanje pogrešaka. Ovaj članak bi trebao pomoći u romanu korisniku da odabere alat za emulaciju.

Android virtualni uređaj (AVD)
Instalacija:
Ovaj alat za emulaciju ugrađen je u Android SDK.

Postaviti:
(Na primer upotrebe pomračenja)
Prozor\u003e Android SDK i AVD Manager\u003e NOVO
Unesite naziv virtualnog uređaja, platforme, veličine memorijske kartice, vrstu ekrana ...
Kliknite Create AVD.

Run:
Prvi lansiranje emulatora traje vrlo dugo, posebno na slabim uređajima. Na primjer, nikad nisam mogao čekati prvo lansiranje na svom netbooku, ali počevši prvi put na računaru bio je siguran da je emulator ušao u vječni ciklus.
Naknadna lansiranja emulatora bit će lagano na smanju.
Vrijeme između pritiska na tipku "Run" i izgled glavne aktivacije testne aplikacije na emulatoru prolazi u prosjeku 11 sekundi. Mjere provedene na prilično produktivnom računaru.

Prednosti i nedostaci:
+ Mogućnost testiranja aplikacije na različitim verzijama Android OS-a, na uređajima sa različitim vrstama prikaza ...
+ Različite postavke potrebne za testiranje, na primjer, promjena orijentacije ekrana
+ Emulacija SD kartica
- Veliki vremenski period između pritiska na tipku "RUN" i pokrenite aplikaciju na emulatoru
- Emulator funkcionira vrlo sporo, na primjer, činjenica da je telefon obradio 1-2 sekunde, emulator je učinio u 8-10 sekundi

VirtualBox + Android X86
Instalacija i podešavanje:
  1. Preuzmite i instalirajte VirtualBox.
  2. Preuzmite sliku.
  3. "Kreirajte virtualni stroj Linux 2.6 / Drugi Linux, 512 MB RAM, premoštena mreža, HD 2 GB, onemogući integraciju miša. Spojite ISO datoteku i učitajte jednu od livecd opcija (postoji HDPI i MDPI opcija) ili slijedite ovu uputu.
  4. Kliknite Alt-F1 da biste izašli iz konzole i otkucajte NetCFG i zapamtite IP adresu emulatora. Da biste se vratili u GUI, pritisnite Alt-F7.
  5. aDB Connect.

Run:
Vrijeme između pritiska na tipku "Run" i izgled glavne aktivacije testne aplikacije na emulatoru nije blokirao, već, prema subjektivnim senzacijama, to se događa gotovo odmah.

Prednosti i nedostaci:
+ mali vremenski period između pritiska na tipku "RUN" i pokrenite aplikaciju na emulatoru
+ Mjesta za helikopter radi
- dovoljno duga i ponekad problematična instalacija
- Emulator djeluje na mestima polako, postoje problemi sa slikom (posebno na MDPI)
- Problemi sa emulacijom SD kartice, mijenjajući orijentaciju ekrana, ...
- samo dvije (tri) dostupne verzije Android OS-a i samo dvije dostupne vrste prikaza

Telefon sa Android OS-om povezan putem USB-a
Instalacija i podešavanje:
  1. Uključite režim pogrešaka telefona. (Kalupi\u003e Aplikacije\u003e Razvoj\u003e USB uklanjanje pogrešaka).
  2. Preuzmite upravljački program za svoj telefon.
  3. Telefon povezujemo sa računarom.
  4. Instalirajte upravljačke programe. Odjeljak ADB interfejsa trebao bi se pojaviti u upravitelju uređaja.
  5. aDB uređaji. Ako vaš telefon nije prikazan na popisu, a zatim ponovo instalirajte upravljački program ADB.

Run:
Između klizača na gumbu "Run" i izgled glavne aktivacije testne aplikacije na telefonu traje oko 5 sekundi.

Prednosti i nedostaci:
+ Sposobnost da se prijavu vidi kao korisnik vidjet će je (vrlo važan trenutak, posebno prilikom kreiranja aplikacijskog sučelja i dizajna)
+ Multitach (ako postoji u telefonu)
+ Promjena orijentacije ekrana, akcelerometar (ako postoji u telefonu)
- samo jedna verzija OS-a i jedna vrsta zaslona
- na fizičkoj radnoj površini pojavljuje se još jedan objekt

Zaključci:
Pokušao sam raditi sa svakim od ovih alata za emulaciju i zaustavio se na ovoj verziji:
1. pisanje i testiranje aplikacije pomoću telefona;
2. Ispitivanje aplikacije na brojnim Android virtualnim uređajem s različitim kombinacijama OS verzije i vrste prikaza.
Nadam se da je čitanje napravilo izbor emulatora ili naučio nešto novo za sebe.
Sretno u testiranju!

Svrha ovog poglavlja je napisati minimalnu aplikaciju pod Androidu. Ali nikada nećemo znati da li bismo mogli napisati nešto obradivo bez pokušaja da ga pokrenemo na stvarnom uređaju. To ćemo se baviti ovim člankom.

Mogućnost testiranja na pametnom telefonu pruža ADB (Android DeBug most). U ovom ćemo članku konfigurirati i pokrenuti našu aplikaciju na ovom pametnom telefonu.

Šta je adb.

Android Debug Bridge (ADB) je univerzalni alat naredbenog retka koji doprinosi interakciji između razvojnog okruženja, u našem slučaju Android Studio i AVD emulatori ili fizički android uređaji za mogućnost pokretanja i uklanjanja pogrešaka.

ADB se sastoji od klijenta, od poslužitelja koji funkcionira kao pozadinski proces, na računaru programera i iz demona koji radi kao pozadinski proces na svakom slučaju emulatora ili stvarnog uređaja.

Konfiguriranje Android uređaja za rad sa ADB-om

Da biste koristili ADB sa USB uređajem, morate omogućiti USB uklanjanje pogrešaka u sistemskim postavkama telefona ili tableta u odjeljku "Podešavanja programera" (ime može se razlikovati). Na nekim se uređajima ovaj odjeljak skriva prema zadanim postavkama. Razmislite o koracima u slučaju kada nema željenih postavki.

  1. Idite na postavke, odjeljak "na uređaju"
  2. Pronađite stavku "Broj izgradnje" i kliknite na 7 puta. Prozor koji obavještava da je aktiviran način programera.
  3. Sada u postavkama treba postojati dio parametara programera.
  4. Uključite opciju "Debug USB" u njoj.

Sada kada uređaj povežete sa računarom, ovisno o modelu koji možete imati novu opciju veze.

Adb Setup na Windows-u

Kada konfigurirate Windows, prvo provjerite imate li Google USB upravljački program. Idite na SDK Manager u odjeljku Extras i pronađite Google USB upravljački program, instalirajte ga ako je potrebno.


Sada biste trebali ažurirati vozača. Povežite uređaj na računar, idite na upravljačku ploču -\u003e Oprema i zvuk -\u003e Upravitelj uređaja Pronađite svoj uređaj. Desnom tipkom miša kliknite svoj uređaj da otvorite kontekstni izbornik i odaberite "Ažuriraj vozače ...". Vozač se može naći u SDK imeniku u podmapi \\ (SDK direktorij) \\ Extras \\ Google \\ USB_Driver.

Kako provjeriti ispravnost ADB postavki?

Da biste provjerili ADB performanse, povežite uređaj na računar, pokrenite u naredbenom retku mape \\ (SDK direktorija) \\ platforme-alati i unesite naredbu u IT:

ADB uređaji.

Pojavit će se popis poput ove:

Lista uređaja priloženi 5CDB2CED uređaj

Pokrenite aplikaciju na stvarnom uređaju

Sve isto kao u slučaju trčanja na emulatoru. Otvorite naš projekt u Android studiju, kliknite zeleni trokut, ali u prozoru za odabir uređaja, odaberite svoj uređaj.


Ako je napisano da je uređaj izvan mreže, uzmite USB i dopustite USB uklanjanju računara:

Kao rezultat toga, naša aplikacija će se činiti na ekranu telefona ili tableta.

Zaključak

To završava poglavlje. Uspjeli smo: Moglo bi konfigurirati naš sustav za razvoj Android aplikacija, pa čak i pokrenuti jedan od njih na ovom uređaju.

Ako nešto aktivno ne učini ili se zbunite, molim vas, odjavite se, molim vas, u komentarima i ja ću vam pomoći da se bavite svojim problemom.

Deckanje i uklanjanje pogrešaka za Android aplikacije

Aleksandar Antipov.

Raspravljat će se o članku o tome kako povezati pogrežnicu na Android aplikaciju i korak po korak prolaz kroz metode koje se nazivaju koristeći informacije primljene nakon primjene.


Raspravljat će se o članku o tome kako povezati pogrežnicu na Android aplikaciju i korak po korak prolaz kroz metode koje se nazivaju koristeći informacije primljene nakon primjene. Dobra vijest je da uklanjanje pogrešaka ne zahtijeva privilegije superusera. Opisane tehnike mogu biti vrlo korisne tokom onih za nevolja mobilne aplikacije, jer možemo "prodrijeti" u kodu tokom programa, dobiti i snimiti podatke kojima obično nemamo pristup. Na primjer, možete presresti promet prije šifriranja i dobiti ključeve, lozinke i sve druge vrijedne informacije u muhu. Članak će biti koristan za poginućice i programere za mobilne aplikacije koji žele dobiti dublje poznavanje mogućih napada na Android platformu.

Zahtjevi za ispitivanje okruženja:

  • Operativni sistem: Windows / Mac OS X / Linux
  • Java (preporučena verzija 1.7)
  • IDE (Eclipse, Intellij ideja, Android Studio)
  • Android SDK (https://developer.android.com/sdk/index.html?hl\u003di)
  • Apktool (https://code.google.com/p/androidind-apktool/) / apk studio (http://apkstudio.codeplex.com)
  • Uređaj / emulator zasnovan na androidu

Članak će koristiti sljedeću konfiguraciju: Windows 8, Android Studio i Intellij ideja. Uređaj: NEXUS 4 s Android verzijom 4.4.4. Preporučujem svim komunalnim uslugama da dodaju varijablu staze okruženja kako bi olakšali i ubrzali pristup ovim alatima.

Android aplikacijski paket (APK) Koristi se u članku, možete preuzeti ovdje: com.netspi.egruber.test.apk .

Podešavanje uređaja

Uputa ispod pomoći će vam da pripremite uređaj za eksperimente.

Aktivacija odjeljka Opcije programera

Da biste započeli na Android uređaju, uklanjanje pogrešaka putem USB-a (USB opcija uklanjanja pogrešaka), što će vam omogućiti da "komunicirate" pomoću uređaja pomoću alata iz Android SDK seta. Međutim, potrebno je aktivirati odjeljak Opcije programera. Na uređaju, idite na postavke\u003e O presjeku telefona i kliknite nekoliko puta na broj izgradnje, nakon čega se pojavi poruka da se aktivira odjeljak za programere.

Slika 1: Da biste aktivirali odjeljak Opcije programera, morate nekoliko puta kliknuti na broj izgradnje

Otklanjanje pogrešaka putem USB-a

Da biste omogućili uklanjanje pogrešaka putem USB priključka, idite na Postavke\u003e Opcije programera i potvrdite okvir pored USB pogrešaka.

Slika 2: Omogućavanje uklanjanja USB opcija za uklanjanje pogrešaka

Povezivanje uređaja i pokretanje adb

Nakon povezivanja uređaja na računar putem USB priključka, treba pojaviti poruka "USB pogrešaka spojena na uređaju". Također biste trebali provjeriti možete li se povezati s uređajem pomoću aplikacije za Android Debgug mosta (ADB) uključen u Android SDK (Android SDK platform-alati paket). U naredbenom retku unesite sljedeću naredbu:

Uređaj se mora prikazati na popisu.

Slika 3: Lista povezanih uređaja

Ako se uređaj ne prikaže na listi, tada najvjerovatniji razlog u pogrešno postavljenim upravljačkim upravljačkim programima (u sustavu Windows). Ovisno o uređaju, vozač se može naći ili u Android SDK ili na web mjestu proizvođača.

Provjerite aplikaciju za uklanjanje pogrešaka

Prije otklanjanja Android aplikacija, prvo je potrebno provjeriti postoji li takva prilika. Ček se može izvesti na nekoliko načina.

Prvi način za trčanje Monitor Android uređajaUključeno u Android SDK (u mapi alata). U Windows-u se datoteka naziva monitor.bat. Prilikom otvaranja monitora Android uređaja uređaj će se prikazati u odjeljku uređaja.

Slika 4: Android aplikacija uređaja App

Ako se bilo koja aplikacija na uređaju može poništiti, ova aplikacija će se također prikazati na popisu. Napravio sam testni program, ali lista je prazna, jer je nemoguće pogrešiti program.

Drugi način za provjeru aplikacije za uklanjanje pogrešaka aplikacija je istražiti AndroidManifest.xml datoteku iz aplikacijskog paketa (APK, Android aplikacijski paket). APK je ZIP arhiva koja sadrži sve informacije potrebne za pokretanje aplikacije na Android uređaju.

Kad god se aplikacije učitaju iz Google Play Store-a, opterećen je i paket aplikacija. Sve preuzete APK datoteke obično se pohranjuju na uređaju u mapi / podataka / aplikacije. Ako nemate pravo superuser, nećete moći dobiti popis datoteka iz / direktorija podataka / aplikacija. Iako, ako znate ime imena APK, možete ga kopirati pomoću uslužnog programa aDB.. Da biste saznali ime Apk datoteke, unesite sljedeću naredbu:

Pojavi se naredbena linija uređaja. Zatim unesite sljedeću naredbu:

pM List paketi -F

Pojavit će se popis svih paketa na uređaju.

Slika 5: Lista paketa na uređaju

Gledajući popis, pronalazimo testnu aplikaciju.

Slika 6: Paket stvorenog ispitivanja (označeno bijelo)

Sada morate kopirati datoteku paketa. Otvaramo ljusku i ulazimo u sljedeću naredbu:

adb pull /data/app/ evidence.apk datoteka]

Slika 7: Kopirajte APK datoteku sa uređaja u sistem

Sada morate otvoriti datoteku paketa i istražiti sadržaj androidmanifest.xml. Nažalost, ne možemo samo raspakirati arhivu jer se APK datoteka kodira u binarnom formatu. Korisnost se najčešće koristi za dekodiranje. apktool, iako koristim APK Studio.Budući da ova aplikacija ima prijateljsko grafičko sučelje. Zatim će članak reći o APK Studio.

U APK Studio kliknite na malu zelenu ikonu, postavite naziv projekta i navedite put u APK datoteku. Zatim navedite dozvolite da bude za spremanje projekta.

Slika 8: Stvaranje novog projekta u APK Studio

Nakon otvaranja APK odaberite AndroidManifest.xml datoteku i provjerite parametre oznake aplikacije. Ako je Android zastava: pogreškom za uklanjanje pogrešaka (ili prisutna, ali postavljena je lažna vrijednost), to znači da se aplikacija ne može otkazati.

Slika 9: Sadržaj androidmanifest.xml datoteke

Modifikacija datoteke androidmanifest.xml

Koristeći uslužni program APKTOOL ili APK Studio, možemo izmijeniti datoteke i sadržaj paketa natrag na paket. Sada ćemo promijeniti datoteku AndroidManifest.xml tako da se aplikacija može otkazati. Dodajte unutar aplikacijskog oznaka, linija Android: ispravljanje pogrešaka \u003d "TRUE".

Slika 10: Promijenite sadržaj oznake aplikacije

Nakon dodavanja zastave klikom na ikonu "Hammer" i ponovo prikupi paket. Paket sastavljanja bit će smješten u direktoriju izgradnje / apk.

Slika 11: Paket ponovnog sastavljanja je uspješno završen

Nakon obnove, pretplate na pakete i možete ga ponovo instalirati na uređaj (sve Android aplikacije moraju biti potpisane). Većina aplikacija ne provjerava certifikat s kojom se pojavi potpis. U suprotnom, morate promijeniti kôd koji izvodi ovu ček.

Sada morate instalirati ponovno sastavljeni paket. Prvo izbrišite staru aplikaciju pomoću sljedeće naredbe:

aDB PM deinstaliranje

Zatim postavite novi paket:

aDB instalacija [.apk datoteka]

Možete i izbrisati i instalirati paket po jednu naredbu:

adb install -r [.apk datoteka]

Slika 12: Instaliranje uvjerenog paketa

Provjerite da li je aplikacija za resetiranje ispravno započela na uređaju. Ako sve radi, vratite se na Monitor Android uređaja, gdje bi se trebala pojaviti testna aplikacija.

Na slici 13: Sada se uvjeren prijava može otkazati

Konfigurirajte razvojno okruženje (IDE)

Sada se uklanjaju pogrešac u aplikaciju Remindsed Odraži, ali prvo trebate stvoriti projekt u razvojnom okruženju (članak koristi INTILEJ ideju). Kreirajte novi projekat. Na polje naziva aplikacija navedite proizvoljno ime. U polju Naziv paketa navedete naziv, tačno se podudara sa hijerarhijom mape ponovnog paketa.

Slika 14: Stvaranje novog projekta u INTILEJ IDE IDEA

Obično se naziv APK datoteke podudara sa strukturom mape, iako ako niste sigurni, u APK Studio, provjerite hijerarhiju direktorija u mapu u kojoj se aplikacije nalaze. U mom slučaju, ime i struktura mapa u potpunosti se podudaraju (com.netspi.egrber.test).

Slika 15: Hijerarhija direktorija za ispitivanje aplikacija

Poništi potvrdni okvir "Kreirajte zdravu svjetsku aktivnost" i dovršite kreiranje projekta (svi ostali parametri ostaju zadani). Novi projekt bi trebao izgledati ovako:

Slika 16: Hijerarhija mapa i datoteka novog projekta

Nakon kreiranja projekta, dodajte izvorni kod iz APK datoteke tako da se debugger "znao" imena znakova, metodama, varijabla itd. Dobra vijest je da se Android aplikacije mogu dekompilirati gotovo bez gubitka kvalitete (izvorni kod) će se podudarati sa originalom). Nakon dekompiliranja, izvorni tekst uvozi se u razvojno okruženje (IDE).

Dobivanje izvornih tekstova iz aplikacijskog paketa

Prvo morate pretvoriti APK u JAR datoteku. Tada smo uz pomoć Java dekompilera dobivamo izvorni tekst aplikacije. Pretvorba u teglu će učiniti sa uslužnim programima dex2jar. Dex2jar ima datoteku D2J-dex2jar.bat koja se koristi za pretvaranje APK u JAR. Sintaksa tima je prilično jednostavna:

d2j-dex2jar.bat [.apk datoteka]

Slika 17: Pretvaranje APK-a u teglu

Zatim otvorite ili povucite primljenu datoteku u JD-GUI (ovo je Java dekompiler).

Slika 18: Struktura datoteke JAR-a

Datoteka Jar treba prikazati u obliku hijerarhijske strukture, unutar koje se nalaze Java datoteke s čitljivim izvornim kodom. Idite na datoteku\u003e Spremite sve izvore za spakiranje svih izvornih tekstova u ZIP arhivi.

Slika 19: Spremanje izvornih tekstova dekompilirane datoteke

Nakon spremanja izvornih tekstova otpakirajte arhivu u zaseban direktorij.

Slika 20: Nepakirana arhiva

Sada morate uvesti oba direktorija na prethodno kreirani projekt u IDE. Intellij Idite u mapu SRC i kopirajte sadržaj nepakirane arhive (dva direktorija).

Slika 21: Obje mape se kopiraju u SRC direktorij

Povratak u Intellij, vidimo ažurirani projekt.

Slika 22: U projektu se pojavio izvorni tekstovi

Ako kliknemo na neki element sa liste, vidjet ćemo izvorni tekst. Kao što se može vidjeti u snimku zaslona u nastavku (izvorni tekst klase za logivity), izvorni kod opisuje se pomoću Proguarda.

Slika 23: Provodni list o proricanju

Povezivanje pogrešaka

Sada, kada su se izvorni tekstovi pojavili u projektu, možemo početi ugraditi tačke prekida na metode i varijable. Nakon postizanja gađanja za isključivanje, aplikacija će se zaustaviti. Kao primjer, instalirao sam zaustavljanje na metodi (direktno u komponentnom kodu) koji je odgovoran za obradu podataka unesenih u tekstualno polje.

Slika 24: Stavite stop točku za metodu komponente

Čim se pojavila stop, povežite pogrežnicu na postupak na uređaju klikom na ikonu pomoću ekrana u gornjem desnom uglu (na vašoj IDE ikoni može se razlikovati).

Slika 25: Spojite pogrežnicu u proces

Slika 26: Lista procesa za povezivanje pogrešaka

Nakon odabira postupka, uklanjanje pogrešaka bit će spojen na uređaj.

Slika 27: Debugger je povezan s procesom koji radi na uređaju

U tekstualnom polju unežu broj 42 (ako se sećate, stop točka vrijedi u odgovarajućoj metodi).

Slika 28: U tekstualno polje ulazimo u broj 42

Nakon klika na gumb "Unesite kod", aplikacija će biti završena na stop točki, jer je uklanjanje pogrešaka "svjestan", koja se metoda naziva uređajem. Sastavljena android aplikacija sadrži informacije o uklanjanju pogrešaka (na primjer, promjenjiva imena) dostupna bilo kojem pogrežniku kompatibilan s Java Compug Wire Protocol (JDWP). Ako je aplikacija dozvoljena pogreškama, uklanjanje pogrešaka kompatibilan sa JDWP-om (u ovoj kategoriji, većina pogrešaka koji se radi u razvojnim medijima za Java) može biti povezan na virtualnu mašinu za Android aplikaciju, a zatim čitati i izvršiti i izvršiti naredbe za uklanjanje pogrešaka.

Slika 29: Radio je stop točka

Snimka zaslona u nastavku prikazuje broj koji smo prethodno unijeli u tekstualnom polju.

Slika 30: Lista varijabli trenutne instance klase

Zaključak

Ne možemo samo pročitati podatke u aplikaciji, već i ubaciti i vlastiti. Ovo može biti korisno ako ćemo, na primjer, htjeti prekinuti struju izvršenja koda i zaobići neke dijelove algoritma. Pomoću pogrešaka možemo bolje razumjeti logiku aplikacije i analizirati ono što nije dostupno uobičajenom korisniku. Na primjer, možda je vrlo korisno za pregled korištenih funkcija šifriranja i dinamičnih tipki. Pored toga, ponekad kada se ispraznim pogreškam, korisno je znati kako funkcije komuniciraju s datotečnim sustavom ili bazom podataka da bi se razumjela koje informacije pohranjuju aplikacija. Takve manipulacije dostupne su na bilo kojem Android uređaju bez privilegija supersera.