अपने प्रोजेक्ट को Android Studio पर माइग्रेट करने के लिए, आपको नए प्रोजेक्ट स्ट्रक्चर, बिल्ड सिस्टम, और IDE की सुविधाओं के हिसाब से बदलाव करने होंगे.
अगर IntelliJ से माइग्रेट किया जा रहा है और आपका प्रोजेक्ट पहले से ही Gradle का इस्तेमाल करता है, तो Android Studio से अपना मौजूदा प्रोजेक्ट खोला जा सकता है. अगर IntelliJ का इस्तेमाल किया जा रहा है, लेकिन आपके प्रोजेक्ट में पहले से Gradle का इस्तेमाल नहीं किया जा रहा है, तो आपको Android Studio में इंपोर्ट करने से पहले, अपने प्रोजेक्ट को मैन्युअल तरीके से तैयार करना होगा. ज़्यादा जानकारी के लिए, IntelliJ से माइग्रेट करना सेक्शन देखें.
Android Studio के बारे में बुनियादी जानकारी
Android Studio पर माइग्रेट करने से पहले, यहां दिए गए मुख्य अंतरों के बारे में जान लें.
प्रोजेक्ट और मॉड्यूल व्यवस्थित करना
Android Studio, IntelliJ IDEA IDE पर आधारित है. नेविगेशन, कोड पूरा करने की सुविधा, और कीबोर्ड शॉर्टकट जैसी IDE की बुनियादी बातों के बारे में जानने के लिए, Android Studio के बारे में जानकारी लेख पढ़ें.
Android Studio, कोड को प्रोजेक्ट में व्यवस्थित करता है. इन प्रोजेक्ट में, आपके Android ऐप्लिकेशन को तय करने वाली हर चीज़ शामिल होती है. जैसे, ऐप्लिकेशन का सोर्स कोड, बिल्ड कॉन्फ़िगरेशन, और टेस्ट कोड. प्रोजेक्ट, Android Studio की अलग-अलग विंडो में खुलते हैं. हर प्रोजेक्ट में एक या उससे ज़्यादा मॉड्यूल होते हैं. इनकी मदद से, प्रोजेक्ट को अलग-अलग फ़ंक्शनल यूनिट में बांटा जा सकता है. मॉड्यूल को अलग से बनाया, टेस्ट किया, और डीबग किया जा सकता है.
Android Studio प्रोजेक्ट और मॉड्यूल के बारे में ज़्यादा जानने के लिए, प्रोजेक्ट के बारे में खास जानकारी देखें.
Gradle पर आधारित बिल्ड सिस्टम
Android Studio का बिल्ड सिस्टम, Gradle पर आधारित है. यह बिल्ड कॉन्फ़िगरेशन फ़ाइलों का इस्तेमाल करता है. इन फ़ाइलों को Groovy या Kotlin स्क्रिप्ट में लिखा जाता है, ताकि इन्हें आसानी से बढ़ाया और पसंद के मुताबिक बनाया जा सके.
Gradle पर आधारित प्रोजेक्ट, Android डेवलपमेंट के लिए कई अहम सुविधाएं देते हैं. इनमें ये शामिल हैं:
- बाइनरी लाइब्रेरी (AAR) के लिए सहायता. अब आपको लाइब्रेरी के सोर्स को अपने प्रोजेक्ट में कॉपी करने की ज़रूरत नहीं है. इसके बजाय, डिपेंडेंसी का एलान करें. इसके बाद, लाइब्रेरी अपने-आप डाउनलोड हो जाएगी और आपके प्रोजेक्ट में मर्ज हो जाएगी. इसमें बिल्ड के समय, संसाधनों, मेनिफ़ेस्ट एंट्री, Proguard के एक्सक्लूज़न नियमों, कस्टम लिंट नियमों वगैरह को अपने-आप मर्ज करना शामिल है.
- बिल्ड वैरिएंट के लिए सहायता. इससे एक ही प्रोजेक्ट से, अपने ऐप्लिकेशन के अलग-अलग वर्शन बनाए जा सकते हैं. जैसे, मुफ़्त वर्शन और प्रो वर्शन.
- बिल्ड कॉन्फ़िगरेशन को आसानी से सेट अप और पसंद के मुताबिक बनाया जा सकता है. उदाहरण के लिए, बिल्ड के हिस्से के तौर पर, Git टैग से वर्शन के नाम और वर्शन कोड पुल किए जा सकते हैं.
- Gradle का इस्तेमाल IDE, कमांड लाइन, और Jenkins जैसे कंटीन्यूअस इंटिग्रेशन सर्वर से किया जा सकता है. इससे हर जगह और हर बार एक जैसा बिल्ड मिलता है.
Gradle का इस्तेमाल करने और उसे कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, बिल्ड कॉन्फ़िगर करना लेख पढ़ें.
डिपेंडेंसी
Android Studio में लाइब्रेरी डिपेंडेंसी, Gradle डिपेंडेंसी के एलान और Maven डिपेंडेंसी का इस्तेमाल करती हैं. ये डिपेंडेंसी, Maven कोऑर्डिनेट के साथ स्थानीय सोर्स और बाइनरी लाइब्रेरी के लिए होती हैं. ज़्यादा जानकारी के लिए, डिपेंडेंसी के बारे में जानकारी देना लेख पढ़ें.
IntelliJ से माइग्रेट करना
अगर आपका IntelliJ प्रोजेक्ट, Gradle बिल्ड सिस्टम का इस्तेमाल करता है, तो अपने प्रोजेक्ट को सीधे Android Studio में इंपोर्ट किया जा सकता है. अगर आपका IntelliJ प्रोजेक्ट, Maven या किसी अन्य बिल्ड सिस्टम का इस्तेमाल करता है, तो आपको Android Studio पर माइग्रेट करने से पहले, इसे Gradle के साथ काम करने के लिए सेट अप करना होगा.
Gradle पर आधारित IntelliJ प्रोजेक्ट इंपोर्ट करना
अगर IntelliJ प्रोजेक्ट के साथ पहले से ही Gradle का इस्तेमाल किया जा रहा है, तो इसे Android Studio में खोलें. इसके लिए, यह तरीका अपनाएं:
- फ़ाइल > नया > प्रोजेक्ट इंपोर्ट करें पर क्लिक करें.
- अपनी IntelliJ प्रोजेक्ट डायरेक्ट्री चुनें और OK पर क्लिक करें. आपका प्रोजेक्ट, Android Studio में खुल जाएगा.
Gradle के अलावा किसी अन्य IntelliJ प्रोजेक्ट को इंपोर्ट करना
अगर आपके IntelliJ प्रोजेक्ट में पहले से ही Gradle बिल्ड सिस्टम का इस्तेमाल नहीं किया जा रहा है, तो आपके पास अपने प्रोजेक्ट को Android Studio में इंपोर्ट करने के दो विकल्प हैं. इनके बारे में यहां बताया गया है:
- एक नया खाली Android Studio प्रोजेक्ट बनाएं. इसके बाद, अपने मौजूदा सोर्स कोड को नए प्रोजेक्ट से जुड़ी डायरेक्ट्री में कॉपी करें. ज़्यादा जानकारी के लिए, नया खाली प्रोजेक्ट बनाकर माइग्रेट करने के बारे में सेक्शन देखें.
- अपने प्रोजेक्ट के लिए नई Gradle बिल्ड फ़ाइल बनाएं. इसके बाद, प्रोजेक्ट और नई बिल्ड फ़ाइल को Android Studio में इंपोर्ट करें. ज़्यादा जानकारी के लिए, कस्टम Gradle बिल्ड फ़ाइल बनाकर माइग्रेट करने के बारे में सेक्शन देखें.
नया खाली प्रोजेक्ट बनाकर माइग्रेट करना
अपने प्रोजेक्ट को Android Studio में माइग्रेट करने के लिए, एक नया खाली प्रोजेक्ट बनाएं और अपनी सोर्स फ़ाइलों को नई डायरेक्ट्री में कॉपी करें. इसके लिए, यह तरीका अपनाएं:
- Android Studio खोलें. इसके बाद, File > New > New Project पर क्लिक करें.
- अपने ऐप्लिकेशन प्रोजेक्ट का नाम डालें और वह जगह बताएं जहां इसे बनाया जाना चाहिए. इसके बाद, आगे बढ़ें पर क्लिक करें.
- वे डिवाइस चुनें जिन पर आपका ऐप्लिकेशन काम करता है. इसके बाद, आगे बढ़ें पर क्लिक करें.
- कोई गतिविधि नहीं जोड़ें पर क्लिक करें. इसके बाद, पूरा करें पर क्लिक करें.
- प्रोजेक्ट टूल विंडो में, ऐरो पर क्लिक करके व्यू मेन्यू खोलें. इसके बाद, प्रोजेक्ट व्यू को चुनें. इससे आपको अपने नए Android Studio प्रोजेक्ट का संगठन दिखेगा और उसे एक्सप्लोर किया जा सकेगा. व्यू बदलने और Android Studio में प्रोजेक्ट को स्ट्रक्चर करने के तरीके के बारे में ज़्यादा जानने के लिए, प्रोजेक्ट फ़ाइलें लेख पढ़ें.
- अपने नए प्रोजेक्ट के लिए चुनी गई जगह पर जाएं. इसके बाद, अपने पुराने प्रोजेक्ट की डायरेक्ट्री से कोड, यूनिट टेस्ट, इंस्ट्रुमेंटेशन टेस्ट, और संसाधनों को अपने नए प्रोजेक्ट के स्ट्रक्चर में सही जगहों पर ले जाएं.
- Android Studio में, फ़ाइल > प्रोजेक्ट स्ट्रक्चर पर क्लिक करके, प्रोजेक्ट स्ट्रक्चर डायलॉग बॉक्स खोलें. पक्का करें कि बाएं पैनल में, आपके ऐप्लिकेशन का मॉड्यूल चुना गया हो.
- अपने प्रोजेक्ट के लिए, प्रॉपर्टी टैब में ज़रूरी बदलाव करें. उदाहरण के लिए,
minSdk
याtargetSdk
में बदलाव करना. - डिपेंडेंसी पर क्लिक करें और अपने प्रोजेक्ट के लिए ज़रूरी लाइब्रेरी को Gradle डिपेंडेंसी के तौर पर जोड़ें. नई डिपेंडेंसी जोड़ने के लिए, जोड़ें
पर क्लिक करें. इसके बाद, वह डिपेंडेंसी टाइप चुनें जिसे जोड़ना है और निर्देशों का पालन करें.
- बदलावों को सेव करने के लिए, ठीक है पर क्लिक करें.
- अपने प्रोजेक्ट को बिल्ड करने की जांच करने के लिए, बिल्ड करें > प्रोजेक्ट बनाएं पर क्लिक करें. साथ ही, अगर ज़रूरी हो, तो सभी गड़बड़ियों को ठीक करें.
कस्टम Gradle बिल्ड फ़ाइल बनाकर माइग्रेट करना
अपने प्रोजेक्ट को Android Studio में माइग्रेट करने के लिए, नई Gradle बिल्ड फ़ाइल बनाएं. इससे आपकी मौजूदा सोर्स फ़ाइलों को पॉइंट किया जा सकेगा. इसके लिए, यह तरीका अपनाएं:
- शुरू करने से पहले, अपने प्रोजेक्ट की फ़ाइलों का बैक अप किसी दूसरी जगह पर लें. ऐसा इसलिए, क्योंकि माइग्रेशन की प्रोसेस के दौरान, आपके प्रोजेक्ट के कॉन्टेंट में बदलाव किया जाता है.
- अगर Groovy का इस्तेमाल किया जा रहा है, तो अपनी प्रोजेक्ट डायरेक्ट्री में
build.gradle
नाम की फ़ाइल बनाएं. अगर Kotlin स्क्रिप्ट का इस्तेमाल किया जा रहा है, तोbuild.gradle.kts
नाम की फ़ाइल बनाएं. इस फ़ाइल में, Gradle को बिल्ड चलाने के लिए ज़रूरी सभी जानकारी होती है.डिफ़ॉल्ट रूप से, Android Studio को उम्मीद होती है कि आपका प्रोजेक्ट, इमेज 1 में दिखाए गए तरीके से व्यवस्थित किया गया हो.
पहली इमेज. Android ऐप्लिकेशन मॉड्यूल के लिए डिफ़ॉल्ट प्रोजेक्ट स्ट्रक्चर. settings.gradle
में, Groovy के लिए याsettings.gradle.kts
में, Kotlin स्क्रिप्ट के लिए, उन रिपॉज़िटरी को सेट करें जिनका इस्तेमालpluginManagement
औरdependencyResolutionManagement
ब्लॉक में प्लगिन और डिपेंडेंसी ढूंढने के लिए किया जाता है:Groovy
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include ':app'
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include(":app")
चेतावनी: JCenter रिपॉज़िटरी को 31 मार्च, 2021 को सिर्फ़ पढ़ने के लिए उपलब्ध कराया गया था. ज़्यादा जानकारी के लिए, JCenter सेवा से जुड़ा अपडेट देखें.
Android Gradle प्लग इन, प्रोजेक्ट पर कुछ डिफ़ॉल्ट सोर्स सेट लागू करता है. ये सोर्स सेट, उन डायरेक्ट्री को तय करते हैं जिनका इस्तेमाल अलग-अलग तरह की सोर्स फ़ाइलों को सेव करने के लिए किया जाता है. Gradle इन सोर्स सेट का इस्तेमाल करके, फ़ाइल टाइप की खास जगहों का पता लगाता है. अगर आपकी मौजूदा प्रोजेक्ट डिफ़ॉल्ट सेटिंग के मुताबिक नहीं है, तो आपके पास ये विकल्प हैं: फ़ाइलों को उस जगह पर ले जाएं जहां उन्हें होना चाहिए या डिफ़ॉल्ट सोर्स सेट बदलें, ताकि Gradle को पता चल सके कि उन्हें कहां ढूंढना है.
Gradle बिल्ड फ़ाइल को सेट अप करने और उसे पसंद के मुताबिक बनाने के बारे में ज़्यादा जानने के लिए, बिल्ड कॉन्फ़िगर करना लेख पढ़ें.
इसके बाद, यह पता लगाएं कि कौनसे लाइब्रेरी प्रोजेक्ट इस्तेमाल किए जा रहे हैं.
Gradle के साथ, अब आपको इन लाइब्रेरी को सोर्स कोड प्रोजेक्ट के तौर पर जोड़ने की ज़रूरत नहीं है. इसके बजाय, अपनी बिल्ड फ़ाइल के
dependencies{}
ब्लॉक में जाकर इन्हें देखा जा सकता है. इसके बाद, बिल्ड सिस्टम इन लाइब्रेरी को मैनेज करता है. जैसे, लाइब्रेरी डाउनलोड करना, रिसॉर्स मर्ज करना, और मेनिफ़ेस्ट एंट्री मर्ज करना. यहां दिए गए उदाहरण में, AndroidX की कई लाइब्रेरी के लिए एलान वाले स्टेटमेंट को, बिल्ड फ़ाइल केdependencies{}
ब्लॉक में जोड़ा गया है.Groovy
... dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // AndroidX libraries implementation 'androidx.core:core-ktx:1.17.0' implementation 'androidx.appcompat:appcompat:1.7.1' implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.google.android.material:material:1.7.0' implementation 'androidx.gridlayout:gridlayout:1.1.0' implementation 'androidx.leanback:leanback:' implementation 'androidx.mediarouter:mediarouter:1.8.1' implementation 'androidx.palette:palette-ktx:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.4.0' implementation 'androidx.annotation:annotation:1.9.1' // Note: these libraries require that the Google repository has been declared // in the pluginManagement section of the top-level build.gradle file. }
Kotlin
... dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) // AndroidX libraries implementation("androidx.core:core-ktx:1.17.0") implementation("androidx.appcompat:appcompat:1.7.1") implementation("androidx.cardview:cardview:1.0.0") implementation("com.google.android.material:material:1.7.0") implementation("androidx.gridlayout:gridlayout:1.1.0") implementation("androidx.leanback:leanback:") implementation("androidx.mediarouter:mediarouter:1.8.1") implementation("androidx.palette:palette-ktx:1.0.0") implementation("androidx.recyclerview:recyclerview:1.4.0") implementation("androidx.annotation:annotation:1.9.1") // Note: these libraries require that the Google repository has been declared // in the pluginManagement section of the top-level build.gradle.kts file. }
- अपनी
build.gradle
फ़ाइल सेव करें. इसके बाद, IntelliJ में प्रोजेक्ट बंद करें. अपनी प्रोजेक्ट डायरेक्ट्री पर जाएं और.idea
डायरेक्ट्री मिटाएं. साथ ही, अपने प्रोजेक्ट में मौजूद सभी IML फ़ाइलें मिटाएं. - Android Studio लॉन्च करें. इसके बाद, File > New > Import Project पर क्लिक करें.
- अपनी प्रोजेक्ट डायरेक्ट्री ढूंढें. इसके बाद, बनाई गई
build.gradle
याbuild.gradle.kts
फ़ाइल चुनें. इसके बाद, अपने प्रोजेक्ट को इंपोर्ट करने के लिए ठीक है पर क्लिक करें. - अपनी बिल्ड फ़ाइल को टेस्ट करने के लिए, बनाएं > प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, अपने प्रोजेक्ट को बनाएं और मिली गड़बड़ियों को ठीक करें.
अगले चरण
अपने प्रोजेक्ट को Android Studio पर माइग्रेट करने के बाद, Gradle की मदद से ऐप्लिकेशन बनाने और Android Studio में ऐप्लिकेशन चलाने के बारे में ज़्यादा जानें. इसके लिए, ऐप्लिकेशन बनाना और उसे चलाना लेख पढ़ें.
अपने प्रोजेक्ट और वर्कफ़्लो के हिसाब से, आपको वर्शन कंट्रोल, डिपेंडेंसी मैनेज करने, और Android Studio को कॉन्फ़िगर करने के बारे में ज़्यादा जानकारी चाहिए हो सकती है. Android Studio का इस्तेमाल शुरू करने के लिए, Android Studio के बारे में जानें लेख पढ़ें.
वर्शन कंट्रोल कॉन्फ़िगर करना
Android Studio, कई तरह के वर्शन कंट्रोल सिस्टम के साथ काम करता है. जैसे, Git, Mercurial, और Subversion. प्लगिन की मदद से, वर्शन कंट्रोल करने वाले अन्य सिस्टम जोड़े जा सकते हैं.
अगर आपका ऐप्लिकेशन पहले से ही सोर्स कंट्रोल में है, तो आपको Android Studio में इसे चालू करना पड़ सकता है. वीसीएस मेन्यू में जाकर, Enable Version Control Integration पर क्लिक करें. इसके बाद, सही वर्शन कंट्रोल सिस्टम चुनें.
अगर आपका ऐप्लिकेशन सोर्स कंट्रोल में नहीं है, तो Android Studio में ऐप्लिकेशन इंपोर्ट करने के बाद, इसे कॉन्फ़िगर किया जा सकता है. Android Studio के वीसीएस मेन्यू के विकल्पों का इस्तेमाल करके, वर्शन कंट्रोल सिस्टम के लिए वीसीएस की सुविधा चालू करें. साथ ही, कोई रिपॉज़िटरी बनाएं, नई फ़ाइलों को वर्शन कंट्रोल में इंपोर्ट करें, और वर्शन कंट्रोल से जुड़ी अन्य कार्रवाइयां करें:
- Android Studio के वीसीएस मेन्यू में जाकर, Enable Version Control Integration पर क्लिक करें.
- मेन्यू से, प्रोजेक्ट रूट के साथ असोसिएट करने के लिए कोई वर्शन कंट्रोल सिस्टम चुनें. इसके बाद, ठीक है पर क्लिक करें. अब VCS मेन्यू में, चुने गए सिस्टम के आधार पर वर्शन कंट्रोल के कई विकल्प दिखते हैं.
ध्यान दें: वर्शन कंट्रोल को सेट अप करने और उसमें बदलाव करने के लिए, फ़ाइल > सेटिंग > वर्शन कंट्रोल मेन्यू विकल्प का भी इस्तेमाल किया जा सकता है.
वर्शन कंट्रोल के साथ काम करने के बारे में ज़्यादा जानने के लिए, IntelliJ का वर्शन कंट्रोल रेफ़रंस देखें.
ऐप पर हस्ताक्षर
अगर पहले डीबग सर्टिफ़िकेट का इस्तेमाल किया गया था, तो इंपोर्ट करने की प्रोसेस के दौरान इसका पता चल सकता है. इस मामले में, Android Studio उस सर्टिफ़िकेट का रेफ़रंस देता रहता है. अगर ऐसा नहीं है, तो डीबग कॉन्फ़िगरेशन, Android Studio से जनरेट किए गए डीबग कीस्टोर का इस्तेमाल करता है. इसके लिए, $HOME/.android/debug.keystore
में मौजूद, जाने-पहचाने पासवर्ड और डिफ़ॉल्ट कुंजी का इस्तेमाल किया जाता है. डीबग बिल्ड टाइप को इस तरह सेट किया जाता है कि Android Studio से प्रोजेक्ट को चलाने या डीबग करने पर, यह डीबग कॉन्फ़िगरेशन का इस्तेमाल अपने-आप करे.
इसी तरह, इंपोर्ट करने की प्रोसेस के दौरान, मौजूदा रिलीज़ सर्टिफ़िकेट का पता चल सकता है.
अगर पहले कोई रिलीज़ सर्टिफ़िकेट तय नहीं किया गया था, तो build.gradle
या build.gradle.kts
फ़ाइल में रिलीज़ साइनिंग कॉन्फ़िगरेशन जोड़ें. इसके अलावा, Generate Signed APK Wizard खोलने के लिए, Build > Generate Signed APK मेन्यू विकल्प का इस्तेमाल करें. अपने ऐप्लिकेशन पर हस्ताक्षर करने के बारे में ज़्यादा जानने के लिए, अपने ऐप्लिकेशन पर हस्ताक्षर करना लेख पढ़ें.
Android Studio के ज़्यादा से ज़्यादा हीप साइज़ को अडजस्ट करना
Android Studio में, डिफ़ॉल्ट रूप से ज़्यादा से ज़्यादा 1280 एमबी का हीप साइज़ होता है. अगर आपको किसी बड़े प्रोजेक्ट पर काम करना है या आपके सिस्टम में ज़्यादा रैम है, तो ज़्यादा से ज़्यादा हीप साइज़ बढ़ाकर परफ़ॉर्मेंस को बेहतर बनाया जा सकता है.
सॉफ़्टवेयर अपडेट
Android Studio को Gradle प्लगिन, बिल्ड टूल, और एसडीके टूल से अलग अपडेट किया जाता है. आपके पास यह तय करने का विकल्प होता है कि Android Studio के साथ कौनसे वर्शन इस्तेमाल किए जाएं.
डिफ़ॉल्ट रूप से, Android Studio का नया स्टेबल वर्शन रिलीज़ होने पर, यह अपने-आप अपडेट हो जाता है. हालांकि, आपके पास इसे ज़्यादा बार अपडेट करने का विकल्प होता है. साथ ही, Canary या RC वर्शन पाने का विकल्प भी होता है.
Android Studio को अपडेट करने और कैनरी और आरसी वर्शन इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, अपडेट के बारे में पढ़ें.