خطاهای ممکن

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

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

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

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

Error -32601 received from application: Method not found

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

Failed to resolve co.pushe.plus:base

پوشه از طریق Jcenter به پروژه‌ی اندروید اضافه‌می‌شود (همینطور لایبرری‌هایی دیگری که پوشه از آنها استفاده‌می‌کند). با توجه به اینکه این سرویس در کشور ما مورد تحریم است، بایستی با استفاده از ابزار گذراز تحریم این مورد را رفع‌کنید. به طور کلی دلایل می‌تواند این موارد باشد:

  • نبود اینترنت

  • عدم‌استفاده از ابزار گذر از تحریم: باید از ابزاری مثل شکن و یا ... استفاده‌کنید.

  • درصورتی که از اندروید استودیو یا اینتلیجی استفاده می‌کنید، استفاده از گریدل در حالت Offline mode را غیرفعال کنید. برای دانلود سرور باید گریدل در حالت offline mode نباشد.

    • برای حل این مورد بایستی تیک گزینه را از تنظیمات بردارید:

Failed to resolve Core

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

  • Android studio را ببندید
  • از آدرس زیر فولدر caches را حذف کنید:
    • ویندوز: C:\Users\YOUR_USER\.gradle\caches
    • لینوکس: /home/user/you/.gradle/caches
  • برنامه را اجرا کرده و مجددا پروژه را Sync کنید.

Version conflict (خطای نسخه‌های مختلف یک لایبرری)

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

  • کتابخانه‌ای که این مورد را دارد (یکسان با نسخه‌های متفاوت اضافه‌شده است)، را خودتان دستی به dependencies اضافه‌کنید و نسخه‌ی مورد نظر خود را (معمولا نسخه‌ی نهایی) قرار دهید.

  • با استفاده از کد زیر گریدل را مجبور به استفاده از یک نسخه‌ی خاصی از آن کتابخانه کنید (کد را بالای بلوک dependencies در فایل build.gradle ماژول اپ قرار دهید.)

// File: build.gradle (app:module)
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
def libraryGroup = "{artifact}"
def forceVersion = "{version}"
if (details.requested.group == libraryGroup) {
details.useVersion forceVersion
}
}
}
}
// dependencies {
// ...

بجای {artifact} پکیج‌ کتابخانه و بجای {version}‍ نسخه‌ای که مد نظر است را قرار دهید.