प्रोजेक्ट कॉन्फ़िगर करना

Android गेम डेवलपमेंट एक्सटेंशन का इस्तेमाल करने के लिए, कोई प्रोजेक्ट कॉन्फ़िगर करें.

Android गेम डेवलपमेंट एक्सटेंशन, शेयर किए गए एक्सटेंशन में C/C++ सोर्स कोड बनाने के लिए MSBuild को शुरू करता है लाइब्रेरी (.so) और स्टैटिक लाइब्रेरी (.a). बिल्ड प्रोसेस के हिस्से के तौर पर, कस्टम MSBuild टास्क, Java और Kotlin सोर्स कोड को कंपाइल करने के लिए Gradle को शुरू करता है, पैकेज एसेट हैं और डिप्लॉयमेंट के लिए APK फ़ाइल जनरेट करती है. जब आप अपने प्रोजेक्ट के लिए डाउनलोड करते समय, आपको यह पक्का करना होगा कि MSBuild में वह जानकारी हो जिसे उसे बनाने की ज़रूरत है Android प्लैटफ़ॉर्म.

MSBuild के साथ C/C++ बनाएं

एक सामान्य Android प्रोजेक्ट, Gradle की मदद से बनाया जाता है, जिसमें नेटिव कोड प्रोजेक्ट को Gradle पास से बनाया गया है, जो CMake या ndk-build. विज़ुअल के लिए Android गेम डेवलपमेंट एक्सटेंशन की मदद से स्टूडियो में, बिल्ड प्रोसेस इन्वर्टेड है. अब MSBuild, बिल्ड प्रोसेस शुरू करें. नए C/C++ सोर्स कोड को सबसे पहले MSBuild ने बनाया है एक्सटेंशन के हिस्से के तौर पर, आपके सिस्टम पर इंस्टॉल किए गए Android प्लैटफ़ॉर्म (इसके लिए उदाहरण के लिए, "Android-x86_64"). इसके बाद, MSBuild, शेयर किए गए कॉन्टेंट को पैकेज करने के लिए Gradle शुरू करता है लाइब्रेरी फ़ाइलें जिनमें आपका C/C++ लॉजिक, किसी APK में मौजूद होता है.

सबसे पहले, CMake की मदद से अपने प्रोजेक्ट के मौजूदा बिल्ड लॉजिक को कॉपी करें या MSBuild में ndk-build. टारगेट प्लैटफ़ॉर्म को इन्हें सेट करें:

  • Android-x86
  • Android-x86_64
  • Android-armeabi-v7a
  • Android-arm64-v8a

ये सभी प्लैटफ़ॉर्म, Android गेम डेवलपमेंट एक्सटेंशन की मदद से उपलब्ध कराए जाते हैं.

कोई Android प्लैटफ़ॉर्म जोड़ें

हालांकि, टीपॉट के सैंपल प्रोजेक्ट में Android प्लैटफ़ॉर्म शामिल हैं, लेकिन आपको मैन्युअल तौर पर किसी मौजूदा प्रोजेक्ट में Android प्लैटफ़ॉर्म जोड़ना. नया प्लैटफ़ॉर्म जोड़ने के लिए, यह करें आपको Visual Studio में जाकर ऐसा करने की ज़रूरत है:

  1. बिल्ड > चुनें कॉन्फ़िगरेशन मैनेजर.
  2. चालू समाधान प्लैटफ़ॉर्म में जाकर, <New> चुनें.
  3. नए प्लैटफ़ॉर्म के लिए इनमें से कोई एक टाइप करें:

    • Android-armeabi-v7a
    • Android-arm64-v8a
    • Android-x86
    • Android-x86_64
  4. इससे सेटिंग कॉपी करें बॉक्स में, कोई दूसरा मौजूदा Android चुनें प्लैटफ़ॉर्म या अगर आपके पास अब तक कोई Android प्लैटफ़ॉर्म नहीं है, तो <Empty> सुविधा का इस्तेमाल करें. पक्का करें कि आपने नए प्रोजेक्ट प्लैटफ़ॉर्म बनाने की सुविधा चालू की हो.

Android APK आइटम जोड़ें

जोड़ें > को चुनें नया आइटम > विज़ुअल C++ > Android > Android APK और क्लिक करें जोड़ें पर क्लिक करें. निम्न संवाद पर Android ऐप्लिकेशन कॉन्फ़िगर करें.

  • ऐप्लिकेशन का नाम: आपके Android ऐप्लिकेशन का ऐसा नाम जिसे कोई भी व्यक्ति आसानी से पढ़ सके.
  • ऐप्लिकेशन आईडी: यूनीक आइडेंटिफ़ायर Android ऐप्स के लिए.
  • समाधान एक्सप्लोरर स्थान: उस वर्चुअल फ़ोल्डर का स्थान, जिसमें जोड़ी गई Android पैकेजिंग सहायता फ़ाइलें. डिफ़ॉल्ट रूप से, ये फ़ाइलें भी जो प्रोजेक्ट में समान नाम वाले किसी फ़ोल्डर में मौजूद है. आपके पास जगह की जानकारी को चुनकर, सहायता फ़ाइलों को कस्टम जगह में रखें को चुनें चेकबॉक्स चुनें और कस्टम स्थान बताएं. वर्चुअल फ़ोल्डर अब भी के सेक्शन में पेस्ट करें.

APK बनाने के लिए, MSBuild को Gradle शुरू करने का निर्देश दें

MSBuild, Gradle को तब तक शुरू नहीं कर सकते, जब तक कि उसे Gradle प्रोजेक्ट की जगह की जानकारी न हो. Gradle बिल्ड डायरेक्ट्री प्रॉपर्टी का इस्तेमाल करके, यह जगह इस तरह सेट करें पहली इमेज में दिखाया गया है.


पहली इमेज. Gradle बिल्ड डायरेक्ट्री प्रॉपर्टी

इसके अलावा, ऐप्लिकेशन मॉड्यूल, ऐप्लिकेशन वैरिएंट, और APK सेट करें MSBuild के बारे में जानने के लिए, प्रॉपर्टी को नाम दें (जैसा कि पिछली इमेज में दिखाया गया है) कि क्या बनाना है.

  • ऐप्लिकेशन मॉड्यूल: Gradle सबप्रोजेक्ट का नाम. यह मुख्य है प्रोजेक्ट को settings.gradle फ़ाइल में सेट किया गया है. आम तौर पर, इसे app कहा जाता है: प्रोजेक्ट को सीधे Android Studio का इस्तेमाल करके बनाया गया है.
  • ऐप्लिकेशन का वैरिएंट: Android का वह वैरिएंट जिसे बनाना है. यह मान होना चाहिए को MSBuild कॉन्फ़िगरेशन के हिसाब से सेट किया जा सकता है. उदाहरण के लिए, डीबग बिल्ड डीबग वैरिएंट पर एक वैल्यू सेट होनी चाहिए. अगर आपके प्रोजेक्ट का MSBuild कॉन्फ़िगरेशन का नाम, Gradle वैरिएंट के नामों से मेल खाता है, तो $(Configuration) की डिफ़ॉल्ट वैल्यू.
  • APK का नाम: डीबग करने के लिए इस्तेमाल की जाने वाली जनरेट की गई APK फ़ाइल का नाम और अपने डेवलपमेंट कंप्यूटर पर प्रोफ़ाइलिंग करें. यह नाम Gradle को भेजा जाता है और आपकी Gradle बिल्ड स्क्रिप्ट इसका पालन करेगी (प्रॉपर्टी देखें MSBUILD_ANDROID_OUTPUT_APK_NAME दिए गए हैं).

अपनी Gradle बिल्ड स्क्रिप्ट में बदलाव करना

बिल्ड के दौरान, MSBuild, नीचे दी गई जानकारी को प्रोजेक्ट प्रॉपर्टी के तौर पर पास करते हैं को Gradle स्क्रिप्ट में बदल देंगे. अपने प्रोजेक्ट की मौजूदा बिल्ड स्क्रिप्ट बदलें (आम तौर पर इन प्रॉपर्टी को पढ़ने के लिए, इन प्रॉपर्टी का नाम build.gradle है).

  • MSBUILD_MIN_SDK_VERSION: APK बनाने के लिए, SDK टूल का कम से कम वर्शन. शुरू प्रोजेक्ट पर कम से कम Android SDK वर्शन बॉक्स में यह मान दूसरी इमेज में दिखाया गया प्रॉपर्टी पेज.


    दूसरी इमेज. Android SDK टूल के कम से कम वर्शन की प्रॉपर्टी

    Gradle बिल्ड स्क्रिप्ट को, minSdkVersion को इस वैल्यू पर सेट करना चाहिए, जैसा कि दिखाया गया है देखें.

    ग्रूवी

    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 Name बॉक्स में दी गई वैल्यू, जो तीसरी इमेज में दिखाई गई है.


    तीसरी इमेज. APK का नाम प्रॉपर्टी

    Gradle बिल्ड स्क्रिप्ट इस प्रॉपर्टी के हिसाब से होनी चाहिए. उदाहरण के लिए, नीचे दिया गया उदाहरण, सभी वैरिएंट के लिए आउटपुट APK नाम को सेट करता है MSBuild के चुने हुए हैं.

    ग्रूवी

    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 फ़ाइलें) MSबिल्ड द्वारा बनाई गई. इस वैल्यू को आउटपुट डायरेक्ट्री में सेट करें बॉक्स पर क्लिक करें. डिफ़ॉल्ट रूप से, यह मान Visual Studio प्रोजेक्ट के लिए आउटपुट डायरेक्ट्री प्रॉपर्टी, जैसा कि चौथी इमेज में दिखाया गया है.


    चौथी इमेज. आउटपुट डायरेक्ट्री प्रॉपर्टी

    Gradle को इस फ़ोल्डर की, शेयर की गई लाइब्रेरी की फ़ाइलों को APK के अंदर पैकेज करना चाहिए ताकि Android ऐप्लिकेशन उन्हें रनटाइम पर लोड कर सके.

    ग्रूवी

    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 का बनाया हुआ है, इसलिए GA4 प्रॉपर्टी को आपकी Gradle बिल्ड स्क्रिप्ट में externalNativeBuild सेक्शन हैं. ये सेक्शन का इस्तेमाल C/C++ कोड को कंपाइल करने के लिए, CMake या ndk-build को शुरू करने के लिए किया गया था, लेकिन अब ज़रूरत नहीं है.

  • MSBUILD_NDK_VERSION: NDK का वर्शन, जिसका इस्तेमाल करके प्रोजेक्ट. यह वैल्यू Android NDK वर्शन बॉक्स में पांचवीं इमेज में दिखाया गया प्रोजेक्ट प्रॉपर्टी पेज.


    पांचवी इमेज. Android एनडीके वर्शन प्रॉपर्टी

    Gradle बिल्ड स्क्रिप्ट को ndkVersion को इस वैल्यू पर सेट करना चाहिए, जैसा कि दिखाया गया है:

    ग्रूवी

    android {
      // ...
    
      ndkVersion MSBUILD_NDK_VERSION
    
      // ...
    }
    

    Kotlin

    android {
      // ...
    
      ndkVersion = MSBUILD_NDK_VERSION
    
      // ...
    }
    

    ज़्यादा जानकारी के लिए, Android Studio से जुड़ा विषय देखें NDK और CMake को इंस्टॉल और कॉन्फ़िगर करें.