مشاهده‌ی لاگ‌های اپلیکیشن اندروید در لاگ‌کت

ADB (image taken from optocrypto.com)یکی از مشکلاتی که توسعه‌دهنده‌های موبایل هنگام ساختن برنامه‌ی اندروید دارن دیباگ اون و حداقل دیدن خطاهاییه که توی دیوایس اندروید برای برنامشون پیش میاد هست. دلیلش می‌تونه مختلف باشه؛ تازه‌کار بودن توسعه‌دهنده، استفاده از پلتفرمی که دیدن لاگ خیلی مطرح نیست براش یا .... تو این پست قصد دارم نحوه‌ی استفاده از ابزار لاگ‌کت رو به طور ساده توضیح بدم و توی پلتفرم‌های مختلف روش استفادش رو بگم.معرفی Android logcatاگر توسعه‌دهنده‌ی اندروید باشید [که با اندروید استودیو و یا ایکلیپس کار کردید]، مطمئنا Logcat به گوشتون خورده. توی SDK اندروید ابزاری به اسم ADB (یا Android debug bridge) هست که وظیفش برقراری ارتباط بین دستگاه و رایانه‌ست. محیط‌های توسعه‌ای که شما باهاشون برنامه‌ی اندروید مینویسید و اون رو با اتصال گوشی به رایانه روی گوشی‌تون اجرا می‌کنید از adb برای نصب برنامه روی گوشی استفاده می‌کنن.یکی از کارهایی که ADB انجام می‌ده گزارش لاگ‌های دستگاه متصل‌شده‌ست. لاگ، پیامیه که یه نرم‌افزار هنگام اجرا توی سیستم‌عامل توی مواقع مختلف چاپ می‌کنه.پس واسه‌ی دیدن لاگ‌های برنامه، باید لاگ‌های دستگاه‌ رو بگیریم و لا‌گ‌های برنامه‌ی خودمون رو جدا کنیم.ببینیم واسه‌ی ابزارهای مختلف نحوه‌ی انجام این کار چجوریه. اول IDE های مطرح، بعد راه‌های عمومی رو خواهم‌گفت.اندروید استودیواندروید استودیو راحت‌ترین روش برای دیدن لاگ‌های برنامه‌ست. کافیه وقتی اپ رو روی دستگاه اجرا می‌کنید لاگ‌کت رو از پایین انتخاب کنید (همچنین کلید ترکیبی Alt + 6)Where is Logcat in Android studio?بعد از انتخاب لاگ‌کت تنظیمات اون رو می‌تونید توی پنجره‌ش ببینید:Logcat actionsسبز: دیوایسی که وصل هست رو انتخاب کنید تا بتونید لاگ‌های اون رو ببینید.زرد: فیلتر با کلمه‌ای که می‌خواید. مثلا لاگ‌های دارای تگ Flower.قرمز: اگر اپی در حالت دیباگ روی دیوایس نصب شده‌باشه، می‌تونید اون رو انتخاب کنید و فقط لاگ‌های اون رو ببینید (منوی سمت راست باید Show only selected application باشه).اینتلیجی (IntelliJ)اگر پلاگین Android support رو برای intellij فعال کنید و Android sdk رو براش مشخص کنید، مثل اندروید استودیو لاگ‌کت در پایین صفحه هنگام بازبودن پروژه‌ی اندروید نمایان می‌شه.ویژوال استودیو کد (VisualStudio code)برای vscode هم پلاگین‌های مختلف هست مثل Android که دیباگ پروژه‌ی اندروید رو می‌تونید انجام بدید و با زدن F1 می‌تونید گزینه‌ی View logcat رو ببینید. اما باید adb در Environment variableهاتون ست شده باشه. برای انجام این کار ادامه رو بخونید.بقیه‌ی ادیتورها و محیط‌هابرای بقیه‌ی ادیتورها می‌تونید از همون Command line یا terminal استفاده کنید.اضافه‌کردن adb به متغیرهای محلیدر صورتی که بخواید از طریق CommandLine، Terminal و یا ادیتور‌هایی که از طریق command line به adb وصل می‌شن (مثل vscode)، باید adb به متغیرهای محلی اضافه بشه. توی سیستم‌عامل‌های مختلف این کار متفاوت انجام می‌شه.نکته‌ی‌مهم: باید Android sdk داشته‌باشید.ویندوز:روی This PC راست کلیک کنید و Properties رو بزنید تا پنجر‌ه‌ی system در کنترل پنل رو براتون باز کنه.از منوی سمت چپ گزینه‌ی Advanced system settings رو انتخاب کنید.از تب Advanced دکمه‌ی Environment variables رو انتخاب کنید.از بخش System variables متغیر Path رو انتخاب کنید و Edit رو بزنید.Add SDK path to Windows pathدو آدرس platform-tools و tools (دلخواه) رو با زدن دکمه‌ی New اضافه‌کنید.در تصویر محل نصب sdk برای من D>Android>SDK هست و مابقی آدرس در خود فولدر sdk هست.اوکی رو بزنید و یه CMD (یا Powershell باز کنید)تایپ کنید adb و باید ببینید که دستور معتبره و خطا نمی‌ده.لینوکس:در لینوکس باید آدرس adb رو به متغیر سراسری PATH$ اضافه کنیم.در صورتی که از Bash استفاده می‌کنید فایل bashrc. و در صورتی که از zsh استفاده می‌کنید فایل zshrc. رو باز کنید.در صورتی که قبلا به PATH چیزی اضافه‌کردید، در ادامه آدرس sdk platform tools رو اضافه کنید.این خط رو [ترجیحا به ابتدای] فایل اضافه کنید تا ‌متغیر PATH رو override کنید. export PATH=:/home/userName/android/sdk/platform-tools:/home/userName/android/sdk/tools:$PATHو بجای userName/android/sdk آدرس sdk توی سیستم‌خودتون رو وارد کنید.فایل رو سیو کنید و ترمینال رو ریستارت کنید یا دستور source ~/.bashrc # or source .zshrcرو بزنید تا تنظیمات فعال بشن. بعد تایپ کنید adb و باید دستور معتبر باشه.Test adb on linux shellمشاهده‌ی لاگ با دستور adbحالا که توی کامند لاین adb اضافه‌شده می‌تونیم لا‌‌گ‌ها رو توی کامندلاین ببینیم.adb logcat *:Vاین دستور یعنی همه‌ی لاگ‌های موجود رو نشون بده‌. یا دستور:adb logcat Pushe:Vیعنی تمام لاگ‌های با تگ پوشه رو نشون بده.اضافی:اسکریپت Pidcat:یکی از اسکریپت‌های خوبی که رنگ و لعابی به لاگ‌کت میبخشه و خوندنش رو ساده‌تر می‌کنه pidcat هست که یه اسکریپت پایتونه، لذا می‌تونید با نصب پایتون اون رو استفاده کنید. [لینک گیتهاب]برنامه‌ی mLogcat برای ویندوز:در صورتی که از ویندوز استفاده می‌کنید یه نرم‌افزار هست که لاگ‌های adb رو توی یه بستر گرافیکی نشون می‌ده. [لینک سایت]منابع:Android Logcat command-line toolAndroid logcatLogcat important commands