خروجی گرفتن برای پلتفرم اندروید از موتور بازی‌سازی یونیتی (Unity)، حتی پیش از اعمال محدودیت‌های گسترده اینترنتی، همواره با چالش‌های فنی همراه بوده است. امروزه با توجه به تداوم تحریم‌های شرکت یونیتی و محدودیت‌های دسترسی به سرویس‌های خارجی، مسیر توسعه برای بازی‌سازان کشورمان دشوارتر از گذشته شده است.

با این حال، جای نگرانی نیست. در این مقاله از وب‌سایت «علم بازی»، قصد داریم تمامی موانع احتمالی در فرآیند خروجی گرفتن برای اندروید را بررسی کرده و راهکارهای عملی برای غلبه بر آن‌ها، حتی در شرایط اینترنت محدود، ارائه دهیم. با ما همراه باشید.

بررسی چالش‌های خروجی اندروید در شرایط فعلی

در فرآیند توسعه بازی با یونیتی، به‌ویژه در شرایطی که دسترسی به سرویس‌های بین‌المللی با اختلال مواجه است، با چالش‌های متعددی در بخش‌های SDK، OpenJDK و NDK روبرو هستیم. این کیت‌های توسعه، پیش‌نیازهای حیاتی برای تبدیل کدهای یونیتی به فایل نصبی اندروید (APK/AAB) هستند.

راهکارهای مدیریت SDK، OpenJDK و NDK

اگر در حال حاضر با استفاده از آموزش‌های پیشین ما در زمینه رفع محدودیت Unity Hub توانسته‌اید حساب کاربری خود را فعال نگه دارید و ادیتورها به درستی به کیت‌های توسعه دسترسی دارند، می‌توانید با خیالی آسوده به سراغ بخش دوم مقاله بروید.

در غیر این صورت، استفاده از نسخه‌های پایدار و تست‌شده، منطقی‌ترین راهکار است. بر اساس تجربیات تیم فنی ما، نسخه 2020.2.7f1 یونیتی، تعادل بسیار خوبی در پایداری و خروجی اندروید ارائه می‌دهد. پیشنهاد می‌کنیم جهت جلوگیری از بروز تداخل‌های سیستمی، از لینک‌های زیر برای دریافت نسخه‌های استاندارد استفاده نمایید:

نکته مهم: برای عملکرد صحیح، پیشنهاد می‌شود کیت‌های فوق را از لینک‌های ارائه شده دریافت کنید و از دانلود آن‌ها از طریق خود Unity Hub خودداری نمایید.

رفع خطاهای رایج در فرآیند Build (Gradle)

یکی از بزرگترین موانع بازیسازان، خطاهای مربوط به سیستم ساخت Gradle است که معمولاً به دلیل عدم توانایی در برقراری ارتباط با مخازن (Repositories) خارجی رخ می‌دهد. خوشبختانه با استفاده از مخزن آینه (Mirror) مایکت، می‌توانید بدون نیاز به ابزارهای تغییر IP یا تنظیمات پیچیده DNS، این مشکل را برطرف کنید.

فعال‌سازی Gradle Templates

پیش از هر اقدامی، مطمئن شوید که پلتفرم پروژه را بر روی Android تنظیم (Switch Platform) کرده‌اید. سپس برای ایجاد فایل‌های تنظیمات، مراحل زیر را دنبال کنید:

  1. به منوی Edit > Project Settings بروید.
  2. بخش Player را انتخاب کنید.
  3. در قسمت Publishing Settings، گزینه‌های زیر را فعال کنید:
  • Custom Main Gradle Template
  • Custom Base Gradle Template
  • Custom Gradle Settings Template (در صورتی که در نسخه یونیتی شما موجود است).

پس از فعال‌سازی، فایل‌های مورد نیاز در مسیر Assets/Plugins/Android/ ایجاد خواهند شد.

تنظیم مخزن (Mirror) مایکت

بسته به نسخه یونیتی خود، یکی از روش‌های زیر را برای ویرایش فایل‌های Gradle انتخاب کنید:

روش اول: مخصوص نسخه‌های 2022.2 و جدیدتر

در نسخه‌های جدید، تنظیمات در فایل settingsTemplate.gradle انجام می‌شود:

  1. فایل مذکور را با یک ویرایشگر متنی (مانند VS Code) باز کنید.
  2. درون بلاک repositories، آدرس مخزن مایکت را مطابق زیر اضافه کنید:

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url ‘https://maven.myket.ir/’ }
google()
mavenCentral()
}
}

روش دوم: مخصوص نسخه‌های 2022.1 و قدیمی‌تر

در نسخه‌های قدیمی، تغییرات باید در فایل baseProjectTemplate.gradle و درون بلاک allprojects اعمال شود:

allprojects {
repositories {
maven { url ‘https://maven.myket.ir/’ }
google()
mavenCentral()
flatDir { dirs ‘libs’ }
}
}

روش پیشنهادی برای نسخه 2020.2.7f1

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

allprojects {
buildscript {
repositories {
maven { url “https://maven.myket.ir” }
google()
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.6.0’
}
}
repositories {
maven { url “https://maven.myket.ir” }
google()
jcenter()
flatDir {
dirs “${project(‘:unityLibrary’).projectDir}/libs”
}
}
}

امیدواریم با اعمال این تنظیمات، فرآیند خروجی گرفتن برای شما تسهیل شده باشد. در صورت بروز هرگونه مشکل یا داشتن سوال، حتماً از طریق بخش نظرات همین صفحه با ما در ارتباط باشید.