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
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?
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
Emulatorga RAM'ni oqilona ajrating: 8 GB kompyuterda 4 GB berish tizimni sekinlashtirishi mumkin.
Emulator holatini saqlash ("save" kabi): keyingi safar bir necha soniyada ochiladi.
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.