ارور مجاز نبودن دسترسی از طریق ADB یا ADB Device Unauthorized یکی از پیام‌های خطا در محصولات اندرویدی است که حین استفاده کردن از ADB نمایش داده می‌شود. در حقیقت ADB یا Android Debug Bridge، پلی ارتباطی ویندوز، لینوکس یا مک‌او‌اس با اندروید است و کارهایی زیادی از این طریق انجام می‌شود ولیکن می‌بایست دسترسی لازم و مجوز برقرار ارتباط داده شود.

در این مقاله به علت نمایش خطای ADB Device Unauthorized در اندروید می‌پردازیم و روش حل کردن مشکل را بررسی می‌کنیم. با سیاره‌ی آی‌تی همراه شوید.

استفاده کردن از ADB و Fastboot برای حل کردن مشکلات اندروید و انجام اموری مثل نصب کردن اپ‌ها و بکاپ گرفتن از اپ‌های نصب شده و روت کردن و … روشی است که در کار با محصولات مختلف به کار می‌رود. برای برقرار ارتباط کامپیوتر با گوشی یا تبلت اندرویدی از طریق ADB، می‌بایست نرم‌افزار مربوطه را اجرا کرد و دستوراتی تایپ و اجرا کرد ولیکن اگر در گوشی یا تبلت، دسترسی مجاز نباشد، کاری انجام نمی‌شود و با پیغام خطا یا غیرمجاز بودن دسترسی مواجه می‌شویم.

فعال کردن دسترسی از طریق ADB در اندروید

قبل از هر چیز با یک دستور ساده در محیط cmd یا ترمینال، می‌توان متوجه شد که وسایل یواس‌بی متصل به سیستم، دسترسی ADB مجازی دارند یا خیر. به این منظور در فولدری که بسته‌ی نرم‌افزاری ADB در آن قرار گرفته، cmd یا ترمینال را اجرا کنید و سپس دستور زیر را تایپ کرده و کلید Enter را فشار دهید:

adb devices

لیست وسایل متصل با List of devices attached نمایان می‌شود و هر وسیله به صورت یک کد رمزی است. روبروی وسایلی که دسترسی مجاز ندارند، عبارت unauthorized درج می‌شود.

اما روبروی وسایل متصل با دسترسی مجاز، عبارت unauthorized ذکر نمی‌شود.

برای حل کردن این مشکل، ابتدا گوشی یا تبلت را از سیستم جدا کنید. قدم بعدی این است که منوی تنظیمات توسعه‌دهندگان یا Developer Options را از حالت مخفی خارج کنید که بسته به مدل گوشی و تبلت و نسخه‌ی اندروید، روش‌های مختلفی برای آن وجود دارد:

گزینه‌ی Developer Options ممکن است در منوی اصلی تنظیمات اندروید باشد و ممکن است یکی از گزینه‌های موجود در صفحه‌ی System باشد. در برخی گوشی‌ها نیز تنظیمات به صورت چند تب طراحی و مرتب شده و معمولاً این گزینه در آخرین تب است. در هر صورت باید با حوصله منوی تنظیمات گوشی یا تبلت خود را بررسی کنید و روی Developer Options تپ کنید.

در صفحه‌ی تنظیمات توسعه‌دهندگان، برای فعال کردن ADB می‌بایست تیک گزینه‌ی USB Debugging را بزنید. اکنون گوشی یا تبلت را از طریق کابل USB به کامپیوتر متصل کنید. نوار وضعیت اندروید را پایین بکشید و روی نوتیفیکیشن مربوط به شارژ گوشی، تپ کرده و به جای Charge this device یا فقط شارژ کردن، حالت MTP یا Transfer Files را انتخاب کنید.

 در صورت نمایان شدن پیام دسترسی ADB نیز دسترسی را تأیید کنید و برای مجاز کردن دسترسی در دفعات بعدی اتصال به همان کامپیوتر، تیک Always allow from this computer را بزنید و سپس روی OK تپ کنید.

در تبلت‌ها هم مراحل کار مشابه است با این تفاوت که پنل نوتیفیکیشن ممکن است در پایین صفحه باشد. اگر حالت MTP یا Transfer files پاسخ‌گو نیست، ممکن است حالت انتقال عکس یعنی PTP یا Transfer photos مشکل را برطرف کند.

و اما در مورد گوشی‌ها و تبلت‌هایی که این گزینه قبلاً فعال بوده و کاربر در برقراری ارتباط و اجرای دستورات ADB مشکل دارد:

اگر با خطای دسترسی مواجه شده‌اید و قبلاً این گزینه را فعال کرده‌اید، آن را غیرفعال کنید. گزینه‌ی دیگری در منوی تنظیمات توسعه‌دهندگان وجود دارد که لیست ابزارهای مجاز برای کار با اندروید از طریق ADB را پاکسازی می‌کند. برای این کار روی گزینه‌ی Revoke USB debugging authorizations تپ کنید و توجه کنید که پس از اتصال مجدد به کامپیوتر، پیام تأیید USB Debugging نمایش داده می‌شود.

قدم بعدی این است که گوشی را Restart کنید. پس از بالا آمدن سیستم عامل اندروید، مجدداً به منوی Developer Options مراجعه کنید و USB Debugging را فعال کنید.

ری‌استارت کردن سرور ADB به جای سیستم عامل ویندوز یا لینوکس و مک‌او‌اس

پس از ری‌استارت کردن گوشی و اتصال مجدد از طریق کابل USB به سیستم، ممکن است همچنان در اجرای دستورات مشکل وجود داشته باشد. در این صورت می‌توان علاوه بر ری‌استارت کردن ویندوز، مک‌او‌اس یا لینوکس، روش دیگری را امتحان کرد که نیاز به خاموش و روشن کردن سیستم ندارد.

در محیط cmd ویندوز یا همین‌طور ترمینال مک‌او‌اس و لینوکس، دستور زیر را وارد کنید:

adb kill server

با این دستور، پردازش مربوط به سرور ADB بسته می‌شود. برای اجرای مجدد، دستور زیر را تایپ کرده و اجرا کنید:

adb start server

و سپس با استفاده از دستور adb devices بررسی کنید که وسایل متصل دارای دسترسی مجاز، شناسایی می‌شوند یا خیر.