AXV

Simulyator va Emulator (2-qism)

Real telefonni USB orqali ulaymiz va Logcat bilan ilovaning ichini kuzatamiz

9-sinf Android dasturlash 4-hafta · 10-dars

Bugungi dars maqsadlari

Real qurilma

Nega yakuniy test doim haqiqiy telefonda o'tkaziladi.

USB va ADB

Developer Options, USB Debugging va ADB drayverlari.

Logcat

Tizim xabarlari, xatolar va Log.d bilan o'z belgilarimiz.

01

Takrorlash: virtual qurilmalar

O'tgan darsda nimani bilib oldik?

Simulyator va Emulator

Simulyator

Faqat tashqi ko'rinish va interfeysni taqlid qiladi. Tez, yengil. Kamera va GPS yo'q.
VS

Emulator (AVD)

Qurilmaning apparat qismini ham qayta yaratadi. Sekinroq, lekin aniq.

Emulator yetarlimi?

Emulator ajoyib mashq maydoni, lekin haqiqiy yo'lga chiqishdan oldin mashinani asl yo'lda ham sinab ko'rish kerak.
  • Turli telefonlarda ekran, tezlik va Android versiyasi boshqacha
  • Samsung'da ishlagan ilova Xiaomi'da muammo berishi mumkin
  • Shuning uchun yakuniy test doimo real telefonda

Bitta ilova, ikki telefon

Sizning ilovangiz Samsung Xiaomi ishlaydi xato bor

Qismlar ustiga bosing: izoh chiqadi.

02

Real telefonni ulash

Developer Options, USB Debugging, ADB

Nimalar kerak?

Kompyuter

Android Studio o'rnatilgan.

USB kabel

Ma'lumot uzatadigan kabel.

Android telefon

Dasturchi sozlamalari yoqilgan.

ADB drayver

Kompyuter telefonni taniydi.

ADB nima?

Kompyuter ADB Qurilma o'rnatish · loglarni o'qish · jarayonlarni boshqarish

Qadam-baqadam: telefonni tayyorlash

1. Developer Options

Telefon sozlamalarida "Dasturchi sozlamalari" bo'limini yoqamiz.

2. USB Debugging

Shu bo'limda "USB Debugging" funksiyasini faollashtiramiz.

3. Kabel bilan ulash

Telefonni kompyuterga ulaymiz va telefon so'rasa ruxsat beramiz.

4. Run

Android Studio telefonni ADB drayverlari orqali taniydi va ilovani unga yuklaydi.

Qurilma tanlash menyusi

Android Studio · Run

Device list

Pixel 7 (emulator)

Mening telefonim (USB)

  • Ro'yxatda emulator ham, real telefon ham ko'rinadi
  • Telefon ko'rinmasa: kabel, ruxsat, drayver
  • Tanlab, Run tugmasini bosamiz

Run bosilganda nima bo'ladi?

Yig'ish ADB Telefon Ochiladi ilova ishlayotganda xabarlar Logcat'ga qaytadi

Telefon ko'rinmayaptimi?

Ehtimoliy sabablar

USB Debugging yoqilmagan, kabel faqat zaryadlash uchun, ADB drayveri o'rnatilmagan yoki telefondagi ruxsat so'rovi rad etilgan.

Tekshirish tartibi

Kabelni almashtiring, USB Debugging holatini ko'ring, ruxsat oynasiga "Ha" deng, kerak bo'lsa Android Studio'ni qayta ishga tushiring.

Mini-test: qurilmani ulash

Telefonni Android Studio taniy olishi uchun qaysi funksiyani yoqish shart?

USB Debugging "Developer Options" ichida bo'ladi. U yoqilgach, ADB orqali ilovani telefonga yuklash mumkin.
03

Logcat

Ilovaning "kundalik daftari"

Logcat nima?

0
debugging vaqti Logcat tahlili bilan o'tadi
real vaqt
xabarlar ilova ishlayotganda chiqadi
3 tur
tizim xabari, xato (crash), o'z belgilarimiz

Xabar qayerdan qayerga boradi?

Ilova Log.d / Log.e Android Logcat tizim xabarlari + xatolar + sizning belgilaringiz

Logcat oynasi (namuna)

Logcat
D/MainActivity: Ilova ishga tushdi
D/Hisoblash: Natija: 5
E/Xatolik: Nolga bo'lish: / by zero

Harf xabar darajasini bildiradi: D (Debug), E (Error).

Log.d va Log.e


import android.util.Log

fun natijaHisoblash(a: Int, b: Int) {
    try {
        val natija = a / b
        Log.d("Hisoblash", "Natija: $natija")
    } catch (e: Exception) {
        Log.e("Xatolik", "Nolga bo'lishga urinish: ${e.message}")
    }
}
  
Log.d: oddiy axborotLog.e: xato

Birinchi Log


override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
}
  

Birinchi Log


override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    Log.d("MainActivity", "Ilova ishga tushdi")
}
  
Birinchi argument: teg (qidirish uchun), ikkinchisi: xabar matni.

Mini-test: Logcat

Ilova ishlayotganda xato yuz bergani haqida batafsil xabarni qayerdan topasiz?

Logcat real vaqtda tizim xabarlari, xatolar (crash) va sizning Log.d belgilaringizni ko'rsatadi.

Emulator bilan ishlash maslahatlari

RAM

bosing

Emulatorga RAM'ni oqilona ajrating: 8 GB kompyuterda 4 GB berish tizimni sekinlashtirishi mumkin.

Snapshots

bosing

Emulator holatini saqlash ("save" kabi): keyingi safar bir necha soniyada ochiladi.

Real qurilma

bosing

Kompyuter og'ir bo'lsa yoki yakuniy test kerak bo'lsa: USB bilan haqiqiy telefon.

Emulator tanlovi

Real telefon bor, endi emulator kerakmi? Pastga ↓

Ikkalasi ham kerak

  • Emulator: turli ekran o'lchami (telefon, planshet) va Dark Mode ni tez sinash
  • Emulator: GPS, batareya, qo'ng'iroq kabi holatlarni sinash
  • Real telefon: yakuniy, haqiqiy sinov

Bulutli emulyatsiya

Firebase Test Lab va BrowserStack kabi xizmatlar bulutdagi real qurilmalarda ilovani avtomatik sinash imkonini beradi.

Amaliy topshiriq 20 daqiqa

OsonTelefoningizda Developer Options va USB Debugging ni yoqing, kabel bilan ulang.
O'rtaIlovani telefonda ishga tushiring va Logcat'da o'z Log.d xabaringizni toping.
QiyinAndroid Studio'da turli ekranli 2 ta emulator yarating, Dark Mode'ni yoqib farqni ko'ring.

Xulosa

Bugun o'rgandik

Real telefon: Developer Options, USB Debugging, ADB. Logcat va Log.d / Log.e.

Uyga vazifa

Logcat darajalarini daftarga yozish va ADB vazifasini tushuntirish.