خطاهای ممکن

در این بخش خطاهایی که ممکن‌است در مراحل مختلف راه‌اندازی پوشه در یونیتی با آن‌ها مواجه شوید به همراه راه‌حل ذکر شده‌اند.

در صورتی که مورد شما خطا (Error) نیست، ممکن است در بخش سوالات ذکر شده باشد.

خطای مورد نظر شما در لیست نیست؟ در گیت‌هاب به دنبال آن بروید و در صورت نیافتن در آنجا مورد جدیدی مطرح کنید.

برای درک بهتر مشکل بهتر است که از لاگ‌کت اندروید استفاده کنید. مقاله‌ای در این مورد

خطاهای حین نصب‌ و راه‌اندازی

Gradle failed

برای اینکه بفهمید مشکل دقیقا از کجاست (خطای گریدل دلایل بسیار مختلفی دارد) باید لاگ یونیتی را بررسی کنید.
معمولا در داخل بلاک stderr [] خطا توضیح‌داده شده است. مشکلات احتمالی می‌توانند یکی از موارد زیر باشند:

  • فعال‌نبودن ابزار گذراز تحریم

برای حل این مشکل کافیست ابزاری مانند شکن برای ردشدن از تحریم پیدا‌کنید تا گریدل دانلود را انجام دهد.

  • Duplicate entry

ممکن است یک کتابخانه دوبار به برنامه اضافه‌شده باشد. فایل mainTemplate.gradle را بررسی کنید و کتابخانه‌ی تکراری را بیابید.

خطاهای حین اجرای برنامه

کرش کردن

در صورتی که برنامه قبل از دیدن لوگوی لودینگ برنامه (مثال لوگوی یونیتی) کرش می‌کند، می‌تواند به این دلیل باشد که در برنامه خطای Dex limit رخ‌داده است.

خطای Dex چیست؟

در اندروید تعداد متدهای ممکن برای هر برنامه به حالت استاندارد 64K است. در صورتی که تعداد متدها از این حالت بیشتر شود برنامه با خطا روبرو می‌شود. برای حل این مشکل:

  • در صورتی که MinSDKVersion 21 و یا بالاتر است نیازی نیست کاری انجام‌دهید و خطایی نخواهید داشت.
  • در صورتی که MinSDKVersion پایینتر از 21 است باید در برنامه MultiDex را فعال‌کنید. این مقاله می‌تواند مفید باشد. هم‌چنین در بخش راه‌اندازی‌سریع حل این موضوع با استفاده از کلاس‌های پوشه شرح‌داده شده است.

در صورتی که برنامه در مرحله‌ای دیگر کرش می‌کند باید بررسی کنید که لاگ خروجی از برنامه‌ی شما چیست.

کرش‌های داخلی لایبرری پوشه نباید باعث بسته‌شدن برنامه شوند.

نصب بعد از مدت طولانی در کنسول دیده نمی‌شود

در حالت عادی نصب نبایستی بیش از ۱ یا ۲ دقیقه به طول انجامد. در صورتی که این مدت طولانی شد ابتدا پروسه‌ی اضافه‌کردن پوشه را مرور کنید:

  • پیام Resolution succeeded در یونیتی مشاهده می‌شود.
  • اسکریپتی که پوشه را رجیستر می‌کند بایستی در اول کار اجرا شود. برای این کار از لاگ و ... استفاده کنید.