تعديل ملفات Build.gradle لـ "استوديو Android"

يوضِّح هذا الدليل طريقة تعديل ملفات build.gradle من مشاريع AGDE حتى تتمكّن من فتحها في "استوديو Android". إنها مخصصة بشكل أساسي لمهندسي البناء الذين يديرون مشروعات AGDE.

بعد إدخال التغييرات في هذا الدليل، من المفترض أن يكون بإمكانك:

  • يمكنك الإنشاء باستخدام Gradle من سطر الأوامر وAndroid Studio.
  • إنشاء حِزم APK وحِزم تطبيقات متعدّدة بتنسيق ABI
  • تعديل المصادر مع التوافق الكامل مع خدمات اللغات (مثل "تعريف شامل" وما إلى ذلك) في Android Studio.
  • يمكنك استخدام برامج تصحيح أخطاء "استوديو Android" لتصحيح الأخطاء في العمليات الأصلية والمختلطة.

تستند ميزة AGDE هذه إلى الميزة التجريبية لمكوّن Gradle التجريبي لنظام التشغيل Android للتوافق مع Ninja كنظام تصميم.

تعديل ملف Build.grale على مستوى المشروع

عليك تغيير build.gradle على مستوى المشروع للإشارة إلى الإصدار 7.3.0-alpha02 أو الإصدارات الأحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android. مثلاً:

buildscript {
    repositories {
       google()
       mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0-alpha02'
    }
}

بعد إجراء هذا التغيير، من المفترض أن يظل بإمكانك إنشاء مشروعك في Visual Studio. ننصحك بتجربة ذلك الآن لأنّه سيكون من الأسهل تصحيح الأخطاء قبل إجراء التغييرات أدناه.

نسخ run-msbuild.bat إلى مشروعك

تحتوي عيّنة Teabot التي يتم شحنها مع أحدث الإصدارات من AGDE على نص يُسمى run-msbuild.bat. سيتم استدعاء هذا النص البرمجي من AGP وهو مسؤول عن تحديد موقع MSBuild والاستدعاء له.

انسخ run-msbuild.bat إلى المجلد الذي يحتوي على ملف build.gradle على مستوى التطبيق.

تعديل ملف build.gradle على مستوى التطبيق

تتمثل الأهداف الرئيسية لهذه الخطوة في ضبط الطلب على run-msbuild.bat وإزالة المراجع التي تشير إلى متغيّرات MSBUILD_*.

ضبط ndkVersion

تغيير ndkVersion إلى نسخة NDK معيّنة مثلاً:

  android {
      ndkVersion "22.1.7171670"
  }

ضبط minSdkVersion

يجب تغيير minSdkVersion إلى إصدار محدّد كحد أدنى من حزمة تطوير البرامج (SDK). مثلاً:

  android {
      defaultConfig {
          minSdkVersion 30
      }
  }

استدعاء run-msbuild.bat

  1. أضِف قسمًا لاستدعاء run-msbuild.bat في ملف الحل الخاص بالمشروع.

       android {
           defaultConfig {
               externalNativeBuild {
                   experimentalProperties["ninja.abiFilters"] = [ "x86", "arm64-v8a" ]
                   experimentalProperties["ninja.path"] = "Teapot.sln"
                   experimentalProperties["ninja.configure"] = "run-msbuild"
                   experimentalProperties["ninja.arguments"] = [
                           "\${ndk.moduleMakeFile}",
                           "-p:Configuration=\${ndk.variantName}",
                           "-p:Platform=Android-\${ndk.abi}",
                           "-p:NinjaBuildLocation=\${ndk.buildRoot}",
                           "-p:NinjaProject=GameApplication",
                           "-p:RequireAndroidNdkVersion=\${ndk.moduleNdkVersion}",
                           "-p:RequireMinSdkVersion=\${ndk.minPlatform}",
                           "-t:GenerateBuildNinja"
                    ]
               }
           }
       }
    
  2. عليك حذف أي استخدامات لكل من MSBUILD_JNI_LIBS_SRC_DIR وMSBUILD_ANDROID_OUTPUT_APK_NAME وMSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR.

    ويمكن عادةً حذف العناصر المحظورة التالية في ملف build.gradle على مستوى التطبيق بالكامل.

       sourceSets {
           main {
               jniLibs.srcDirs = [MSBUILD_JNI_LIBS_SRC_DIR]
           }
       }
    
       applicationVariants.all { variant ->
           variant.outputs.all {
               outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME
           }
       }
    
       buildDir = MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR
    

ملاحظات

هذه الميزة تجريبية، لذا نقدِّر الملاحظات والآراء. في ما يلي كيفية تقديمه:

  • بالنسبة إلى التعليقات والملاحظات العامة، يمكنك إضافة تعليق إلى هذا الخطأ.
  • للإبلاغ عن خطأ، افتح "استوديو Android" وانقر على المساعدة/إرسال الملاحظات. تأكد من الرجوع إلى "أنظمة إنشاء C/C++ المخصصة" للمساعدة في توجيه الخطأ.
  • انقر على هذا الرابط إذا لم يكن "استوديو Android" مثبّتًا لديك.