گزارش اشکال حاوی گزارشهای دستگاه، ردیابی پشتهای و سایر اطلاعات تشخیصی است که به شما کمک میکند تا باگها را در برنامه خود پیدا کرده و برطرف کنید. برای گرفتن گزارش اشکال از دستگاه خود، از گزینه Take bug report developer در دستگاه، منوی شبیه ساز Android یا دستور adb bugreport
در دستگاه توسعه خود استفاده کنید.
برای گزارش اشکال، باید گزینههای برنامهنویس را در دستگاه خود فعال کنید تا به گزینه گزارش اشکال دسترسی داشته باشید.
گزارش اشکال را از دستگاه ضبط کنید
برای دریافت گزارش باگ مستقیماً از دستگاه خود، موارد زیر را انجام دهید:
- گزینه های برنامه نویس را فعال کنید.
- در گزینههای برنامهنویس ، روی Take report bug ضربه بزنید.
- نوع گزارش اشکال مورد نظر خود را انتخاب کنید و روی گزارش ضربه بزنید.
پس از مدتی، همانطور که در شکل 2 نشان داده شده است، یک اعلان دریافت می کنید که گزارش اشکال آماده است.
- برای اشتراکگذاری گزارش اشکال، روی اعلان ضربه بزنید.
یک گزارش باگ از شبیه ساز اندروید بگیرید
از شبیه ساز اندروید، می توانید از ویژگی File a bug در کنترل های توسعه یافته استفاده کنید:
- بیشتر کلیک کنیددر پنل شبیه ساز
در پنجره Extended Controls ، گزارش اشکال را انتخاب کنید.
با این کار صفحهای باز میشود که در آن میتوانید جزئیات گزارش اشکال، مانند عکس صفحه، اطلاعات پیکربندی AVD و گزارش گزارش اشکال را ببینید. همچنین میتوانید پیامی با مراحل بازتولید برای ذخیره با گزارش تایپ کنید.
منتظر بمانید تا گزارش اشکال جمع آوری شود، سپس روی ذخیره گزارش کلیک کنید.
با استفاده از adb یک گزارش باگ بگیرید
اگر فقط یک دستگاه متصل دارید، میتوانید با استفاده از adb
گزارش اشکال را به شرح زیر دریافت کنید:
$ adb bugreport E:\Reports\MyBugReports
اگر مسیری را برای گزارش اشکال مشخص نکنید، در فهرست محلی ذخیره می شود.
اگر چندین دستگاه متصل دارید، باید دستگاه را با گزینه -s
مشخص کنید. دستورات adb
زیر را برای دریافت شماره سریال دستگاه و ایجاد گزارش باگ اجرا کنید:
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
یک گزارش باگ قدیمیتر را ذخیره کنید
بهطور پیشفرض، گزارشهای باگ در /bugreports
ذخیره میشوند و با استفاده از دستور زیر قابل مشاهده هستند:
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
سپس می توانید فایل فشرده را از طریق adb pull
بکشید:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
فایل فشرده گزارش اشکال را بررسی کنید
به طور پیش فرض، فایل فشرده به نام bugreport- BUILD_ID - DATE .zip
است. فایل فشرده می تواند چندین فایل داشته باشد، اما مهمترین فایل bugreport- BUILD_ID - DATE .txt
است. این گزارش اشکال است که حاوی خروجی تشخیصی برای سرویسهای سیستم ( dumpsys
)، گزارشهای خطا ( dumpstate
) و گزارشهای پیام سیستم ( logcat
) است. پیامهای سیستم شامل ردیابیهای پشتهای زمانی که دستگاه خطا میدهد و پیامهایی که از همه برنامههای دارای کلاس Log
نوشته میشوند، میشوند.
فایل فشرده حاوی یک فایل فراداده version.txt
است که حاوی نامه انتشار Android است. هنگامی که systrace فعال است، فایل فشرده حاوی یک فایل systrace.txt
نیز می باشد. ابزار Systrace به تجزیه و تحلیل عملکرد برنامه شما با ضبط و نمایش زمان های اجرای فرآیندهای برنامه شما و سایر فرآیندهای سیستم اندروید کمک می کند.
ابزار dumpstate
فایلها را از سیستم فایل دستگاه در فایل فشرده زیر پوشه FS
کپی میکند تا بتوانید به آنها ارجاع دهید. به عنوان مثال، یک فایل /dirA/dirB/fileC
در دستگاه یک ورودی FS/dirA/dirB/fileC
در فایل فشرده ایجاد می کند.
برای اطلاعات بیشتر، خواندن گزارشهای اشکال را ببینید.
از کاربران خود گزارش دریافت کنید
گرفتن گزارش اشکال مفید است زیرا شما خودتان از برنامه استفاده می کنید، اما کاربران نهایی شما نمی توانند به راحتی این نوع گزارش های اشکال را با شما به اشتراک بگذارند. برای دریافت گزارشهای خرابی با ردیابی پشته از کاربران واقعی، از ویژگیهای گزارش خرابی Google Play و Firebase استفاده کنید.
کنسول Google Play
میتوانید گزارشهایی را از کنسول Google Play دریافت کنید تا دادههای مربوط به خرابیها و خطاهای عدم پاسخگویی برنامه (ANR) را از کاربرانی که برنامه شما را از Google Play نصب کردهاند، مشاهده کنید. اطلاعات مربوط به شش ماه قبل در دسترس است.
برای اطلاعات بیشتر، مشاهده خرابیها و خطاهای عدم پاسخگویی برنامه (ANR) را در راهنمای Play Console ببینید.
گزارش خرابی Firebase
گزارش Firebase Crashlytics گزارشهای دقیقی از خطاهای برنامه شما ایجاد میکند. خطاها بر اساس ردیابی پشته های مشابه به مسائل گروه بندی می شوند و بر اساس شدت تأثیر بر کاربران شما تریاژ می شوند. علاوه بر گزارشهای خودکار، میتوانید رویدادهای سفارشی را ثبت کنید تا به ثبت مراحل منجر به خرابی کمک کنید.
برای شروع دریافت گزارشهای خرابی از هر کاربری، وابستگیهای Firebase را به فایل build.gradle
خود اضافه کنید. برای اطلاعات بیشتر، Firebase Crashlytics را ببینید.