Unity Editor के Android वर्शन के साथ काम करना

Unity Editor, Gradle के किसी खास वर्शन पर लॉक है. यह वर्शन, Google Mobile Ads जैसे नए Android पैकेज की ज़रूरी डिपेंडेंसी के साथ काम नहीं कर सकता. इस गाइड में, Unity Editor के पुराने वर्शन पर Android वर्शन बनाने का तरीका बताया गया है.

नीचे दी गई टेबल में, आपके Unity Editor के आधार पर, Google Mobile Ads प्लग इन के सबसे ज़्यादा काम करने वाले वर्शन का सुझाव दिया गया है.

Unity Editor Google Mobile Ads Unity प्लग इन का सुझाया गया वर्शन
2023.1 या इसके बाद का वर्शन नया
2021.3.41f1 - 2022.3 9.1.0
2021.3.37f1 या इससे पहले का वर्शन 8.5.3

ज़रूरी शर्तें

  • Android Studio का सबसे नया वर्शन डाउनलोड और इंस्टॉल करें.
  • Android के लिए ऐप्लिकेशन बनाने के बारे में बेहतर तरीके से जानने के लिए, Android बिल्ड में Java वर्शन लेख पढ़ें.

2022.3 और उससे पहले के वर्शन के लिए, सेटिंग अपडेट करना

Unity 2022.3 और उससे पहले के वर्शन में, Android Studio में एक्सपोर्ट करने से पहले, बिल्ड सेटिंग में बदलाव करना ज़रूरी है.

baseProjectTemplate.gradle जनरेट करना

  1. कस्टम Gradle टेंप्लेट चालू करें. प्रोजेक्ट सेटिंग > प्लेयर > Android > पब्लिश करने की सेटिंग > बिल्ड पर जाएं और पसंद के मुताबिक बनाया गया बेस Gradle टेंप्लेट चुनें. इससे Plugins/Android/baseProjectTemplate.gradle फ़ाइल जनरेट होती है.

  2. Gradle टूल के 8.1.1 या इसके बाद के वर्शन का इस्तेमाल करने के लिए, Plugins/Android/baseProjectTemplate.gradle फ़ाइल में बदलाव करें.

    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 और उससे पहले के वर्शन के लिए अन्य बदलाव

Unity 2021.3.37f1 और इससे पहले के वर्शन में, Gradle 8.1.1 के साथ काम करने की सुविधा को अपग्रेड करने के लिए, कुछ और बदलाव करने होंगे. यहां दिया गया तरीका अपनाएं:

launcherTemplate.gradle जनरेट करना

  1. प्रोजेक्ट सेटिंग > प्लेयर > Android > पब्लिश करने की सेटिंग > बिल्ड पर जाएं और लॉन्चर Gradle टेंप्लेट चुनें. इससे Plugins/Android/launcherTemplate.gradle फ़ाइल जनरेट होती है.

  2. नेमस्पेस एट्रिब्यूट को शामिल करने के लिए, Plugins/Android/launcherTemplate.gradle में बदलाव करना. नेमस्पेस एट्रिब्यूट की वैल्यू, लॉन्चर मॉड्यूल की AndroidManifest.xml फ़ाइल में मौजूद पैकेज एट्रिब्यूट से मेल खानी चाहिए.

    android {
        // TODO: Replace with your app's package name.
        namespace 'com.google.android.gms.example'
    }
    

mainTemplate.gradle जनरेट करना

  1. प्रोजेक्ट सेटिंग > प्लेयर > Android > पब्लिश करने की सेटिंग > बिल्ड पर जाएं और मुख्य Gradle टेंप्लेट चुनें. इससे Plugins/Android/mainTemplate.gradle फ़ाइल जनरेट होती है.

.

  1. com.unity3d.player वैल्यू के साथ नेमस्पेस एट्रिब्यूट को शामिल करने के लिए, Plugins/Android/mainTemplate.gradle में बदलाव करें.

    android {
        namespace 'com.unity3d.player'
    }
    

Android Studio में एक्सपोर्ट करना

  1. Unity प्रोजेक्ट को एक्सपोर्ट करने के लिए, Android बिल्ड सेटिंग में बदलाव करें.

  2. Android Studio में एक्सपोर्ट करने के लिए, Android के बिल्ड की सेटिंग में बदलाव करें. फ़ाइल (या macOS पर Unity Editor) > बिल्ड सेटिंग चुनें और प्रोजेक्ट एक्सपोर्ट करें को चुनें:

  3. 'बिल्ड सेटिंग' डायलॉग बॉक्स में सबसे नीचे मौजूद, एक्सपोर्ट करें बटन को दबाएं. Unity, चुनी गई जगह पर Android प्रोजेक्ट जनरेट करता है.

  4. एक्सपोर्ट किया गया प्रोजेक्ट, Android Studio में खोलें.

JDK 17 का इस्तेमाल करने के लिए, Gradle JDK कॉन्फ़िगरेशन अपडेट करना

  1. Android Studio का इस्तेमाल करके, फ़ाइल (या macOS पर Android Studio) > सेटिंग > बिल्ड, एक्सीक्यूशन, डिप्लॉयमेंट > बिल्ड टूल > Gradle से Gradle की सेटिंग खोलें.
  2. Gradle JDK ड्रॉप-डाउन ढूंढें. JDK 17 का इस्तेमाल करने के लिए, Gradle JDK में बदलाव करें.

    अगर आपने JDK 17 इंस्टॉल नहीं किया है, तो Gradle JDK ड्रॉप-डाउन मेन्यू से JDK डाउनलोड करें विकल्प चुनें और काम करने वाला वर्शन डाउनलोड करें. हमारा सुझाव है कि आप arch64 के साथ काम करने वाले JetBrains रनटाइम वेंडर का इस्तेमाल करें, ताकि Android Studio के साथ काम करने वाले रनटाइम के साथ यह भी काम कर सके.

Gradle रैपर फ़ाइलों को अपडेट करना

Gradle 8.0.1 या इसके बाद के वर्शन का इस्तेमाल करने के लिए, gradle/wrapper/gradle-wrapper.properties के अंदर distributionUrl पैरामीटर में बदलाव करें.

   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

Unity 2021.3.37f1 और उससे पहले के वर्शन के लिए, Android Studio में किए गए अन्य बदलाव

Unity 2021.3.37f1 और इससे पहले के वर्शन में, Gradle 8.1.1 के साथ काम करने की सुविधा को अपग्रेड करने के लिए, कुछ और बदलाव करने होंगे. यहां दिया गया तरीका अपनाएं:

  1. gradle.properties में बदलाव करें और android.enableR8=false एट्रिब्यूट को हटाएं.

  2. 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 Studio में, gradle sync चलाएं और प्रोजेक्ट चलाएं.