Pārskats par lietojumu uzsākšanu un atkļūdošanu Android. Fiziskās ierīces pievienošana Android Studio atkļūdot Android lietojumprogrammas ierīcē

Agrāk es rakstīju. Jūs varat būtiski atrisināt problēmu dramatiski, neizmantojiet emulatoru, un tūlīt pārbaudīt savā mobilajā ierīcē, kas darbojas Android. Man ir brīnišķīgs HTC un izveidots. Tātad, lai palaistu lietojumprogrammas fiziskajā ierīcē, kas nepieciešama:

  1. Tālrunī ļaujiet USB atkļūdošanas funkciju. To var izdarīt, ievadot izvēlni Iestatījumi -\u003e Programmas -\u003e Attiecīgās izvēles rūtiņas "USB Debug" instalēšana
  2. Pagaidiet, lai instalētu draiveri
  3. Atspējot un savienojiet tālruni ar datoru vēlreiz.

Lai pārliecinātos, ka tālrunis ir redzams datoram, jums ir jādara šādi:

Ja jums ir šādā veidā, varat izmantot īpašo programmu: pdanet. () Tas parasti tiek izmantots, lai izmantotu internetu no tālruņa no datora, bet izrādījās, ka tajā ir liels skaits draiveru tālruņiem. Instalējot, es jautāju ierīces modeli un vēl vairāk izlēca skaistu sarkanu balonu ar brīdinājumu, ka vadītājs netika pārbaudīts, un viss varētu beigties, bet nē - viss ir labi, izveidots. Pēc tam, es vēlreiz uzsāktu čeku (komanda iepriekš), un mans tālrunis parādījās ierīču sarakstā.

Kā strādāt no Eclipse? Faktiski viss tiek darīts - vienkārši palaidiet projektu, un tas tiek atvērts tālrunī.

Izveidojot Android lietojumprogrammas, lielākā daļa izstrādātāju izmanto dažādus emulatorus. Tas ir ērti, jo jums nav nepieciešams uzglabāt ķekars dažādu ierīču tabulas kastēs, nav galvassāpes ar savienojuma ierīcēm uz datoru, nav kaudzes vadu uz galda. Noklikšķiniet uz peles un skatiet savu programmas darbu datora ekrānā. Vienkāršs un elegants. Tomēr emulators nav telefons. Tas ir ierobežots viņa spējas. Ja jūsu lietojumprogrammā tiek izmantota konkrētas aparatūras funkcijas, piemēram, kameras, Bluetooth vai USB savienojuma darbība, strādājot, saņemot tālruņa zvanu, ar lielu varbūtību jūs varat teikt, ka jūs nevarat darīt bez atkļūdošanas reālajā ierīcē. Par laimi, Eclipse satur visu, kas jums nepieciešams, lai atrisinātu šo problēmu.

Savienojot tālruni un sākt programmu

Pirms tālruņa savienojuma ar datoru, izmantojot USB datu kabeli, jums ir jāveic vairākas sagatavošanas darbības. Fakts ir tāds, ka Eclipse ir konfigurēta darbam ar emulatoru, un mums ir jāpielāgo atkļūdošanas režīma konfigurācija. Tas ir vienkārši. Izvēlieties palaist\u003e atkļūdošanas izvēlnes vienumu, un pēc tam droiddebug. Table cilnē, izvietošanas mērķa izvēles režīma sadaļā, jums ir nepieciešams, lai iestatītu slēdzi uz manuālo pozīciju un noklikšķiniet uz Lietot. Tādējādi ir iespējots manuālais platformas izvēles režīms. Tagad, kad sākat pieteikumu, parādīsies dialoglodziņš, kur var izvēlēties emulatoru vai vienu no savienotajiem tālruņiem.

Lai tālrunis atkļūdošanas režīmā, tas ir attiecīgi jāpielāgo. Atrodoties sākuma ekrānā, jums ir nepieciešams noklikšķināt uz pogas izvēlnes un atrast iestatījumu lietojumprogrammu. Šajā pieteikumā atveriet sadaļu "Pieteikumi" un pēc tam izstrādes objektu. Tiek atvērts ekrānā, jums ir jānovieto atzīme blakus "USB apstādināšanas" vienumam. Šī darbību secība darbojas lielākajā daļā tālruņu, bet tas ir iespējams, ka ierīcē, UBS atkļūdošanas režīms pārvēršas kaut kur citur.

Pievienojiet tālruni datoram un noklikšķiniet uz atkļūdošanas pogas Eclipse. Dialoglodziņā, kas parādās, jūs redzēsiet divus sarakstus: "Izvēlēties darbību Android ierīci" un "Uzsākt jaunu Android virtuālo ierīci". Pirmais no šiem uzskaitīti tālruņi, kas savienoti ar datoru, otrajā - emulatoros. Izvēlieties savu tālruni pirmajā sarakstā. Eclipse Palaidiet uzstādīšanas programmu tālrunī un sāk to. Jūs varat atkļūdot savu programmu.

DDMS tālruņa statusa uzraudzība (Dalvik atkļūdošanas monitora pakalpojums)

Visa tālruņa statusa informācija ir pieejama, izmantojot īpašu instrumentu, ko sauc par DDMS atkļūdošanas pakalpojumu (Dalvik Debug Monitor Service). Lai palaistu to, noklikšķiniet uz pogas ar attēla Android augšējā labajā stūrī Eclipse.

DDMS logs sastāv no vairākiem paneļiem. Ierīču panelī tiek parādīts saraksts ar pieejamajiem emulatoriem un pieslēgtajiem tālruņiem. Šeit ir saraksts ar procesiem, kas darbojas brīdī. Katrs process sākas savā virtuālajā mašīnā. Tēmas tiek parādītas atsevišķās vītnes cilnē. Cilne Failu Explorer ir izstrādāta, lai strādātu ar tālruņa sistēmu. Ar to jūs varat kopēt failus no datora uz tālruni un atpakaļ. Izmantojot ekrāna uztveršanas pogu, varat veikt ekrānuzņēmumu tālruņa ekrāna. Poga ar zaļo vabole ļauj pievienot atkļūdotāju izvēlētajam procesam. Lai izmantotu šo funkciju, jums ir jābūt atvērtā pirmkoda kodu šim procesam.

Būtu jāatzīmē arī logcat mežizstrādes lietderība un atbilstošais panelis, kas var būt ļoti noderīgs, meklējot kļūdas. Darbs ar žurnālu tiek veikta, izmantojot īpašo klasi Android.util.log. Visbiežāk izmantotās metodes:

Log.e () - piesakieties kļūda,
Log.w () - brīdinājumiem brīdinājumiem,
Log.i () - uz informācijas ziņojumiem,
Log.d () - uz žurnāla atkļūdošanu,
Log.v () - detalizētu ierakstu reģistrēšanai, \\ t

Kā parametri šīs metodes ir jāpārskaita uz divām līnijām. Pirmais - tag, ko var izmantot, lai meklētu un filtrētu logcat. Otrā ir faktiskā informācija, kas tiek ievadīta žurnālā.

Smilšu kaste

Dieva serveris 2011. gada 18. septembris plkst. 15:55

Pieteikumu uzsākšana un atkļūdošana Android

  • Kokmateriālu telpa *

Izstrādājot savu pirmo Android lietojumprogrammu, es uzbraucu uz problēmu, kurā darbojas pieteikums pārbaudes un atkļūdošanas. Šajā rakstā vajadzētu palīdzēt jaunajam lietotājam izvēlēties emulācijas rīku.

Android virtuālā ierīce (AVD)
Uzstādīšana:
Šis emulācijas rīks ir iestrādāts Android SDK.

Uzstādīt:
(Eclipse lietošanas piemērā)
Logs\u003e Android SDK un AVD vadītājs\u003e Jauns
Ievadiet virtuālās ierīces, platformas, atmiņas kartes lieluma nosaukumu, displeja veidu.
Noklikšķiniet uz Izveidot AVD.

Palaist:
Pirmais uzsākšanas emulators ilgst ļoti ilgu laiku, jo īpaši uz vāju ierīcēm. Piemēram, es nekad nevarētu gaidīt pirmo atklāto netbook, bet, sākas pirmo reizi datorā, bija pārliecināts, ka emulators nonāca mūžīgajā ciklā.
Turpmākās emulatora palaišana būs nedaudz maza.
Laiks starp pogas "Run" pogu un izskatu galvenās aktivizēšanas testa pieteikuma uz emulatora iet vidēji 11 sekundes. Pasākumi, kas iztērēti diezgan produktīvā datorā.

Priekšrocības un trūkumi:
+ Spēja pārbaudīt lietojumprogrammu dažādās Android OS versijās ierīcēs ar dažādiem displeja veidiem ...
+ Dažādi iestatījumi, kas nepieciešami testēšanai, piemēram, ekrāna orientācijas maiņa
+ Emulācija SD karte
- liels laika periods starp pogas "Run" nospiešanu un sākt pieteikumu emulatorā
- emulators darbojas ļoti lēni, piemēram, fakts, ka tālrunis apstrādā 1-2 sekundes, emulators bija 8-10 sekunžu laikā

VirtualBox + Android X86
Uzstādīšana un iestatīšana:
  1. Lejupielādējiet un instalējiet VirtualBox.
  2. Lejupielādējiet attēlu.
  3. "Izveidot virtuālo mašīnu Linux 2.6 / Citi Linux, 512 MB RAM, Tautas tīkls, HD 2 GB, atspējot peles integrāciju. Pievienojiet ISO failu un ielādējiet vienu no LiveCD opcijām (ir HDPI un MDPI opcija) vai izpildiet šo instrukciju.
  4. Noklikšķiniet uz Alt-F1, lai izietu no konsoles un ierakstiet NetCFG un atcerieties emulatora IP adresi. Lai atgrieztos GUI, nospiediet Alt-F7.
  5. aDB savienojumu.

Palaist:
Laiks starp "Run" pogas nospiešanu un testa pieteikuma galvenās aktivizēšanas izskatu emulatorā neizmantoja, bet saskaņā ar subjektīvajām sajūtām tas notiek gandrīz uzreiz.

Priekšrocības un trūkumi:
+ Neliels laika periods starp pogas "Run" nospiešanu un sākt pieteikumu emulatorā
+ Vietas chopper darbs
- pietiekami ilgs un dažreiz problemātisks uzstādīšana
- emulators strādā vietās lēni, ir problēmas ar attēlu (īpaši MDPI)
- Problēmas ar SD kartes emulāciju, mainot ekrāna orientāciju, ...
- tikai divas (trīs) pieejamās versijas Android OS un tikai diviem pieejamiem displeja veidiem

Tālrunis ar Android OS savienots, izmantojot USB
Uzstādīšana un iestatīšana:
  1. Ieslēdziet tālruņa atkļūdošanas režīmu. (Veidnes\u003e Programmas\u003e Attīstība\u003e USB atkļūdošana).
  2. Lejupielādējiet tālruņa draiveri.
  3. Mēs savienojam tālruni ar datoru.
  4. Instalējiet draiverus. Adb interfeisa sadaļai jābūt ierīkot ierīces pārvaldniekam.
  5. aDB ierīces. Ja tālrunis nav redzams sarakstā, tad pārinstalējiet ADB vadītāju.

Palaist:
Starp noklikšķinot uz pogas "Run" un izskatu galvenās aktivizēšanas testa pieteikumu pa tālruni aizņem apmēram 5 sekundes.

Priekšrocības un trūkumi:
+ Spēja redzēt lietojumprogrammu kā lietotājs to redzēs (ļoti svarīgs brīdis, jo īpaši, veidojot pieteikuma saskarni un dizainu)
+ MultiTach (ja atrodas tālrunī)
+ Ekrāna orientācijas maiņa, akselerometrs (ja atrodas tālrunī)
- tikai viena OS versija un viena veida displejs
- Fiziskajā darbvirsmā parādās cits objekts

Secinājumi:
Es centos strādāt ar katru no šiem emulācijas rīkiem un apstājās šajā versijā:
1. Pieteikuma rakstīšana un testēšana, izmantojot tālruni;
2. Pieteikuma pārbaude par daudzu Android virtuālo ierīci ar dažādām OS versijas un displeja tipa kombinācijām.
Es ceru, ka lasījums izdarīja emulatora izvēli vai iemācījām kaut ko jaunu.
Labu veiksmi testēšanā!

Šīs nodaļas mērķis ir uzrakstīt minimālo lietotni saskaņā ar Android. Bet mēs nekad precīzi nezinām, ja mēs varējām rakstīt kaut ko praktisku, nemēģinot to palaist uz reālā ierīcē. To mēs risināsim ar šo rakstu.

Spēja pārbaudīt viedtālruni nodrošina ADB (Android atkļūdošanas tilts). Šajā rakstā mēs to konfigurēsim un uzsāksiet mūsu pieteikumu šajā viedtālrunī.

Kas ir ADB.

Android atkļūdošanas tilts (ADB) ir universāls komandrindas rīks, kas veicina mijiedarbību starp attīstības vidi, mūsu lietā Android studijā un AVD emulatoriem vai fiziskām Android ierīcēm iespēju sākt un atkļūdot pieteikumus.

ADB sastāv no klienta, no servera, kas darbojas kā fona process, izstrādātāja datorā un no dēmona, kurš strādā kā fona process par katru emulatora vai reālā ierīces gadījumu.

Android ierīču konfigurēšana darbam ar ADB

Lai izmantotu ADB ar USB ierīci, jums ir jānodrošina USB atkļūdošana tālruņa vai planšetdatora sistēmas iestatījumos sadaļā "Izstrādātāja iestatījumi" (nosaukums var atšķirties). Dažās ierīcēs šī sadaļa ir paslēpta pēc noklusējuma. Apsveriet soļus gadījumā, ja nav vēlamo iestatījumu.

  1. Dodieties uz iestatījumiem, sadaļu "uz ierīces"
  2. Atrodiet vienumu "Build numurs" un noklikšķiniet uz 7 reizes. Logs, kas paziņo, ka izstrādātāja režīms ir aktivizēts.
  3. Tagad iestatījumos ir jābūt izstrādātāju parametru sadaļai.
  4. Ieslēdziet to opciju "Debug USB".

Tagad, kad pievienojat ierīci datoram, atkarībā no modeļa var būt jauna savienojuma opcija.

ADB iestatīšana uz Windows

Konfigurējot Windows, vispirms pārliecinieties, vai jums ir Google USB draiveris. Dodieties uz SDK pārvaldnieku Extras sadaļā un atrodiet Google USB draiveri, instalējiet to, ja nepieciešams.


Tagad jums vajadzētu atjaunināt vadītāju. Savienojiet ierīci ar datoru, dodieties uz vadības paneli -\u003e Iekārtas un skaņa -\u003e Ierīces pārvaldnieks Atrodiet ierīci. Ar peles labo pogu noklikšķiniet uz ierīces, lai atvērtu konteksta izvēlni un izvēlieties "Atjaunināt draiverus ...". Vadītāju var atrast SDK direktorijā apakšmapes (SDK direktorijā) \\ t Extras \\ usb_driver.

Kā pārbaudīt pareizību ADB iestatījumus?

Lai pārbaudītu ADB veiktspēju, pievienojiet ierīci datoram, palaidiet mapē (SDK direktorijā) lold-Tools komandrindā un ievadiet komandu tajā:

ADB ierīces.

Šķiet, ka tas parādīsies:

Pievienotās 5CDB2conced ierīces ierīču saraksts

Palaidiet lietojumprogrammu reālā ierīcē

Tas pats, kas darbojas uz emulatora. Atveriet mūsu projektu Android studijā, noklikšķiniet uz zaļā trijstūra, bet parādās ierīces izvēles logs, izvēlieties savu ierīci.


Ja tas ir rakstīts, ka ierīce ir bezsaistē, ņemiet USB un ļaujiet USB atkļūdot datorā:

Rezultātā mūsu pieteikums tiks izskatīts tālrunī vai planšetdatora ekrānā.

Secinājums

Tas beidzas nodaļā. Mums ir izdevies: varētu konfigurēt mūsu sistēmu, lai izstrādātu Android lietojumprogrammas un pat palaist vienu no tiem uz šo ierīci.

Ja kaut kas aktīvi nedarbojas, vai arī jūs esat sajaukt, lūdzu, atteikties no abonementa, lūdzu, komentāros, un es palīdzēs jums tikt galā ar jūsu problēmu.

Dekompilācija un atkļūdošana Android lietojumprogrammas

Aleksandrs Antipovs.

Rakstā tiks apspriests par to, kā pieslēgt atkļūdotāju uz Android pieteikumu un soli pa solim caur metodēm, ko sauc par informāciju, kas saņemta pēc pieteikuma dekompilācijas.


Rakstā tiks apspriests par to, kā pieslēgt atkļūdotāju uz Android pieteikumu un soli pa solim caur metodēm, ko sauc par informāciju, kas saņemta pēc pieteikuma dekompilācijas. Labā ziņa ir tā, ka atkļūdošana neprasa superusera privilēģijas. Aprakstītās metodes var būt ļoti noderīgas mobilo lietojumprogrammu Penstruktions laikā, jo programmas laikā mēs varam "iekļūt" kodā, saņemt un ierakstīt informāciju, uz kuru mums parasti nav piekļuves. Piemēram, jūs varat pārtvert datplūsmu pirms šifrēšanas un iegūstiet atslēgas, paroles un jebkuru citu vērtīgu informāciju par lidojumu. Raksts būs noderīgs Pensets un mobilo lietojumprogrammu izstrādātājiem, kuri vēlas iegūt dziļākas zināšanas par iespējamiem uzbrukumiem Android platformai.

Prasības testa videi:

  • Operētājsistēma: Windows / Mac OS X / Linux
  • Java (ieteicamā versija 1.7)
  • IDE (Eclipse, IntelliT ideja, Android studija)
  • Android SDK (https://developer.android.com/sdk/index.html?hl\u003di)
  • ApkTool (https://code.google.com/p/androidrroid-apktool/) / APK Studio (http://apkstudio.codePlex.com)
  • Ierīce / emulators, pamatojoties uz Android

Raksts izmantos šādu konfigurāciju: Windows 8, Android studija un IntelliJ ideja. Ierīce: Nexus 4 ar Android versiju 4.4.4. Es ieteiktu visus komunālos pakalpojumus, lai pievienotu ceļa vides mainīgo, lai padarītu to vieglāku un paātrināt piekļuvi šiem instrumentiem.

Android lietojumprogrammu pakete (APK), ko izmanto rakstā, jūs varat lejupielādēt no šeit: com.netsspi.egruber.test.apk .

Ierīces iestatīšana

Turpmāk instrukcija palīdzēs jums sagatavot ierīci eksperimentiem.

Izstrādātāja opciju aktivizēšana sadaļā

Lai sāktu Android ierīci, jāatļauj atkļūdošana, izmantojot USB (USB atkļūdošanas opciju), kas ļaus jums "sazināties" ar ierīci, izmantojot rīkus no Android SDK komplekta. Tomēr ir nepieciešams aktivizēt sadaļu Izstrādātāja opcijas. Ierīcē dodieties uz iestatījumiem\u003e Par Tālruņa sadaļu un noklikšķiniet uz vairākas reizes uz būvniecības numuru, pēc kura ir jāiekļauj ziņojums, ka tiek aktivizēta izstrādātāja opciju sadaļa.

1. attēls: Lai aktivizētu sadaļu Izstrādātāja opcijas, vairākas reizes jums ir nepieciešams noklikšķināt uz būvniecības numura

Atkļūdošana, izmantojot USB

Lai ļautu atkļūdot izmantojot USB portu, dodieties uz Iestatījumi\u003e Izstrādātāju opcijas un atzīmējiet izvēles rūtiņu blakus USB atkļūdošanai.

2. attēls: USB iespēju atkļūdošanas iespējošana

Ierīces savienošana un palaišana ADB

Pēc ierīces pievienošanas datoram, izmantojot USB portu, jāparādās ziņojums "USB atkļūdošana savienots ierīcē". Jums vajadzētu arī pārbaudīt, vai jūs varat izveidot savienojumu ar ierīci, izmantojot Android atkļūdošanas tilta (ADB) lietojumprogrammu, kas iekļauta Android SDK (Android SDK platformas rīku paketē). Komandu uzvednē ievadiet šādu komandu:

Ierīce ir jānorāda sarakstā.

3. attēls: Pievienoto ierīču saraksts

Ja ierīce nav redzama sarakstā, tad visticamākais iemesls nepareizi instalētiem draiveriem (Windows). Atkarībā no ierīces vadītājs var atrast vai nu Android SDK vai ražotāja tīmekļa vietnē.

Pārbaudiet pieteikumu atkļūdošanai

Pirms atkļūdot Android lietojumprogrammas, vispirms ir jāpārbauda, \u200b\u200bvai pastāv šāda iespēja. Pārbaudi var veikt vairākos veidos.

Pirmais veids, kā palaist Android ierīces monitorsiekļauti Android SDK (mapē Tools). Windows, failu sauc monitors.bat. Atverot Android ierīces monitoru, ierīce tiks parādīta sadaļā Ierīces.

4. attēls: Android ierīces monitora lietotne

Ja jebkurš pieteikums ierīcē var atkļūdot, šis pieteikums tiks parādīts arī sarakstā. Es izveidoju testa programmu, bet saraksts ir tukšs, jo nav iespējams atkļūdot programmu.

Otrs veids, kā pārbaudīt pieteikumu atkļūdošanas pieteikumu ir izpētīt AndroidmaniFest.xml failu no pieteikuma paketes (APK, Android lietojumprogrammu paketi). APK ir ZIP arhīvs, kas satur visu nepieciešamo informāciju, lai sāktu lietojumprogrammu Android ierīcē.

Ikreiz, kad pieteikumi tiek ielādēti no Google Play Store, tiek ielādēts arī lietojumprogrammu pakete. Visi lejupielādētie APK faili parasti tiek saglabāti ierīcē / datu / lietotņu mapē. Ja jums nav superusera tiesības, jūs nevarēsiet saņemt failu sarakstu no / datu / app direktorijā. Lai gan, ja jūs zināt nosaukumu APK failu, varat to kopēt, izmantojot lietderību adb.. Lai noskaidrotu nosaukumu APK failu, ievadiet šādu komandu:

Parādās ierīces komandrinda. Pēc tam ievadiet šādu komandu:

pM sarakstu paketes -f

Parādīsies visu iepakojumu saraksts uz ierīces.

5. attēls: Ierīces iepakojumu saraksts

Aplūkojot sarakstu, mēs atrodam testa pieteikumu.

6. attēls: Izveidotās testa pieteikuma pakete (iezīmēts balts)

Tagad jums ir nepieciešams kopēt paketes failu. Mēs atveram čaulu un ievadiet šādu komandu:

adb pull /data/app/[PAPK fails]

7. attēls: Kopēt APK failu no ierīces uz sistēmu

Tagad jums ir nepieciešams atvērt paketes failu un izpētīt saturu AndroidmaniFest.xml. Diemžēl mēs nevaram vienkārši izkravāt arhīvu, jo APK fails ir kodēts binārā formātā. Lietderība visbiežāk tiek izmantota dekodēšanai. apriteols, lai gan es izmantoju Apk studija.Tā kā šim pieteikumam ir draudzīgs grafiskais interfeiss. Pēc tam raksts pastāstīs par APK Studio.

APK Studio noklikšķiniet uz nelielas zaļās ikonas, iestatiet projekta nosaukumu un norādiet ceļu uz APK failu. Tad norādiet, lai tas būtu, lai saglabātu projektu.

8. attēls: Jauna projekta izveide APK Studio

Pēc atvēršanas APK izvēlieties androidmanifest.xml failu un pārbaudiet parametrus pieteikuma tag. Ja Android karogs: atkļūdošana ir pazudis (vai klāt, bet nepatiesa vērtība ir iestatīta), tas nozīmē, ka pieteikumu nevar atkļūdot.

9. attēls: Androidmanifest.xml faila saturs

Faila modifikācija androidmanifest.xml

Izmantojot APKTool vai APK Studio Utility, mēs varam modificēt failus un iepakojuma saturu atpakaļ uz iepakojumu. Tagad mēs mainīsim AndroidmaniFest.xml failu, lai pieteikumu varētu atkļūdot. Pievienojiet pieteikuma tagu, līnija Android: atkļūdotspējīgs \u003d "True".

10. attēls: Mainiet pieteikuma tagu saturu

Pēc karoga pievienošanas, noklikšķinot uz ikonas "Hammer" un savāciet paketi. Montāžas pakete atradīsies būvniecības / APK direktorijā.

11. attēls: Salīdzinošā pakete ir pabeigta veiksmīgi

Pēc pārbūves, pakete abonē, un jūs varat pārinstalēt to uz ierīces (visi Android lietojumprogrammas ir jāparaksta). Lielākā daļa lietojumprogrammu nepārbauda sertifikātu, ar kuru notiek paraksta. Pretējā gadījumā jums ir nepieciešams mainīt kodu, kas veic šo pārbaudi.

Tagad jums ir nepieciešams instalēt montāžas paketi. Pirmkārt, izdzēsiet veco lietojumprogrammu, izmantojot šādu komandu:

aDB PM atinstalēšana

Pēc tam iestatiet jaunu paketi:

aDB instalēšana [.apk fails]

Varat arī izdzēst un instalēt paketi ar vienu komandu:

aDB Install -R [.apk fails]

12. attēls: atkārtotas paketes uzstādīšana

Pārbaudiet, vai atiestatīšanas lietojumprogramma ir pareizi sākta ierīcē. Ja viss darbojas, dodieties atpakaļ uz Android ierīces monitoru, kur jāparādās testa pieteikums.

13. attēls: Tagad var atkļūdot atkārtotu pieteikumu

Konfigurēt attīstības vidi (IDE)

Tagad atkļūdotājs var tikt paņemts uz atkārtotu pieteikumu, bet vispirms ir jāizveido projekts attīstības vidē (raksts izmanto IntelliJ ideju). Izveidojiet jaunu projektu. Laukā Pieteikuma nosaukums norādiet patvaļīgu nosaukumu. Iepakojuma nosaukuma laukā jūs norādāt vārdu, tieši sakrīt ar mapes mapes hierarhiju.

14. attēls: Jauna projekta izveide Intelli ideja

Parasti APK faila nosaukums sakrīt ar mapes struktūru, lai gan, ja neesat pārliecināts, APK Studio pārbaudiet direktoriju hierarhiju mapē, kurā atrodas pieteikumi. Manā gadījumā mapju nosaukums un struktūra pilnībā sakrīt (com.netsspi.egruber.test).

15. attēls: Testa pieteikumu direktoriju hierarhija

Atzīmējiet izvēles rūtiņu "Izveidot Hello World Activity" un aizpildiet projekta izveidi (visi citi parametri paliek noklusējuma). Jaunajam projektam vajadzētu izskatīties kaut kas līdzīgs šim:

16. attēls: Mapju un jaunā projekta failu hierarhija

Pēc projekta izveides pievienojiet pirmkodu no APK faila, lai atkļūdotājs "zinātu" rakstzīmju, metožu, mainīgo, uc nosaukumus, labā ziņa ir tā, ka Android lietojumprogrammas var dekompilēt gandrīz bez kvalitātes zuduma (pirmkods saskaņos ar oriģinālu). Pēc dekompēta, avota teksts tiek importēts uz attīstības vidi (IDE).

Iegūstot avota tekstus no pieteikuma paketes

Vispirms jums ir jāpārvērš APK uz JAR failu. Tad mēs ar Java Decompiler palīdzību mēs iegūstam pieteikuma avota tekstu. Konversija uz JAR darīs ar lietderību dex2jar. Dex2Jar ir d2j-dex2jar.bat fails, ko izmanto, lai pārvērstu apk uz burku. Komandas sintakse ir diezgan vienkārša:

d2j-dex2jar.bat [.apk fails]

17. attēls: konvertēšana APK jar

Tad atveriet vai velciet saņemto failu JD-GUI (tas ir Java Decompiler).

18. attēls: JAR failu struktūra

JAR fails ir jāparāda hierarhiskas struktūras veidā, kurā atrodas Java faili ar lasāmu pirmkodu. Iet uz File\u003e Saglabājiet visus avotus, lai iepakotu visus ZIP arhīva avota tekstus.

19. attēls: Dekompilētā faila avota tekstu saglabāšana

Pēc avota tekstu saglabāšanas izskalojiet arhīvu atsevišķā direktorijā.

20. attēls: izsaiņots arhīvs

Tagad jums ir nepieciešams importēt abas direktorijas uz iepriekš izveidoto projektu IDE. IntelliT dodas uz SRC mapi un kopēt nesaturētā arhīva saturu (divi katalogi).

21. attēls: Abas mapes tiek kopētas SRC direktorijā

Atgriežoties Intellijs, mēs redzam atjauninātu projektu.

22. attēls: Projektā parādījās avota teksti

Ja mēs noklikšķināsim uz kādu saraksta elementu, mēs redzēsim avota tekstu. Kā redzams zemāk redzamajā ekrānuzņēmumos (pieteikšanās klases avota teksts, pirmkods ir aprakstīts, izmantojot proguardu.

23. attēls: Opfelted Avots Teksts Loginactivity

Savienojot atkļūdotāju

Tagad, kad projektā parādījās avota teksti, mēs varam sākt uzstādīt pārtraukumu par metodēm un mainīgajiem. Sasniedzot izslēgšanas punktus, pieteikums apstāsies. Piemēram, es uzstādīju apstāšanās punktu par metodi (tieši komponenta kodā), kas ir atbildīga par teksta laukā ievadīto informāciju.

24. attēls: Ielieciet detaļas metodi

Tiklīdz parādījās apstāšanās punkts, pievienojiet atkļūdotāju uz procesu ierīcē, noklikšķinot uz ikonas ar ekrānu augšējā labajā stūrī (jūsu IDE ikona var atšķirties).

25. attēls: Pievienojiet atkļūdotāju procesā

26. attēls: Slīpēšanas procesu saraksts

Pēc procesa izvēles atkļūdotājs tiks savienots ar ierīci.

27. attēls: atkļūdotājs ir savienots ar procesu, kas darbojas ierīcē

Teksta laukā es ievadīšu numuru 42 (ja atceraties, apstāšanās punkts ir tā vērts atbilstošajā metodē).

28. attēls: Teksta laukā mēs ievadiet numuru 42

Pēc noklikšķināšanas uz pogas "Enter Code", pieteikums tiks pabeigts pieturas punktā, jo atkļūdotājs ir "informēts", kuru metodi sauc par ierīci. Apkopots Android lietojumprogramma satur atkļūdošanas informāciju (piemēram, mainīgie nosaukumi), kas ir pieejami jebkurai atkļūdotājam, kas ir saderīgs ar Java atkļūdošanas vadu protokolu (JDWP). Ja pieteikums ir atļauts atkļūdošana, atkļūdotājs ir saderīgs ar JDWP (šajā kategorijā, visvairāk atkļūdotāji, kas darbojas attīstības plašsaziņas līdzekļos Java), var savienot ar Android lietojumprogrammu virtuālo mašīnu, un pēc tam izlasīt un izpildīt atkļūdošanas komandas.

29. attēls: Strādāja apstāšanās punktu

Zemāk redzamajā ekrānuzņēmums parāda numuru, ko esam ievadījuši teksta laukā.

30. attēls: Klases pašreizējā gadījuma mainīgo lielumu saraksts

Secinājums

Mēs varam ne tikai izlasīt datus pieteikumā, bet arī ievietot savu. Tas var būt noderīgi, ja mēs, piemēram, vēlēsimies pārtraukt koda izpildes plūsmu un apiet dažas algoritma daļas. Izmantojot atkļūdotāju, mēs varam labāk izprast pieteikuma loģiku un analizēt to, kas nav pieejams parastajam lietotājam. Piemēram, var būt ļoti noderīgi izmantot izmantotās šifrēšanas funkcijas un dinamiskās atslēgas. Turklāt dažreiz, kad atkļūdošana ir lietderīgi zināt, kā funkcijas mijiedarbojas ar failu sistēmu vai datu bāzi, lai saprastu, kāda informācija tiek glabāta ar pieteikumu. Šādas manipulācijas ir pieejamas jebkurā Android ierīcē bez superUser privilēģijām.