Sa mundo ng Android, ang pagkakaroon ng mga error at bug sa mga application o system ay hindi karaniwan. Ang parehong mga user at developer ay madalas na nakakaranas ng mga hindi inaasahang mensahe, pag-crash, o abnormal na pag-uugali na nangangailangan ng detalyadong impormasyon tungkol sa kung ano ang nangyayari sa loob ng device upang malutas.
Ang pag-access at pag-unawa sa mga ulat ng bug sa Android ay maaaring mukhang isang kumplikadong gawain kung ikaw ay walang karanasan., ngunit isa itong pangunahing tool para sa pag-detect ng pinagmulan ng mga problema at pagpapabuti ng performance ng mga app at ng Android system mismo. Dito, ipinapaliwanag namin nang detalyado kung paano gumagana ang mga ulat na ito, anong impormasyon ang nilalaman ng mga ito, at kung paano mo mabubuo at magagamit ang mga ito, user ka man o developer.
Ano ang mga error at crash log sa Android?
Ang mga ulat ng bug sa Android ay mga komprehensibong koleksyon ng teknikal na impormasyon tungkol sa estado ng system at mga application sa oras na magkaroon ng kabiguan o problema. Kasama sa mga ito ang mga panloob na log, stack trace, memory dump, bersyon ng application, status ng hardware, at maraming iba pang impormasyon. Ito ay tulad ng pagkuha ng X-ray ng isang device upang makita kung ano mismo ang nangyayari sa "loob" kapag may nangyaring mali.
Ang mga ulat na ito ay hindi lamang kapaki-pakinabang para sa mga technician o developer: Nagiging mas karaniwan para sa mga technical support team para sa mga app at serbisyo, gaya ng Avast o Google Play, na humiling ng Bug Report kapag ang isang user ay nag-ulat ng isang bug na mahirap kopyahin o siyasatin gamit lamang ang mga screenshot o simpleng paglalarawan.
Anong data ang kasama sa ulat ng bug sa Android?
Karaniwang nabubuo ang isang ulat ng pag-crash ng Android sa ZIP na format. at madaling tumimbang ng sampu o kahit na daan-daang megabytes, dahil isinasama nito ang:
- Mga log ng system (logcat): Idinetalye ang lahat ng kaganapang nagaganap sa mga application at serbisyo ng device, na nakaayos ayon sa pagkakasunod-sunod at may iba't ibang antas ng kahalagahan.
- Mga bakas ng stack: Kinukuha nila ang eksaktong daloy ng pagpapatupad ng code kung saan naganap ang isang pagkabigo o pagbubukod.
- Mga dump ng memorya at istatistika ng paggamit: Tumutulong ang mga ito na matukoy ang mga problema dahil sa kakulangan ng mga mapagkukunan o memory leaks.
- Impormasyon tungkol sa mga aktibong app at serbisyo, bersyon, at status: Napaka-kapaki-pakinabang para sa pagsuri kung aling eksaktong bersyon ng bawat software ang tumatakbo sa oras ng error.
- Kasaysayan ng mga aktibidad at kaganapan ng system: Kabilang dito ang pagsisimula at paghinto ng mga app, proseso, pag-broadcast at receiver ng kaganapan, pagbabago ng screen, aktibidad ng baterya, at mga wake lock.
- Data ng hardware: Status ng sensor, paggamit ng CPU, mga detalye ng modelo ng device, at bersyon ng Android.
- Mga log ng proseso, serbisyo, paggamit ng RAM, at mga error sa ANR (Application Not Responding)..
Ang pangunahing file sa loob ng ZIP ay isang text file (.txt) na pinagsama-sama ang lahat ng nasa itaas, kung minsan ay sinasamahan ng metadata, mga screenshot, at mga dump na partikular sa application. Ang pagbabasa at pagsusuri sa mga file na ito ay maaaring nakakalito kung wala kang karanasan, ngunit para sa mga developer, ito ay purong ginto pagdating sa pag-debug at pag-aayos ng mga error na mahirap hanapin.
Paano bumuo ng ulat ng pag-crash sa Android?
Mayroong ilang mga paraan upang makabuo ng Bug Report sa Android, ngunit lahat ng mga ito ay nangangailangan na ikaw muna i-activate ang Developer Options mula sa iyong device. Ginagawa ito sa pamamagitan ng pagpunta sa Mga Setting, at kadalasan:
- Pumunta ka Tungkol sa telepono o Impormasyon ng software.
- Pinindot mo pitong beses sa isang hilera sa 'Build Number' hanggang sa makumpirma ng system na pinagana ang Developer Options.
Kapag na-activate na, maaari kang pumili mula sa ilang mga paraan upang gawin ang ulat:
Mula sa device (Madaling paraan)
Ang pamamaraang ito ay ang pinakamadali para sa karamihan ng mga user, dahil ang lahat ay ginagawa mula sa telepono o tablet mismo.
- Pag-access sa Mga setting> Mga pagpipilian sa developer.
- Hanapin ang pagpipilian Kumuha ng ulat ng error o Magsumite ng ulat ng bug at laruin ito.
- Piliin ang uri ng ulat (karaniwan ay 'full' o 'interactive'). Sa mga interactive na bersyon, maaari ka ring magdagdag ng mga screenshot at komento.
- Hintaying matapos ang pagbuo ng ulat (maaaring tumagal ito mula sa ilang segundo hanggang ilang minuto, depende sa device).
- Kapag natapos na ito, aabisuhan ka ng system gamit ang isang notification, at maaari mo itong ibahagi nang direkta sa pamamagitan ng email, Drive, o iba pang app.
Tandaan na ang file na ito ay maaaring may kasamang personal o sensitibong impormasyon, kaya ibahagi lamang ito sa mga pinagkakatiwalaang serbisyo o developer.
Paggamit ng Android Debug Bridge (ADB)
Ang pamamaraang ito ay mas advanced at idinisenyo para sa mga developer o user na may mga kasanayan sa computer.
- I-download at i-install ang Android SDK Platform-Tools (kasama ang ADB).
- Sa device, i-activate din ang Pag-debug ng USB sa loob ng Developer Options.
- Ikonekta ang iyong mobile phone o tablet sa iyong PC sa pamamagitan ng USB.
- Magbukas ng console o terminal sa iyong computer at patakbuhin ang:
adb devices
(upang suriin kung nakita ang device)adb bugreport <ruta_de_destino>
(halimbawa,adb bugreport C:\BugReports\
)
Mula sa Android emulator
Kapag sinusubukan ang emulator, Maaari kang bumuo ng ulat ng bug sa pamamagitan ng pagbubukas ng Extended Controls., at gamit ang function Ulat ng BugPiliin ang "Mag-file ng bug," magdagdag ng karagdagang impormasyon kung gusto, at i-save ang nabuong ulat para sa pagsusuri sa ibang pagkakataon.
Paano mag-interpret o kumunsulta sa mga crash log?
Ang mga ulat ng bug sa Android ay hindi nilayon na direktang basahin ng karaniwang user, ngunit may ilang mga bahagi na mas madaling makuha:
- Kung bubuksan mo ang ZIP at ipasok ang file bugreport-XXXX.txt Makakakita ka ng iba't ibang mga seksyon, tulad ng mga log ng system, mga log ng kaganapan, mga dump ng memorya, mga aktibong proseso, mga bukas na application, listahan ng package, atbp.
- Gamit ang mga tool tulad ng logcat o mga advanced na text editor maaari kang maghanap ng mga keyword tulad ng "crash", "exception", "ANR", o ang pangalan ng package ng problemang app.
- Upang matukoy ang mga sanhi ng mga error sa ANR (Application Not Responding), hanapin ang mga entry na "am_anr" sa log ng kaganapan, o mga entry na "ANR in" sa logcat ng system.
- Kung nakakaranas ka ng mga isyu sa memorya o pag-crash ng proseso, tingnan ang mga seksyong nauugnay sa "am_low_memory" o hindi pangkaraniwang paggamit ng RAM at CPU.
Ang mga ulat na ito ay tumutulong sa mga developer na magparami at ayusin ang mga bug sa pamamagitan ng pagbibigay ng tumpak na konteksto sa kapaligiran ng system at daloy ng pagpapatupad.
Mga awtomatikong sistema ng pagkolekta ng error: Crashlytics, Android Vitals, at higit pa
Bilang karagdagan sa manu-manong pag-uulat, may mga built-in na automated system gaya ng Firebase Crashlytics at Android Vitals (sa Google Play Console).
- Crashlytic Awtomatikong nangongolekta ng mga bug at mga isyu sa pagganap sa real time, pagpapangkat ng mga error ayon sa kalubhaan, device, bersyon, atbp. Nagbibigay-daan ito sa mga developer na makita nang eksakto kung saan nangyayari ang isang bug sa kanilang code at kung ano ang epekto nito sa mga user.
- Android Vitals, na naa-access mula sa Play Console, isinasaulo ang data ng pag-crash at ANR na natanggap mula sa mga device ng mga user na nagpahintulot sa pagpapadala ng mga istatistika, na tumutulong sa pagtukoy ng mga pattern at pagbibigay-priyoridad kung aling mga bug ang unang ayusin.
Parehong nagbibigay-daan sa iyo ang Crashlytics at Android Vitals na tingnan ang mga stack trace, tuklasin ang dalas ng error, at makakuha ng impormasyon sa konteksto tungkol sa iyong device, mga bersyon, memorya, at higit pa.
Iba pang mga tool at tip para sa pamamahala ng mga ulat ng bug
- Mga espesyal na SDK tulad ng Datadog, na nagbibigay-daan sa iyong pagsamahin ang custom na pag-uulat ng pag-crash, pagsubaybay sa kaganapan, pagsusuri ng trend, at pagkolekta ng error sa parehong Java/Kotlin at native code (C/C++ sa pamamagitan ng NDK).
- Mga advanced na setting: Maaari mong i-customize kung anong data ang kinokolekta, kung paano ito iniimbak, at kung paano ito ipinadala upang sumunod sa mga patakaran sa privacy at ayusin ang dami ng data na nakolekta.
- Binibigyang-daan ka ng ilang SDK na mag-ugnay ng mga error sa ANR bago pa man lumitaw ang view ng user gamit ang mga karagdagang pamamaraan sa configuration.
Bilang unang hakbang sa pagtiyak ng seguridad at privacy, mahalagang suriin ang kasamang data bago magsumite ng Bug Report, dahil marami ang naglalaman ng sensitibong impormasyon.