يجب ضبط مشروع لاستخدام إضافة تطوير ألعاب Android.
تستدعي إضافة تطوير ألعاب Android MSBuild لتتمكّن من إنشاء رمز مصدر C/C++ ضمن قائمة
المكتبات (.so
) والمكتبات الثابتة (.a
). وكجزء من عملية التصميم،
تستدعي مهمة MSBuild المخصصة أداة Gradle لتجميع رمز المصدر Java وKotlin،
أصول الحزمة وإنشاء ملف APK للنشر. عند تهيئة
يجب التأكد من أن MSBuild لديه المعلومات التي تحتاج إلى إنشائها من أجل
نظام Android الأساسي.
إنشاء C/C++ باستخدام MSBuild
ويتم إنشاء مشروع Android النموذجي باستخدام أداة Gradle، حيث يتم إنشاء التعليمات البرمجية الأصلية داخل باستخدام ممر Gradle الذي تشغّل CMake أو ndk-build. مع إضافة تطوير ألعاب Android للمحتوى المرئي الاستوديو، عملية التصميم مقلوبة. الآن MSBuild هي نقطة البداية عملية التصميم. تم إنشاء جميع رموز مصدر C/C++ أولاً بواسطة MSBuild لمصمم أنظمة Android الأساسية المثبتة على نظامك كجزء من الإضافة (ل على سبيل المثال، "Android-x86_64"). ثم يستدعي MSBuild أداة Gradle لتجميع البيانات ملفات المكتبة التي تحتوي على منطق C/C++ في APK.
يجب عليك أولاً تكرار منطق الإصدار الحالي لمشروعك في CMake أو ndk-build في MSBuild. اضبط المنصّات المستهدَفة على ما يلي:
- Android-x86
- Android-x86_64
- Android-armeabi-v7a
- Android-arm64-v8a
ويتم توفير جميع هذه الأنظمة الأساسية من خلال إضافة تطوير ألعاب Android.
إضافة نظام أساسي Android
بينما يتضمن مشروع عينة إبريق الشاي منصات Android، يجب عليك يدويًا إضافة نظام Android الأساسي إلى مشروع حالي. لإضافة منصة جديدة، اتّبِع الخطوات التالية: التالي في Visual Studio:
- اختَر إنشاء > مدير الإعداد.
- ضمن منصّة الحلول النشطة، اختَر <جديد>.
اكتب أيًا مما يلي للمنصة الجديدة:
- Android-armeabi-v7a
- Android-arm64-v8a
- Android-x86
- Android-x86_64
في المربّع نسخ الإعدادات من، اختَر جهاز Android حالي آخر. أو <إفراغ> إذا لم يكن لديك أي أنظمة أساسية لـ Android حتى الآن. تأكَّد من تفعيل إنشاء منصّات مشروع جديدة.
إضافة ملف APK خاص بنظام التشغيل Android
اختَر إضافة >. عنصر جديد > Visual C++ > Android > Android APK والنقر على انقر على إضافة. اضبط تطبيق Android في مربع الحوار التالي.
- اسم التطبيق: اسم تطبيق Android الذي يمكن للمستخدمين قراءته.
- رقم تعريف التطبيق: المعرّف الفريد لتطبيق Android.
- موقع مستكشف الحلول: موقع المجلد الافتراضي الذي يحتوي على ملفات دعم حزم Android المضافة. بشكل افتراضي، تتم تسمية هذه الملفات أيضًا الموجودة في المشروع في مجلد يحمل الاسم ذاته. يمكنك تخصيص الموقع الجغرافي عن طريق اختيار وضع ملفات الدعم في مكان مخصّص مربع الاختيار وتحديد موقع مخصص. وسيظل المجلد الافتراضي كما هو ضمن المشروع الحالي في Solution Explorer (مستكشف الحلول).
جعل MSBuild يستدعي Gradle لإنشاء APK
لا يمكن لـ MSBuild استدعاء Gradle ما لم تكن تعرف موقع مشروع Gradle. حدِّد هذا الموقع باستخدام الخاصية Gradle Build Directory، باعتباره كما هو موضح في الشكل 1.
الشكل 1. موقع Gradle Build Directory
بالإضافة إلى ذلك، اضبط وحدة التطبيق وصيغة التطبيق وAPK خصائص الاسم (كما هو موضح في الصورة السابقة) لتتعرف عليها MSBuild وما يجب إنشاؤه.
- وحدة التطبيق: اسم مشروع Gradle الفرعي. هذا هو العنصر الرئيسي
تم تعيين المشروع في ملف
settings.gradle
. يُطلق عليه عادةً اسمapp
مشروع تم إنشاؤه مباشرةً باستخدام "استوديو Android". - صيغة التطبيق: خيار Android المطلوب إنشاؤه. يجب أن تكون هذه القيمة
وفقًا لتهيئات MSBuild. على سبيل المثال، إصدار تصحيح الأخطاء
يجب أن يحتوي على قيمة تم ضبطها على نسخة تصحيح الأخطاء. إذا كان مشروعك MSBuild
تطابق أسماء المتغيرات في Gradle، فما عليك سوى استخدام
والقيمة التلقائية التي تبلغ
$(Configuration)
. - اسم APK: اسم ملف APK الذي تم إنشاؤه ويُستخدَم لتصحيح الأخطاء
إنشاء ملفات شخصية على حاسب التطوير الخاص بك. يتم تمرير هذا الاسم إلى Gradle
أن يراعي النص البرمجي لإنشاء Gradle ذلك (راجع خاصية
MSBUILD_ANDROID_OUTPUT_APK_NAME
في القسم التالي).
تعديل النصوص البرمجية لإصدار Gradle
أثناء الإصدار، يقوم MSBuild بتمرير المعلومات التالية كخصائص للمشروع
إلى نص Gradle. تغيير النصوص البرمجية للإصدار الحالي لمشروعك (عادةً
التي تحمل اسم build.gradle
) لقراءة هذه الخصائص.
MSBUILD_MIN_SDK_VERSION
: الحد الأدنى من إصدار حزمة SDK لإنشاء حزمة APK ضبط هذه القيمة في مربّع الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) لنظام التشغيل Android ضِمن المشروع. وصفحة الخصائص كما هو موضح في الشكل 2.
الشكل 2. موقع الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) لنظام التشغيل Androidيجب أن يضبط النص البرمجي لإنشاء Gradle
minSdkVersion
على هذه القيمة، كما هو موضح أدناه.Groovy
android { // ... defaultConfig { applicationId "com.yourcompany.yourapp" minSdkVersion MSBUILD_MIN_SDK_VERSION // ... } // ... }
Kotlin
android { // ... defaultConfig { applicationId = "com.yourcompany.yourapp" minSdkVersion(MSBUILD_MIN_SDK_VERSION) // ... } // ... }
MSBUILD_ANDROID_OUTPUT_APK_NAME
: الاسم المتوقع لملف APK الذي توفّره منصّة Gradle الإصدارات. ستبحث "إضافة تطوير ألعاب Android" عن حزمة APK تطابق هذا الاسم ثم انشره على الأجهزة المتصلة (لتصحيح الأخطاء وإنشاء الملفات الشخصية). ضبط هذا الإعداد في مربع اسم APK في صفحة موقع المشروع الموضحة في الشكل 3.
الشكل 3. سمة اسم APKيجب أن يراعي النص البرمجي لإنشاء Gradle هذه السمة. على سبيل المثال، يضبط المثال التالي اسم حزمة APK الناتجة عن جميع خيارات المنتج على الاسم. التي تختارها MSBuild.
Groovy
android { // ... applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } // ... }
Kotlin
android { // ... applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } // ... }
MSBUILD_JNI_LIBS_SRC_DIR
: الدليل الذي يحتوي على المكتبات المشتركة (ملفان (.so
)) تم إنشاؤه بواسطة MSBuild. اضبط هذه القيمة في دليل الإخراج في صفحة موقع المشروع الموضحة أدناه. بشكل افتراضي، تكون هذه القيمة هي خاصية دليل الإخراج لمشروع Visual Studio، كما هو موضح في الشكل 4.
الشكل 4. خاصية دليل الإخراجيجب أن يجمع Gradle ملفات المكتبة المشتركة في هذا المجلد داخل حزمة APK حتى يتمكن تطبيق Android من تحميلها في وقت التشغيل.
Groovy
android { // ... sourceSets { main { jniLibs.srcDirs += [MSBUILD_JNI_LIBS_SRC_DIR] } } // ... }
Kotlin
android { // ... sourceSets.getByName("main") { jniLibs.srcDir(MSBUILD_JNI_LIBS_SRC_DIR) } // ... }
بالإضافة إلى ذلك، نظرًا لأن أي رمز C/C++ مصمم الآن بواسطة MSBuild، فقم بإزالة قسمان (
externalNativeBuild
) في النصوص البرمجية لإنشاء Gradle هذه الأقسام استُخدمت لاستدعاء CMake أو ndk-build لتجميع رمز C/C++ الخاص بك، ولكن لم تعد هناك حاجة إليه.MSBUILD_NDK_VERSION
: إصدار NDK المستخدم لإنشاء مشروعك. اضبط هذه القيمة في مربّع إصدار Android NDK على صفحة خصائص المشروع الموضحة في الشكل 5.
الشكل 5. موقع إصدار Android NDKيجب أن يضبط البرنامج النصي لإنشاء Gradle
ndkVersion
على هذه القيمة، على النحو الموضّح:Groovy
android { // ... ndkVersion MSBUILD_NDK_VERSION // ... }
Kotlin
android { // ... ndkVersion = MSBUILD_NDK_VERSION // ... }
لمزيد من المعلومات، يُرجى الاطّلاع على موضوع "استوديو Android". تثبيت NDK وCMake وإعدادهما.