Prezentare generală a lansării și depanării cererilor pe Android. Conectarea unui dispozitiv fizic la Android Studio Debuging aplicații Android pe dispozitiv

Mai devreme am scris. Puteți rezolva problema dramatic, nu utilizați emulatorul și încercați imediat pe dispozitivul dvs. mobil care rulează Android. Am un HTC minunat și configurat. Deci, pentru a rula aplicații pe dispozitivul fizic de care aveți nevoie:

  1. La telefon, activați funcția de depanare USB. Puteți face acest lucru introducând meniul Setări -\u003e Aplicații -\u003e Dezvoltare și instalare caseta de selectare "USB Debug"
  2. Așteptați să instalați driverul
  3. Dezactivați și conectați din nou telefonul la computer.

Pentru a verifica dacă telefonul este vizibil la computer, trebuie să faceți următoarele:

Dacă aveți acest mod, puteți utiliza programul special: PDANET. () Este de obicei folosit pentru a utiliza Internetul de la telefon de la computer, dar sa dovedit că conține un număr mare de drivere pentru telefoane. Când instalați, am cerut modelul dispozitivului și am sărit în continuare un frumos balon roșu cu un avertisment că șoferul nu a fost testat și totul se poate încheia, dar nu - totul este bine, stabilit. După aceea, am lansat din nou o verificare (comanda de mai sus) și telefonul meu a apărut în lista de dispozitive.

Cum să lucrați de la Eclipse? De fapt, totul este făcut - pur și simplu rulați proiectul și se deschide la telefon.

La crearea de aplicații Android, majoritatea dezvoltatorilor utilizează emulatori diferiți. Este convenabil pentru că nu este nevoie să stocați o grămadă de dispozitive diferite în casetele de masă, nu există dureri de cap cu dispozitive de conectare la un computer, nu există grămezi de fire pe masă. Faceți clic pe mouse și consultați lucrarea programului dvs. pe ecranul computerului. Simplu și elegant. Cu toate acestea, emulatorul nu este un telefon. Este limitat în capacitățile sale. Dacă aplicația dvs. utilizează funcții hardware specifice, cum ar fi funcționarea camerei, conexiunea Bluetooth sau USB, lucrați în timp ce primiți un apel telefonic, cu o mulțime de probabilități puteți spune că nu puteți face fără depanarea pe dispozitivul real. Din fericire, Eclipse conține tot ce aveți nevoie pentru a rezolva această problemă.

Conectarea telefonului și porniți programul

Înainte de a conecta telefonul la computer utilizând un cablu de date USB, trebuie să efectuați mai multe acțiuni pregătitoare. Faptul este că Eclipse este configurat să funcționeze cu emulatorul și trebuie să reglim configurația modului de depanare. E simplu. Selectați elementul de meniu de configurare Run\u003e Debug și apoi Droiddebug. În fila Țintă, în secțiunea Mod de selecție a țintă de implementare, trebuie să setați comutatorul în poziția manuală și să faceți clic pe Aplicare. Astfel, modul de selectare a platformei manuale este activat. Acum, când porniți aplicația, va apărea o casetă de dialog în care puteți selecta un emulator sau unul dintre telefoanele conectate.

Pentru a face telefonul în modul Debug, trebuie, de asemenea, să fie ajustat corespunzător. Fiind pe ecranul de întâmpinare, trebuie să faceți clic pe butonul MENU și să găsiți aplicația Setări. În această aplicație, deschideți secțiunea "Aplicații", apoi elementul de dezvoltare. În ecranul care se deschide, trebuie să puneți o bifă lângă elementul "DebGging USB". Această secvență de acțiuni funcționează pe majoritatea telefoanelor, dar este posibil ca pe dispozitivul dvs., modul de depanare UBS se pornește în altă parte.

Conectați telefonul la computer și faceți clic pe butonul Debug din Eclipse. În caseta de dialog care apare, veți vedea două listă: "Alegeți un dispozitiv Android Ruling" și "Lansați un nou dispozitiv virtual Android". Primul dintre acestea enumeră telefoanele conectate la computer, în cele două emulatori. Selectați telefonul dvs. în prima listă. Eclipse rulează aplicația de configurare la telefon și o pornește. Puteți depana programul dvs.

Monitorizarea stării telefonului DDMS (serviciul de depanare Dalvik Debug)

Toate informațiile despre starea telefonului sunt disponibile printr-un instrument special numit serviciu de depanare DDMS (serviciul de monitorizare Dalvik Debug). Pentru ao rula, faceți clic pe butonul cu imaginea Androidului în colțul din dreapta sus al eclipsei.

Fereastra DDMS constă din mai multe panouri. Panoul Dispozitive afișează o listă de emulatoarele disponibile și telefoanele conectate. Iată lista proceselor care rulează în acest moment. Fiecare proces începe în propria mașină virtuală. Firele sunt afișate pe o filă de fire separate. Fila File Explorer este proiectată să funcționeze cu sistemul de telefonie. Cu aceasta, puteți copia fișiere de pe un computer la telefon și înapoi. Utilizând butonul Captură de ecran, puteți face o captură de ecran a ecranului telefonului. Butonul cu un gândac verde vă permite să atașați debuggerul la procesul selectat. Pentru a utiliza această caracteristică, trebuie să aveți un cod sursă open pentru acest proces.

De asemenea, trebuie remarcat utilitarul loggat logcat și panoul corespunzător care poate fi foarte util atunci când căutați erori. Lucrul cu revista se desfășoară prin clasa specială Android.Util.log. Cele mai frecvent utilizate următoarele metode:

Log.e () - la eroarea de jurnal,
Log.w () - pentru jurnalizarea avertismentelor,
Log.I () - la jurnalizarea mesajelor de informare,
Log.d () - la jurnalizarea depanării,
Log.v () - pentru logarea înregistrărilor detaliate,

Ca parametri, aceste metode trebuie transferate la două linii. Prima etichetă, care poate fi apoi utilizată pentru a căuta și filtra în Logcat. Al doilea este informațiile reale care sunt introduse în revista.

Sandbox.

God Server. 18 septembrie 2011 la ora 15:55

Prezentare generală a lansării și depanării cererilor pe Android

  • Cherestea *

Dezvoltarea primei aplicații Android, am intrat în problema desfășurării unei cereri de verificare și depanare. Acest articol ar trebui să ajute utilizatorul nou să aleagă un instrument de emulare.

Android Dispozitiv virtual (AVD)
Instalare:
Acest instrument de emulare este încorporat în Android SDK.

Înființat:
(Pe un exemplu de utilizare a eclipsei)
Fereastră\u003e Android SDK și manager AVD\u003e Nou
Introduceți numele dispozitivului virtual, platforma, dimensiunea cardului de memorie, tipul de afișare ...
Faceți clic pe Creați Avd.

Alerga:
Primul emulator de lansare durează un timp foarte lung, în special pe dispozitive slabe. De exemplu, nu am putut aștepta prima lansare pe netbook-ul meu, dar prima dată când a fost încrezător pe calculator că emulatorul a intrat în ciclul etern.
Lansările ulterioare ale emulatorului vor fi puțin mai mici.
Timpul dintre apăsarea butonului "Run" și aspectul activării principale a aplicației de testare pe emulator trece cu o medie de 11 secunde. Măsuri petrecute pe un computer destul de productiv.

Avantaje și dezavantaje:
+ Abilitatea de a testa aplicația pe diferite versiuni ale sistemului de operare Android, pe dispozitive cu diferite tipuri de afișare ...
+ Diferite setări necesare pentru testare, de exemplu, schimbarea orientării ecranului
+ Carte de emulare SD
- o perioadă mare de timp între apăsarea butonului "Run" și porniți aplicația pe emulator
- emulatorul funcționează foarte încet, de exemplu, faptul că telefonul a procesat 1-2 secunde, emulatorul a făcut în 8-10 secunde

Virtualbox + Android X86
Instalare și configurare:
  1. Descărcați și instalați Virtualbox.
  2. Descărcați imaginea.
  3. "Creați o mașină virtuală Linux 2.6 / Altele Linux, 512 MB RAM, rețea de punte, HD 2 GB, dezactivează integrarea mouse-ului. Conectați un fișier ISO și încărcați una dintre opțiunile LiveCD (există o opțiune HDPI și MDPI) "sau urmați această instrucțiune.
  4. Faceți clic pe Alt-F1 pentru a ieși din consola și a scrie netcfg și amintiți adresa IP a emulatorului. Pentru a reveni la GUI, apăsați Alt-F7.
  5. adb Connect.

Alerga:
Timpul dintre apăsarea butonului "Run" și aspectul activării principale a aplicației de testare pe emulator nu a blocat, dar, în funcție de senzațiile subiective, se întâmplă aproape instantaneu.

Avantaje și dezavantaje:
+ O perioadă mică de timp între apăsarea butonului "Run" și începeți aplicația pe emulator
+ Locuri de lucru Chopper
- instalarea suficient de lungă și uneori problematică
- Emulatorul funcționează în locuri încet, există probleme cu imaginea (în special pe MDPI)
- Probleme cu o emulare a cardului SD, schimbând orientarea ecranului, ...
- doar două (trei) versiuni disponibile ale sistemului de operare Android și numai două tipuri de afișare disponibile

Telefon cu OS Android conectat prin USB
Instalare și configurare:
  1. Porniți modul de depanare a telefonului. (Matrite\u003e Aplicații\u003e Dezvoltare\u003e Debugging USB).
  2. Descărcați driverul pentru telefonul dvs.
  3. Conectăm telefonul la PC.
  4. Instalați driverele. Secțiunea de interfață ADB ar trebui să apară în Managerul dispozitivului.
  5. dispozitive ADB. Dacă telefonul dvs. nu este afișat în listă, reinstalați driverul adb.

Alerga:
Între a face clic pe butonul "Run" și aspectul activării principale a aplicației de testare de pe telefon durează aproximativ 5 secunde.

Avantaje și dezavantaje:
+ Abilitatea de a vedea aplicația ca utilizator va vedea (un moment foarte important, mai ales atunci când creați o interfață și design de aplicații)
+ Multitach (dacă există în telefon)
+ Schimbarea orientării ecranului, accelerometru (dacă există în telefon)
- o singură versiune a sistemului de operare și un tip de afișaj
- Pe desktopul fizic apare un alt obiect

Concluzii:
Am încercat să lucrez cu fiecare dintre aceste instrumente de emulare și am oprit la această versiune:
1. Scrierea și testarea aplicației utilizând telefonul;
2. Testarea unei aplicații pe numeroase dispozitive virtuale Android cu diferite combinații de versiune OS și tip de afișare.
Sper că citirea a făcut alegerea emulatorului sau a învățat ceva nou pentru mine.
Mult noroc în testarea!

Scopul acestui capitol este de a scrie aplicația minimă sub Android. Dar nu vom ști niciodată exact dacă am reușit să scriem ceva care să funcționeze fără a încerca să o rulați pe dispozitivul real. Acest lucru ne vom ocupa de acest articol.

Abilitatea de a testa pe smartphone este asigurată de ADB (Android Debug Bridge). În acest articol o vom configura și vom lansa aplicația noastră pe acest smartphone.

Ce este ADB.

Android Debug Bridge (ADB) este un instrument universal de linie de comandă care contribuie la interacțiunea dintre mediul de dezvoltare, în cazul studioului nostru Android și Emulatoare AVD sau dispozitive fizice Android pentru posibilitatea de a începe și de depanare a aplicațiilor.

ADB constă dintr-un client, de la un server care funcționează ca un proces de fundal, pe computerul unui dezvoltator și de la un demon care lucrează ca un proces de fundal al fiecărei emulatori sau un dispozitiv real.

Configurarea dispozitivelor Android pentru a lucra cu ADB

Pentru a utiliza ADB cu un dispozitiv USB, trebuie să activați depanarea USB în setările de sistem ale telefonului sau tabletei din secțiunea "Setări dezvoltator" (numele poate diferi). Pe unele dispozitive, această secțiune este ascunsă în mod implicit. Luați în considerare pașii în cazul în care nu există setări dorite.

  1. Accesați setările, secțiunea "pe dispozitiv"
  2. Găsiți elementul "Build Număr" și faceți clic pe el de 7 ori. O fereastră care anunță că modul de dezvoltator este activat.
  3. Acum, în setările ar trebui să existe o secțiune a parametrilor dezvoltatorilor.
  4. Porniți opțiunea "Debug USB" din acesta.

Acum, că conectați dispozitivul la un computer, în funcție de model, puteți avea o nouă opțiune de conectare.

ADB Setup pe Windows

Când configurați mai întâi Windows, asigurați-vă că aveți un driver Google USB. Mergeți la managerul SDK în secțiunea Extra și găsiți driverul Google USB, instalați-l dacă este necesar.


Acum ar trebui să actualizați driverul. Conectați dispozitivul la computer, accesați panoul de control -\u003e Echipamente și sunet -\u003e Manager dispozitiv Găsiți dispozitivul. Faceți clic dreapta pe dispozitivul dvs. pentru a deschide meniul contextual și pentru a selecta "Actualizați driverele ...". Șoferul poate fi găsit în directorul SDK din subfolder \\ (directorul SDK) \\ Extras \\ Google \\ usb_driver.

Cum să verificați corectitudinea setărilor ADB?

Pentru a verifica performanța ADB, conectați dispozitivul la computer, rulați în linia de comandă a folderului \\ (directorul SDK) \\ platformă și introduceți comanda în ea:

Dispozitive ADB.

O listă de acest lucru va apărea:

Lista dispozitivelor atașate 5CDB2CED

Rulați o aplicație pe un dispozitiv real

La fel ca în cazul alergului pe emulator. Deschideți proiectul nostru în studioul Android, faceți clic pe triunghiul verde, dar în fereastra de selecție a dispozitivului care apare, selectați dispozitivul.


Dacă este scris că dispozitivul este offline, luați USB și permiteți depanarea USB la computer:

Ca rezultat, aplicația noastră va părea pe ecranul telefonului sau tabletei.

Concluzie

Acest lucru încheie capitolul. Am reușit: ar putea configura sistemul nostru pentru a dezvolta aplicații Android și chiar rulați una dintre ele pe prezentul dispozitiv.

Dacă ceva activ nu funcționează sau sunteți confuz, vă rugăm să vă dezabonați, vă rog, în comentariile și vă voi ajuta să vă ocupați de problema dvs.

Decompilarea și depanarea aplicațiilor Android

Alexander Antipov.

Articolul va fi discutat cu privire la modul de conectare a debuggerului la aplicația Android și trece pas cu pas prin metodele numite utilizând informațiile primite după decompilarea aplicației.


Articolul va fi discutat cu privire la modul de conectare a debuggerului la aplicația Android și trece pas cu pas prin metodele numite utilizând informațiile primite după decompilarea aplicației. Vestea bună este că depanarea nu necesită privilegiile superuser. Tehnicile descrise pot fi foarte utile în timpul penstrucții de aplicații mobile, deoarece putem "pătrunde" în cod în timpul programului, obțineți și înregistrați informații la care nu avem de obicei acces. De exemplu, puteți intercepta traficul înainte de criptare și obțineți cheile, parolele și orice altă informație valoroasă în zbor. Articolul va fi util pentru dezvoltatorii de pensete și aplicații mobile care doresc să obțină o cunoaștere mai profundă a posibilelor atacuri asupra platformei Android.

Cerințe pentru mediul de testare:

  • Sistem de operare: Windows / Mac OS X / Linux
  • Java (versiunea recomandată 1.7)
  • IDE (Eclipse, Ideea Intellij, Android Studio)
  • Android SDK (https://developer.android.com/sdk/index.html?hl\u003di)
  • Apktool (https://code.google.com/p/androidroid-apktool/) / apk studio (http://apkstudio.codeplex.com)
  • Dispozitiv / emulator bazat pe Android

Articolul va utiliza următoarea configurație: Windows 8, Android Studio și Ideea Intellij. Dispozitiv: Nexus 4 cu Android versiunea 4.4.4. Vă recomandăm toate utilitățile de a adăuga la variabila de mediu a calea pentru a facilita accesul la aceste instrumente.

Android Application Pachet (APK) folosit în articol, puteți descărca de aici: com.netpi.egruber.test.apk .

Configurarea dispozitivului.

Instrucțiunea de mai jos vă va ajuta să pregătiți un dispozitiv pentru experimente.

Activarea secțiunii opțiunilor dezvoltatorului

Pentru a porni pe dispozitivul Android, trebuie să fie permisă depanarea prin USB (opțiunea de depanare USB), care vă va permite să "comunicați" cu un dispozitiv utilizând instrumentele din setul Android SDK. Cu toate acestea, este necesar să activați secțiunea de opțiuni de dezvoltator. Pe dispozitiv, accesați secțiunea Setări\u003e Despre telefon și faceți clic de mai multe ori la numărul de construire, după care trebuie să apară un mesaj pe care secțiunea Opțiuni de dezvoltatori este activată.

Figura 1: Pentru a activa secțiunea Opțiuni de dezvoltator, trebuie să faceți clic pe numărul de construcție de mai multe ori

Debugging prin USB.

Pentru a permite depanarea printr-un port USB, mergeți la Setări\u003e Opțiuni dezvoltator și verificați caseta de lângă depanarea USB.

Figura 2: Activarea depozitării opțiunilor USB

Conectarea dispozitivului și lansați ADB

După conectarea dispozitivului la un computer prin portul USB, ar trebui să apară mesajul "Debugging USB conectat la dispozitiv". De asemenea, trebuie să verificați dacă vă puteți conecta la dispozitiv utilizând aplicația Android Debug Bridge (ADB) inclusă în Android SDK (Android SDK Platform Platform-Tools). În promptul de comandă, introduceți următoarea comandă:

Dispozitivul trebuie afișat în listă.

Figura 3: Lista dispozitivelor conectate

Dacă dispozitivul nu este afișat în listă, atunci motivul cel mai probabil în driverele instalate incorect (în Windows). În funcție de dispozitiv, driverul poate fi găsit fie în Android SDK sau pe site-ul producătorului.

Verificați aplicația pentru depanare

Înainte de depanarea aplicațiilor Android, este necesar mai întâi să verificați dacă există o astfel de oportunitate. Verificarea poate fi efectuată în mai multe moduri.

Primul mod de a alerga Monitorul dispozitivului Android.incluse în Android SDK (în dosarul Instrumente). În Windows, fișierul se numește monitor.bat. La deschiderea monitorului dispozitivului Android, dispozitivul va fi afișat în secțiunea Dispozitive.

Figura 4: Aplicația de monitorizare a dispozitivului Android

Dacă orice aplicație de pe dispozitiv poate fi debugată, această aplicație va fi afișată și în listă. Am creat un program de testare, dar lista este goală, deoarece este imposibil să depanați programul.

A doua modalitate de a verifica aplicația pentru depanarea aplicației este de a explora fișierul Androidmanifest.xml din pachetul de aplicații (pachetul APK, Android Application). APK este o arhivă ZIP care conține toate informațiile necesare pentru a porni o aplicație pe dispozitivul Android.

Ori de câte ori aplicațiile sunt încărcate din magazinul Google Play, pachetul de aplicații este, de asemenea, încărcat. Toate fișierele APK descărcate sunt de obicei stocate pe dispozitiv din dosarul / Data / App. Dacă nu aveți dreptul la superuser, nu veți putea obține o listă de fișiere din directorul / date / aplicație. Deși, dacă știți numele APK nume, îl puteți copia utilizând utilitarul aDB.. Pentru a afla fișierul APK NAME, introduceți următoarea comandă:

Apare o linie de comandă a dispozitivului. Apoi introduceți următoarea comandă:

pM Pachete de liste -f

Va apărea o listă a tuturor pachetelor de pe dispozitiv.

Figura 5: Lista pachetelor de pe dispozitiv

Privind la listă, găsim o aplicație de testare.

Figura 6: Pachetul aplicației de testare create (albă evidențiată)

Acum trebuie să copiați fișierul pachet. Deschidem Shell și introducem următoarea comandă:

adb pull /data/app/[.APK FILE]

Figura 7: Copiați fișierul APK de la dispozitiv la sistem

Acum trebuie să deschideți fișierul pachet și să explorați conținutul androidmanifest.xml. Din păcate, nu putem doar despacheta arhiva, deoarece fișierul APK este codificat într-un format binar. Utilitarul este cel mai des folosit pentru decodificare. apktool., deși folosesc APK Studio.Deoarece această aplicație are o interfață grafică prietenoasă. În continuare, articolul va spune despre APK Studio.

În studio APK, faceți clic pe o pictogramă verde mică, setați numele proiectului și specificați calea către fișierul APK. Apoi, specificați-l să fie pentru salvarea proiectului.

Figura 8: Crearea unui nou proiect în APK Studio

După deschiderea APK, selectați fișierul Androidmanifest.xml și verificați parametrii etichetei de aplicație. Dacă steagul Android: Debuggable lipsește (sau este prezent, dar valoarea falsă este setată), înseamnă că aplicația nu poate fi debugată.

Figura 9: Conținutul fișierului Androidmanifest.XML

Modificarea fișierului Androidmanifest.XML

Folosind utilitarul APKTOOL sau APK Studio, putem modifica fișierele și conținutul pachetului înapoi la pachet. Acum vom schimba fișierul androidmanifest.xml, astfel încât aplicația să poată fi debugată. Adăugați în interiorul etichetei de aplicare, linia Android: Debuggable \u003d "Adevărat".

Figura 10: Modificați conținutul etichetei de aplicare

După adăugarea unui steag făcând clic pe pictograma "Hammer" și re-colectați pachetul. Pachetul de reassembly va fi localizat în directorul Build / APK.

Figura 11: reasamblarea pachetului a fost finalizat cu succes

După reconstrucție, pachetul abonează și îl puteți reinstala pe dispozitiv (toate aplicațiile Android trebuie semnate). Majoritatea aplicațiilor nu verifică certificatul cu care apare semnătura. În caz contrar, trebuie să modificați codul care efectuează această verificare.

Acum trebuie să instalați un pachet reasamblat. În primul rând, ștergeți vechea aplicație utilizând următoarea comandă:

adb pm uninstall.

Apoi setați un nou pachet:

aDB Instalați [fișierul .apk]

De asemenea, puteți să ștergeți și să instalați pachetul printr-o singură comandă:

aDB Install -r [fișier .apk]

Figura 12: Instalarea unui pachet reevaluat

Verificați dacă aplicația de resetare a pornit corect pe dispozitiv. Dacă totul funcționează, reveniți la monitorul dispozitivului Android, unde trebuie să apară aplicația de testare.

Figura 13: Acum, aplicația reevaluată poate fi debugată

Configurați Mediul de dezvoltare (IDE)

Acum, debuggerul poate fi preluat la cererea de reasamblare, dar mai întâi trebuie să creați un proiect în mediul de dezvoltare (articolul utilizează ideea Intellij). Creați un nou proiect. În câmpul Nume aplicație, specificați un nume arbitrar. În câmpul Nume pachet, specificați numele, coincidând exact cu ierarhia folderului pachetului reevaluat.

Figura 14: Crearea unui nou proiect în Ideea Intellij

De obicei, numele fișierului APK coincide cu structura folderului, deși dacă nu sunteți sigur, în APK Studio, verificați ierarhia directorului în dosarul unde se află aplicațiile. În cazul meu, numele și structura dosarelor coincid (com.Netspi.egruber.test).

Figura 15: Ierarhia directoarelor de aplicații de testare

Debifați caseta de selectare "Creare Hell World Activity" și completați crearea proiectului (toți ceilalți parametri rămân implicit). Noul proiect ar trebui să arate așa ceva:

Figura 16: Ierarhia dosarelor și a fișierelor noului proiect

După crearea unui proiect, adăugați codul sursă din fișierul APK, astfel încât debuggerul "știa" numele personajelor, metodelor, variabilelor etc. Vestea bună este că aplicațiile Android pot fi decompate aproape fără pierderea calității (codul sursă se va potrivi cu originalul). După decompilare, textul sursă este importat în mediul de dezvoltare (IDE).

Obținerea textelor sursă din pachetul de aplicații

Mai întâi trebuie să convertiți APK în fișierul JAR. Apoi, cu ajutorul decompilerului Java obținem textul sursă al aplicației. Conversia la Jar va face cu utilitatea dex2Jar.. Dex2Jar are un fișier D2J-Dex2Jar.bat folosit pentru a converti APK la borcan. Sintaxa echipei este destul de simplă:

d2j-dex2jar.bat [.PK FILE]

Figura 17: Conversia APK în borcan

Apoi deschideți sau glisați fișierul primit în JD-GUI (acesta este un decompiler Java).

Figura 18: Structura fișierului JAR

Fișierul JAR trebuie să fie afișat sub forma unei structuri ierarhice, în cadrul căruia sunt localizate fișiere Java cu cod sursă citit. Accesați fișierul\u003e Salvați toate sursele pentru a împacheta toate textele sursă din arhiva ZIP.

Figura 19: Salvarea textelor sursă ale fișierului decompilat

După salvarea textelor sursă, despachetați arhiva într-un director separat.

Figura 20: Arhiva despachetată

Acum trebuie să importați ambele directoare la proiectul creat anterior din IDE. Intellij mergeți la dosarul SRC și copiați conținutul arhivei despachetate acolo (două directoare).

Figura 21: Ambele dosare sunt copiate în directorul SRC

Revenind la IntelliJ, vedem un proiect actualizat.

Figura 22: În proiect a apărut texte sursă

Dacă facem clic pe un element din listă, vom vedea textul sursă. Așa cum se poate observa în ecranul de mai jos (textul sursă al clasei de loginitate), codul sursă este descris cu ajutorul Progrupard.

Figura 23: Loginactivitatea textului sursă opusă

Conectarea depanatorului

Acum, când textele sursă au apărut în proiect, putem începe instalarea punctelor de întrerupere a metodelor și variabilelor. La atingerea punctelor de închidere, aplicația se va opri. De exemplu, am instalat un punct de oprire a metodei (direct într-un cod component) care este responsabil pentru procesarea informațiilor introduse în câmpul de text.

Figura 24: Puneți punctul de oprire pentru o metodă componentă

De îndată ce a apărut punctul de oprire, conectați debuggerul la procesul de pe dispozitiv făcând clic pe pictograma cu ecranul din colțul din dreapta sus (pe IDE, pictograma poate fi diferită).

Figura 25: Conectați debuggerul la proces

Figura 26: Lista proceselor de conectare a debuggerului

După selectarea procesului, debuggerul va fi conectat la dispozitiv.

Figura 27: Debuggerul este conectat la procesul care rulează pe dispozitiv

În câmpul de text, voi introduce numărul 42 (dacă vă amintiți, punctul de oprire este în valoare de metoda corespunzătoare).

Figura 28: În câmpul de text intrăm în numărul 42

După ce faceți clic pe butonul "Introduceți codul", aplicația va fi finalizată la punctul de oprire, deoarece debuggerul este "conștient", care metodă este apelată pe dispozitiv. Aplicația Android compilată conține informații de depanare (de exemplu, nume variabile) disponibile pentru orice debugger compatibil cu protocolul de cablu Java (JDWP). Dacă cererea este permisă prin depanare, un debugger compatibil cu JDWP (în această categorie, majoritatea debugerilor care rulează în mass-media de dezvoltare pentru Java) pot fi conectate la mașina virtuală a aplicației Android și apoi să citească și să execute comenzi de depanare.

Figura 29: a lucrat punctul de oprire

Screenshot-ul de mai jos prezintă numărul pe care l-am introdus anterior în câmpul de text.

Figura 30: Lista variabilelor instanței actuale a clasei

Concluzie

Nu numai că nu numai datele din aplicație, ci și introduceți propriile lor. Acest lucru poate fi util dacă, de exemplu, vom dori să întrerupeți fluxul de execuție a codului și să ocoli câteva părți ale algoritmului. Folosind debuggerul, putem înțelege mai bine logica aplicației și analizăm ceea ce nu este disponibil utilizatorului obișnuit. De exemplu, poate fi foarte util să vizualizați funcțiile de criptare utilizate și tastele dinamice. În plus, uneori la depanare este utilă cunoașterea modului în care funcțiile interacționează cu sistemul de fișiere sau baza de date pentru a înțelege ce informații sunt stocate de aplicație. Astfel de manipulări sunt disponibile pe orice dispozitiv Android fără privilegii superuser.