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

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

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

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

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

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

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

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

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

نسخ 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" مثبّتًا لديك.