Network Inspector Android Studio-dagi mobil ilovaning tarmoq trafigini real vaqt rejimida kuzatish va tahlil qilish uchun mo'ljallangan o'rnatilgan profillash vositasidir. Android Developers (2025) rasmiy hujjatlariga ko'ra, vosita so'rovlarning bajarilish vaqtini, uzatilgan ma'lumotlar hajmini va har bir chaqiruvning HTTP holatini kuzatish imkonini beradi. Vosita ilova kodida o'zgartirish talab qilmaydi va API Level 14 va undan yuqori bo'lgan har qanday loyiha bilan qutidan chiqqandek ishlaydi.
Asosiy fikrlar
Network Inspector Android Studio-ga o'rnatilgan tarmoq faolligini profillash vositasidir. Bu ishlab chiqaruvchilarga ilova tomonidan yuborilgan barcha HTTP va HTTPS so'rovlarini, jumladan sarlavhalar, so'rov va javob tanasi, holat kodlari va bajarilish vaqtini real vaqtda ko'rish imkonini beradi. Android Studio 3.0 dan boshlab Android Profiler paneli orqali mavjud.
Network Inspector-ning asosiy vazifasi mobil ilovaning server bilan tarmoq o'zaro aloqasini tuzatishdir. Vosita uzatilgan ma'lumotlarning to'g'riligini tekshirish, javob vaqtini tahlil qilish, API xatolarini qidirish, shuningdek optimal bo'lmagan tarmoq naqshlarini — masalan, bitta ekranni yuklashda bir nechta so'rovlarni aniqlash uchun ishlatiladi. Network Inspector API Level 14 bo'lgan har qanday qurilmada ishlaydi.
Vosita barcha asosiy Android HTTP mijozlarini qo'llab-quvvatlaydi: OkHttp (2.x versiyasidan boshlab), Retrofit, Ktor (KMM), UrlConnection, Apache HttpClient (eskirgan) va WebView. OkHttp va Retrofit uchun OkHttp Profiler kutubxonasi talab qilinadi — Android Studio 4.1+ ishlatilganda avtomatik qo'shiladi. Ktor uchun alohida interceptor sozlamasi kerak.
Network Inspector Android Profiler bilan birga o'rnatiladigan Profiler Agent mexanizmidan foydalanib, tarmoq chaqiruvlarini tizim darajasida ushlaydi. To'g'ri ishlash uchun ilovaning debug yig'ilishi talab qilinadi. Vosita ilova kodini o'zgartirmaydi va asosiy funksionallik uchun bog'liqliklarni qo'shishni talab qilmaydi.
Profillash boshlanganda, Network Inspector ilovaning Debug jarayoniga ulanadi va OkHttp Client, UrlConnection yoki boshqa qo'llab-quvvatlanadigan kutubxonalar orqali o'tadigan barcha HTTP chaqiruvlarini tinglaydi. Har bir so'rov vaqt tamg'asi bilan qayd etiladi, bu tarmoq faolligining vaqt shkalasini qurish imkonini beradi. HTTPS uchun tizim qatlami ishlatiladi, bu uzatish vaqtida shifrlashni saqlaydi, lekin Studio ichida dekodlangan tarkibni ko'rish imkonini beradi.
Ma'lumot to'plash xostning alohida jarayonida ishlaydigan Android Studio-ning Profiler Service orqali amalga oshiriladi. Qurilmada ADB kanali orqali so'rov metama'lumotlarini uzatadigan yengil agent ishlaydi. Bu ilova ishlashiga ta'sirni minimallashtiradi — qo'shimcha yuk Google ma'lumotlariga ko'ra 3% dan kam. So'rov ma'lumotlari (tana, sarlavhalar) faqat tafsilotlar faol ko'rilganda uzatiladi.
// OkHttp-ni Network Inspector bilan integratsiya uchun ulash
val client = OkHttpClient.Builder()
.addInterceptor(HttpLoggingInterceptor().apply {
level = HttpLoggingInterceptor.Level.BASIC
})
.build()
// Network Inspector client orqali barcha chaqiruvlarni avtomatik ushlaydi
client.newCall(Request.Builder()
.url("https://api.example.com/data")
.build()).execute()
Network Inspector tarmoq trafigini har tomonlama tahlil qilish uchun vositalar to'plamini taqdim etadi. Har bir funksiya sarlavhalarni tekshirishdan tortib API samaradorligini tahlil qilishgacha bo'lgan muayyan tuzatish vazifasini hal qilishga qaratilgan.
Network Inspector-ning asosiy ekrani barcha so'rovlarning xronologiyasini vaqt shkalasi shaklida ko'rsatadi. Har bir so'rov rangli chiziq bilan ifodalanadi: yashil — muvaffaqiyatli javob (2xx), ko'k — qayta yo'naltirish (3xx), sariq — mijoz xatosi (4xx), qizil — server xatosi (5xx). Chiziq uzunligi so'rovning ulanishdan to'liq javob olinishigacha bo'lgan bajarilish vaqtiga mos keladi. Bu sekin yoki xato bilan tugagan so'rovlarni darhol aniqlash imkonini beradi.
| Parametr | Tavsif | Misol qiymat |
|---|---|---|
| URL | So'rovning to'liq manzili | https://api.example.com/v2/users |
| Method | So'rovning HTTP metodi | POST |
| Status | Javobning HTTP kodi | 200 OK |
| Size | So'rov + javob hajmi baytlarda | 12.4 KB |
| Time | Umumiy bajarilish vaqti | 342 ms |
Muayyan so'rov tanlanganda tafsilotlar paneli ochiladi: Headers (so'rov va javobning barcha sarlavhalari), Request Body (matn yoki ikkilik formatdagi so'rov tanasi), Response Body (JSON formatlash imkoniyati bilan javob tanasi), Cookies (yuborilgan va qabul qilingan), Timing (vaqtning bosqichlarga bo'linishi: DNS, Connection, TLS Handshake, Request, Response).
Network Inspector URL, HTTP metodi, holat kodi va kontent turi bo'yicha so'rovlarni filtrlashni qo'llab-quvvatlaydi. Muayyan domenlarga so'rovlarni istisno qilish mumkin, faqat kerakli API-ga e'tibor qaratish uchun. Qidirish so'rovning barcha maydonlarida, jumladan tana va sarlavhalarda ishlaydi, bu ilovaning muayyan funksiyasini tuzatishda qulay. Kombinatsiyalangan filtrlar har bir profillash boshlanganda avtomatik qo'llaniladigan qoidalar to'plamini yaratish imkonini beradi.
Vaqt shkalasi URL naqshlari bo'yicha so'rovlarni guruhlashni qo'llab-quvvatlaydi. Masalan, /api/v2/users/* ko'rinishidagi barcha so'rovlarni bir guruhga yig'ish mumkin. Bu ilova qisqa vaqt ichida yuzlab so'rovlarni amalga oshirganda tahlilni soddalashtiradi. Qo'shni so'rovlarni solishtirish funksiyasi takroriy chaqiruvlarda server javoblaridagi o'zgarishlarni aniqlashga yordam beradi.
Network Inspector-dan amaliy foydalanish odatiy tuzatish stsenariylarini o'z ichiga oladi: ma'lumot formatini tekshirish, sekin endpointlarni aniqlash, yopilmagan ulanishlar tufayli xotira oqishini topish va keshni tahlil qilish.
Tez-tez uchraydigan vazifa — server ma'lumotlarni kutilgan formatda qaytarishiga ishonch hosil qilishdir. Network Inspector sintaksisni ajratib ko'rsatishni o'z ichiga olgan JSON formatlash bilan javob tanasini ko'rsatadi. Agar javob mijoz tomonida pars qilinmasa, inspektorda darhol sabab ko'rinadi: maydonning yo'qligi, noto'g'ri ma'lumot turi (raqam o'rniga satr) yoki ortiqcha ichki joylashuv. Agar server xato qaytarsa, inspektor kod va xabar bilan xato strukturasini ko'rsatadi. Ikkilik formatlar (Protocol Buffers, tasvirlar) uchun o'lcham va content-type ko'rsatiladi.
Timing yorlig'i so'rovning bajarilishini bosqichlarga ajratadi: DNS Resolution, TCP Connection, TLS Handshake, Request Send, Response Receive. Umumiy vaqt 1-2 soniyadan oshsa, bosqich bo'linishi asosida sababni aniqlash mumkin. Masalan, uzoq DNS rezolver muammolarini, uzoq TLS Handshake serverda protokolning eskirgan versiyasini, uzoq Response esa sekin server kodini yoki ortiqcha ma'lumotlar bilan samarasiz so'rovni ko'rsatadi. Timing tahlili server qismini optimallashtirishni boshlashdan oldin tor joylarni aniqlashga yordam beradi.
Network Inspector ortiqcha so'rovlarni aniqlashga yordam beradi — masalan, ekran har aylantirilganda Activity ma'lumotlarni qayta yuklaganda. Vaqt shkalasida ketma-ket bir xil so'rovlar muammoni aniq ko'rsatadi. Yechim keshdan foydalanish, holatni saqlaydigan ViewModel yoki bir martalik yuklash uchun SingleLiveEvent bo'lishi mumkin.
// Takrorlanishni bartaraf etish uchun OkHttp bilan so'rovlarni keshlash
val cache = Cache(
File(context.cacheDir, "http_cache"),
cacheSize = 10L * 1024 * 1024 // 10 MB
)
val cachedClient = OkHttpClient.Builder()
.cache(cache)
.addNetworkInterceptor(CacheInterceptor())
.build()
Keng imkoniyatlarga qaramay, Network Inspector bir qator cheklovlarga ega, ularni hisobga olish muhim. Ba'zi stsenariylar — o'z-o'zidan imzolangan sertifikatlar bilan HTTPSni ushlash yoki uchinchi tomon kutubxonalari trafigini tahlil qilish kabi — muqobil vositalarni talab qilishi mumkin.
Network Inspector faqat Android ilovalari bilan ishlaydi va iOS-ni qo'llab-quvvatlamaydi. Kotlin Multiplatform (KMM) uchun so'rovlar native qismda bajarilsa, ko'rinmasligi mumkin. Ba'zi kutubxonalar — masalan, gRPC, WebSocket (HTTP emas), Apollo orqali GraphQL (3.x versiyasigacha) — qo'shimcha interceptor sozlamasisiz qisman yoki umuman ushlanmasligi mumkin.
Tarmoq trafigini chuqurroq tahlil qilish uchun uchinchi tomon yechimlari mavjud: Charles Proxy (HTTPS ushlash bilan to'liq proksi-server), Proxyman (macOS uchun analog), Wireshark (paket darajasida tahlil), Facebook-dan Stetho (Chrome DevTools bilan integratsiya), Chucker (ilova ichidagi so'rovlarni tekshirish uchun kutubxona). Har bir vositaning o'z o'rni bor: Charles va Proxyman rivojlanishning dastlabki bosqichlarida server bilan o'zaro aloqani tuzatishda ajralmas, Chucker esa test yig'ilishlarida ma'lumot to'plash uchun.
| Vosita | Tur | Platforma | HTTPS | HAR |
|---|---|---|---|---|
| Network Inspector | Android Studio-ga o'rnatilgan | Android | Ha | Ha |
| Charles Proxy | Proksi-server | Ko'p platformali | Ha | Ha |
| Proxyman | Proksi-server | macOS, iOS | Ha | Ha |
| Chucker | Ilova ichidagi inspektor | Android | Ha | Yo'q |
| Wireshark | Paket analizatori | Ko'p platformali | Yo'q | Yo'q |
Tez-tez so'raladigan savollar
Ilova Debug konfiguratsiyasida yig'ilgani va Android Profiler ulangan holda ishga tushirilganiga ishonch hosil qiling. Agar OkHttp 4.x ishlatilsa, kutubxonani eng so'nggi versiyaga yangilash talab qilinishi mumkin. Ktor uchun so'rovlar faqat interceptor-ni qo'llab-quvvatlaydigan Engine bilan Ktor mijozidan foydalanilganda ko'rsatiladi.
Ha, Network Inspector qo'shimcha sozlamasiz HTTPS trafigini qo'llab-quvvatlaydi. Charles Proxy-dan farqli o'laroq, ildiz sertifikatini o'rnatish talab qilinmaydi. Vosita tuzatish sessiyasi ichida trafikni dekodlash uchun Android Profiler-ning tizim mexanizmidan foydalanadi.
Network Inspector ma'lumotlarni HAR (HTTP Archive) formatida eksport qilish imkonini beradi. Panelning yuqori o'ng burchagidagi Export tugmasini bosing. HAR fayli istalgan HAR ko'rish vositasida ochilishi yoki keyingi tahlil uchun Charles Proxy va Proxyman-ga import qilinishi mumkin.
Google ma'lumotlariga ko'ra, faol profillash paytida qo'shimcha yuk 3% dan oshmaydi. Network Inspector o'chirilgan bo'lsa, qo'shimcha yuk yo'q. Vosita release yig'ilishlarida foydalanish uchun tavsiya etilmaydi, ammo Debug sessiyalarida zamonaviy qurilmalarda ta'sir sezilmaydi.
Javob tanasi o'qib bo'lmaydigan xom ma'lumot sifatida ko'rsatilsa, bu gzip siqilishi yoki ikkilik format (Protocol Buffers, MessagePack) bilan bog'liq bo'lishi mumkin. Network Inspector gzip-ni avtomatik dekodlaydi. Maxsus formatlar uchun javob sarlavhalarida Content-Type ko'rsatmasidan foydalaning.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.