إنّ إصدار "أداة إنشاء ألعاب Unity" مرتبط بإصدار محدّد من Gradle الذي يمكن أن يتعارض مع التبعيات المطلوبة لحِزم Android الأحدث، مثل إعلانات Google للأجهزة الجوّالة. يرشدك الدليل التالي إلى كيفية إنشاء إصدار لنظام التشغيل Android على إصدارات سابقة من "محرر Unity".
يقترح الجدول التالي الحد الأقصى من الإصدار المتوافق من المكوّن الإضافي لـ "إعلانات Google على الأجهزة الجوّالة" لاستخدامه استنادًا إلى "أداة إنشاء ألعاب Unity".
محرِّر Unity | إصدار المكوّن الإضافي Unity المُقترَح لخدمة "إعلانات Google" على الأجهزة الجوّالة |
---|---|
2023.1 أو إصدار أحدث | الأحدث |
2021.3.41f1 - 2022.3 | 9.1.0 |
2021.3.37f1 أو إصدار أقدم | 8.5.3 |
المتطلبات الأساسية
- نزِّل أحدث إصدار ثابت من IDE Android Studio وثبِّته.
- لفهم عملية إنشاء التطبيقات المخصّصة لنظام التشغيل Android بشكل أفضل، يُرجى الاطّلاع على مقالة إصدارات Java في إصدارات Android.
تعديل إعدادات الإصدار 2022.3 والإصدارات الأقدم
تتطلّب الإصدارات 2022.3 من Unity والإصدارات الأقدم إجراء تغييرات على إعدادات الإنشاء قبل التصدير إلى IDE.
إنشاء baseProjectTemplate.gradle
فعِّل نماذج Gradle المخصّصة. انتقِل إلى إعدادات المشروع > المشغّل > Android > إعدادات النشر > الإنشاء، ثم اختَر: نموذج Gradle الأساسي المخصّص. يؤدي ذلك إلى إنشاء ملف
Plugins/Android/baseProjectTemplate.gradle
.عدِّل ملف
Plugins/Android/baseProjectTemplate.gradle
لاستخدام أدوات Gradle الإصدار 8.1.1 أو إصدار أحدث.plugins { id 'com.android.application' version '8.1.1' apply false id 'com.android.library' version '8.1.1' apply false } task clean(type: Delete) { delete rootProject.buildDir }
تغييرات إضافية في الإصدار Unity 2021.3.37f1 والإصدارات الأقدم
يتطلّب الإصدار 2021.3.37f1 من Unity والإصدارات الأقدم تغييرات إضافية لتحسين التوافق مع Gradle 8.1.1. أكمِل الخطوات التالية:
إنشاء ملف launcherTemplate.gradle
انتقِل إلى إعدادات المشروع > المشغّل > Android > إعدادات النشر > الإنشاء، ثم اختَر نموذج Gradle لتطبيق مشغّل التطبيقات. يؤدي ذلك إلى إنشاء ملف
Plugins/Android/launcherTemplate.gradle
.عدِّل
Plugins/Android/launcherTemplate.gradle
لتضمين سمة مساحة الاسم. يجب أن تتطابق قيمة سمة مساحة الاسم مع سمة الحزمة المتوفّرة في ملفAndroidManifest.xml
الخاص بوحدة المشغّل.android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
إنشاء mainTemplate.gradle
- انتقِل إلى إعدادات المشروع > المشغّل > Android > إعدادات النشر > الإنشاء،
ثم اختَر نموذج Gradle الرئيسي. يؤدي ذلك إلى إنشاء ملف
Plugins/Android/mainTemplate.gradle
.
.
عدِّل
Plugins/Android/mainTemplate.gradle
لتضمين سمة "مساحة الاسم" بالقيمةcom.unity3d.player
.android { namespace 'com.unity3d.player' }
التصدير إلى "استوديو Android"
عدِّل إعدادات إنشاء تطبيق Android لتصدير مشروع Unity.
للتصدير إلى Android Studio، عليك تعديل إعدادات إنشاء تطبيق Android. اختَر ملف (أو Unity Editor على نظام التشغيل macOS) > إعدادات الإنشاء وضع علامة في المربّع بجانب تصدير المشروع:
اضغط على الزر تصدير في أسفل مربّع الحوار "إعدادات الإصدار". تنشئ Unity مشروع Android في الموقع المحدّد.
افتح المشروع الذي تم تصديره في Android Studio.
تعديل إعدادات JDK في Gradle لاستخدام JDK 17
- باستخدام "استوديو Android"، افتح إعدادات Gradle من ملف (أو استوديو Android على نظام التشغيل macOS) > الإعدادات > الإنشاء والتنفيذ والنشر > أدوات الإنشاء > Gradle.
ابحث عن القائمة المنسدلة Gradle JDK. عدِّل حزمة JDK في Gradle لاستخدام JDK 17.
إذا لم يكن لديك JDK 17 مثبّتًا، اختَر تنزيل JDK من قائمة Gradle JDK المنسدلة ونزِّل إصدارًا متوافقًا. ننصحك باستخدام موفِّر وقت تشغيل JetBrains الذي يتيح استخدام
arch64
، وذلك لمطابقة ما يوزّعه Android Studio.
تعديل ملفات حِزم Gradle
عدِّل المَعلمة distributionUrl داخل gradle/wrapper/gradle-wrapper.properties
لاستخدام Gradle 8.0.1 أو إصدار أحدث.
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip
تغييرات إضافية في "استوديو Android" لإصدار Unity 2021.3.37f1 والإصدارات الأقدم
يتطلب الإصدار 2021.3.37f1 من Unity والإصدارات الأقدم تغييرات إضافية لتحسين ملف برمجي ليعمل مع Gradle 8.1.1. أكمِل الخطوات التالية:
عدِّل السمة
gradle.properties
وأزِل السمةandroid.enableR8=false
.عدِّل
unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
و أضِف سمة نطاق اسم بقيمة"com.google.unity.ads"
:apply plugin: 'android-library' dependencies { implementation fileTree(dir: 'bin', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar']) } android { namespace "com.google.unity.ads" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' //java.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } } compileSdkVersion 35 buildToolsVersion '30.0.3' defaultConfig { targetSdkVersion 31 } lintOptions { abortOnError false } }
تشغيل مشروع Android
بعد إكمال هذه الخطوات، يصبح تطبيق Unity جاهزًا. من "استوديو Android"، شغِّل gradle sync، ثم شغِّل المشروع.