AndroidAndroid के साथ आरंभ करना


टिप्पणियों

यदि आप एंड्रॉइड ग्रैडल प्लगिन सेटिंग के बारे में अधिक जानना चाहते हैं, तो android-gradle Documentation की जाँच करें।

यदि आप वैकल्पिक एमुलेटर में रुचि रखते हैं, तो आप Genymotion को देख सकते हैं। यह एक मुफ्त योजना प्रदान करता है और इसके लिए कम मात्रा में RAM की आवश्यकता होती है।

संस्करण

संस्करण एपीआई स्तर वर्जन कोड रिलीज़ की तारीख
1.0 1 BASE 2008/09/23
1.1 2 BASE_1_1 2009-02-09
1.5 3 CUPCAKE 2009-04-27
1.6 4 DONUT 2009-09-15
2.0 5 ECLAIR 2009-10-26
2.0.1 6 ECLAIR_0_1 2009-12-03
2.1.x 7 ECLAIR_MR1 2010-01-12
2.2.x 8 FROYO 2010-05-20
2.3 9 GINGERBREAD 2010-12-06
2.3.3 10 GINGERBREAD_MR1 2011-02-09
3.0.x 1 1 HONEYCOMB 2011-02-22
3.1.x 12 HONEYCOMB_MR1 2011-05-10
3.2.x 13 HONEYCOMB_MR2 2011-07-15
4.0 14 ICE_CREAM_SANDWICH 2011-10-18
4.0.3 15 ICE_CREAM_SANDWICH_MR1 2011-12-16
4.1 16 JELLY_BEAN 2012-07-09
4.2 17 JELLY_BEAN_MR1 2012-11-13
4.3 18 JELLY_BEAN_MR2 2013-07-24
4.4 19 KITKAT 2013-10-31
4.4W 20 KITKAT_WATCH 2014-06-25
5.0 21 LOLLIPOP 2014-11-12
5.1 22 LOLLIPOP_MR1 2015/03/09
6.0 23 M (मार्शमैलो) 2015/10/05
7.0 24 N (नौगट) 2016/08/22
7.1 25 N_MR1 ( N_MR1 MR1) 2016/10/04
8.0 26 O (डेवलपर पूर्वावलोकन 4) 2017/07/24

एक आईडीई के बिना Android प्रोग्रामिंग

यह एक न्यूनतम हैलो वर्ल्ड उदाहरण है जो केवल सबसे बुनियादी एंड्रॉइड टूल का उपयोग करता है।

आवश्यकताएँ और धारणाएँ

यह उदाहरण लिनक्स मानता है। आपको अपने स्वयं के प्लेटफ़ॉर्म के लिए वाक्यविन्यास को समायोजित करना पड़ सकता है।

Android SDK की स्थापना

एसडीके रिलीज को अनपैक करने के बाद:

  1. एसडीके प्रबंधक का उपयोग करके अतिरिक्त पैकेज स्थापित करें। बंडल रीडमे.टैक्स में निर्देशानुसार android update sdk --no-ui उपयोग न करें; यह कुछ 30 जीबी अनावश्यक फ़ाइलों को डाउनलोड करता है। बजाय अनुशंसित न्यूनतम पैकेज प्राप्त करने के लिए इंटरैक्टिव एसडीके प्रबंधक android sdk का उपयोग करें।

  2. निम्नलिखित JDK और SDK निर्देशिकाओं को अपने निष्पादन PATH में जोड़ें। यह वैकल्पिक है, लेकिन नीचे दिए गए निर्देश इसे मान लेते हैं।

    • JDK / bin
    • एसडीके / मंच-उपकरण
    • एसडीके / उपकरण
    • एसडीके / बिल्ड-टूल्स / लेटेस्ट (चरण 1 में स्थापित)
  3. Android वर्चुअल डिवाइस बनाएं। इंटरैक्टिव AVD प्रबंधक ( android avd ) का उपयोग करें। आपको थोड़ा सा फील करना होगा और सलाह लेनी होगी; साइट पर दिए गए निर्देश हमेशा मददगार नहीं होते हैं।

    (आप अपने स्वयं के उपकरण का उपयोग भी कर सकते हैं)

  4. उपकरण चलाएँ:

    emulator -avd DEVICE
     
  5. यदि डिवाइस स्क्रीन लॉक होती दिखाई देती है, तो इसे अनलॉक करने के लिए स्वाइप करें।

    ऐप को कोड करते समय इसे छोड़ दें।

ऐप को कोड करना

  1. रिक्त कार्य निर्देशिका में बदलें।

  2. स्रोत फ़ाइल बनाएं:

    mkdir --parents src/dom/domain
    touch src/dom/domain/SayingHello.java
     

    सामग्री:

    package dom.domain;
    import android.widget.TextView;
    
    public final class SayingHello extends android.app.Activity
    {
        protected @Override void onCreate( final android.os.Bundle activityState )
        {
            super.onCreate( activityState );
            final TextView textV = new TextView( SayingHello.this );
            textV.setText( "Hello world" );
            setContentView( textV );
        }
    }
     
  3. एक मेनिफ़ेस्ट जोड़ें:

    touch AndroidManifest.xml
     

    सामग्री:

    <?xml version='1.0'?>
    <manifest xmlns:a='http://schemas.android.com/apk/res/android'
     package='dom.domain' a:versionCode='0' a:versionName='0'>
        <application a:label='Saying hello'>
            <activity a:name='dom.domain.SayingHello'>
                 <intent-filter>
                    <category a:name='android.intent.category.LAUNCHER'/>
                    <action a:name='android.intent.action.MAIN'/>
                    </intent-filter>
                </activity>
            </application>
        </manifest>
     
  4. घोषित संसाधनों के लिए एक उप-निर्देशिका बनाएं:

    mkdir res
     

    इसे अभी के लिए खाली छोड़ दें।

कोड का निर्माण

  1. संसाधन घोषणाओं के लिए स्रोत उत्पन्न करें। अपने SDK , और स्थापित API (जैसे कि "android-23") के लिए यहाँ सही पथ को प्रतिस्थापित करें:

    aapt package -f \
      -I SDK/platforms/android-API/android.jar \
      -J src -m \
      -M AndroidManifest.xml -S res -v
     

    संसाधन घोषणाएं (नीचे वर्णित हैं) वास्तव में वैकल्पिक हैं। इस बीच उपरोक्त कॉल कुछ भी नहीं करता है अगर Res / अभी भी खाली है।

  2. जावा बाइटकोड (.java → .class) के स्रोत कोड को संकलित करें:

    javac \
      -bootclasspath SDK/platforms/android-API/android.jar \
      -classpath src -source 1.7 -target 1.7 \
      src/dom/domain/*.java
     
  3. जावा से एंड्रॉइड (.class → .dex) पर बाईटेकोड का अनुवाद करें:

    जिल (.class →। संजय) का उपयोग करते हुए पहला:

    java -jar SDK/build-tools/LATEST/jill.jar \
      --output classes.jayce src
     

    फिर जैक (। संजय → .डेक्स):

    java -jar SDK/build-tools/LATEST/jack.jar \
      --import classes.jayce --output-dex .
     

    एंड्रॉइड बाइटकोड को "Dalvik निष्पादन योग्य कोड" कहा जाता था, और इसलिए "डेक्स"।

    यदि आप चाहें तो आप एक कॉल के साथ चरण 11 और 12 को बदल सकते हैं; यह सीधे जावा स्रोत (.java → .dex) से संकलित किया जा सकता है। लेकिन javac संकलन के फायदे हैं। यह एक बेहतर ज्ञात, बेहतर प्रलेखित और अधिक व्यापक रूप से लागू टूल है।

  4. मेनिफ़ेस्ट सहित संसाधन फ़ाइलों को पैकेज करें:

    aapt package -f \
      -F app.apkPart \
      -I SDK/platforms/android-API/android.jar \
      -M AndroidManifest.xml -S res -v
     

    इसका परिणाम आंशिक एपीके फ़ाइल (Android एप्लिकेशन पैकेज) है।

  5. ApkBuilder टूल का उपयोग करके पूर्ण ApkBuilder :

    java -classpath SDK/tools/lib/sdklib.jar \
      com.android.sdklib.build.ApkBuilderMain \
      app.apkUnalign \
      -d -f classes.dex -v -z app.apkPart
     

    यह चेतावनी देता है, "इस उपकरण को नष्ट कर दिया गया है। अधिक जानकारी के लिए देखें-help।" यदि --help एक ArrayIndexOutOfBoundsException साथ विफल हो जाता है, तो इसके बजाय कोई तर्क पास न करें:

    java -classpath SDK/tools/lib/sdklib.jar \
      com.android.sdklib.build.ApkBuilderMain
     

    यह बताता है कि सीएलआई ( ApkBuilderMain ) जावा एपीआई ( ApkBuilder ) को सीधे कॉल करने के पक्ष में ApkBuilder । (यदि आप जानते हैं कि कमांड लाइन से ऐसा कैसे किया जाए, तो कृपया इस उदाहरण को अपडेट करें।)

  6. एपीके ( अनुशंसित अभ्यास ) के डेटा संरेखण का अनुकूलन करें:

    zipalign -f -v 4 app.apkUnalign app.apk
     

स्थापित करना और चलाना

  1. Android डिवाइस पर एप्लिकेशन इंस्टॉल करें:

    adb install -r app.apk
     
  2. एप्लिकेशन प्रारंभ करें:

    adb shell am start -n dom.domain/.SayingHello
     

    इसे चलाना चाहिए और नमस्कार कहना चाहिए।

बस इतना ही। बुनियादी एंड्रॉइड टूल का उपयोग करके हैलो कहना यही है।

एक संसाधन की घोषणा

यह अनुभाग वैकल्पिक है। एक सरल "हैलो वर्ल्ड" ऐप के लिए संसाधन घोषणाओं की आवश्यकता नहीं है। यदि उन्हें आपके ऐप की आवश्यकता नहीं है, तो आप चरण 10 को छोड़ कर बिल्ड को कुछ हद तक सुव्यवस्थित कर सकते हैं, और चरण 13 से रेस / डायरेक्ट्री के संदर्भ को हटा सकते हैं।

अन्यथा, यहां एक संक्षिप्त उदाहरण है कि कैसे एक संसाधन घोषित किया जाए, और इसे कैसे संदर्भित किया जाए।

  1. संसाधन फ़ाइल जोड़ें:

    mkdir res/values
    touch res/values/values.xml
     

    सामग्री:

    <?xml version='1.0'?>
    <resources>
        <string name='appLabel'>Saying hello</string>
    </resources>
     
  2. XML मेनिफेस्ट से संसाधन का संदर्भ लें। यह संदर्भ की एक घोषणात्मक शैली है:

    <!-- <application a:label='Saying hello'> -->
         <application a:label='@string/appLabel'>
     
  3. जावा स्रोत से समान संसाधन का संदर्भ दें। यह एक अनिवार्य संदर्भ है:

    // v.setText( "Hello world" );
       v.setText( "This app is called "
         + getResources().getString( R.string.appLabel ));
     
  4. एप्लिकेशन (10-17 चरण) को फिर से बनाना, फिर से चलाना और फिर से चलाना द्वारा उपरोक्त संशोधनों का परीक्षण करें।

    इसे फिर से शुरू करना चाहिए और कहना चाहिए, "इस ऐप को Saying hello" कहा जाता है।

ऐप को अनइंस्टॉल करना

adb uninstall dom.domain
 

यह सभी देखें

  • मूल प्रश्न - मूल प्रश्न जिसने इस उदाहरण को प्रेरित किया
  • वर्किंग उदाहरण - एक वर्क बिल्ड स्क्रिप्ट जो उपरोक्त कमांड का उपयोग करती है

आवेदन बुनियादी बातों

Android Apps जावा में लिखे गए हैं। एंड्रॉइड एसडीके उपकरण कोड, डेटा और संसाधन फ़ाइलों को एपीके (एंड्रॉइड पैकेज) में संकलित करते हैं। आम तौर पर, एक एपीके फ़ाइल में ऐप की सभी सामग्री होती है।

प्रत्येक ऐप अपनी वर्चुअल मशीन (वीएम) पर चलता है ताकि ऐप अन्य ऐप से अलग-थलग चल सके। एंड्रॉइड सिस्टम कम से कम विशेषाधिकार के सिद्धांत के साथ काम करता है। प्रत्येक एप्लिकेशन के पास केवल उन घटकों तक पहुंच होती है, जो उसे अपना काम करने की आवश्यकता होती है, और नहीं। हालाँकि, ऐप के लिए अन्य ऐप के साथ डेटा साझा करने के तरीके हैं, जैसे ऐप के बीच लिनक्स उपयोगकर्ता आईडी साझा करके या ऐप डिवाइस डिवाइस डेटा जैसे एसडी कार्ड, संपर्क आदि तक पहुंचने की अनुमति का अनुरोध कर सकते हैं।

ऐप के घटक

ऐप के घटक एक एंड्रॉइड ऐप के निर्माण खंड हैं। प्रत्येक घटक एंड्रॉइड ऐप में एक विशिष्ट भूमिका निभाता है जो एक अलग उद्देश्य को पूरा करता है और इसमें अलग-अलग जीवन-चक्र होते हैं (घटक का निर्माण कैसे और कब और कैसे होता है इसका प्रवाह)। यहां चार प्रकार के ऐप कंपोनेंट्स दिए गए हैं:

  1. गतिविधियाँ: एक गतिविधि उपयोगकर्ता इंटरफ़ेस (UI) के साथ एकल स्क्रीन का प्रतिनिधित्व करती है। एंड्रॉइड ऐप में एक से अधिक गतिविधियां हो सकती हैं। (उदाहरण के लिए एक ईमेल ऐप में सभी ईमेल को सूचीबद्ध करने के लिए एक गतिविधि हो सकती है, प्रत्येक ईमेल की सामग्री को दिखाने के लिए एक और नया ईमेल बनाने के लिए एक और।) एक ऐप में सभी गतिविधियाँ एक उपयोगकर्ता ईएक्सपेरेंसी (UX) बनाने के लिए एक साथ काम करती हैं।
  2. सेवाएं: एक सेवा पृष्ठभूमि में लंबे समय तक चलने वाले संचालन या दूरस्थ प्रक्रियाओं के लिए काम करने के लिए चलती है। एक सेवा कोई यूआई प्रदान नहीं करती है, यह केवल उपयोगकर्ता के इनपुट के साथ पृष्ठभूमि में चलती है। (उदाहरण के लिए एक सेवा बैकग्राउंड में संगीत चला सकती है, जबकि उपयोगकर्ता एक अलग ऐप में है, या यह एंड्रॉइड डिवाइस के साथ उपयोगकर्ता की बातचीत को अवरुद्ध किए बिना इंटरनेट से डेटा डाउनलोड कर सकता है।)
  3. सामग्री प्रदाता: एक सामग्री प्रदाता साझा ऐप डेटा का प्रबंधन करता है। किसी ऐप में डेटा स्टोर करने के चार तरीके हैं: इसे एक फ़ाइल में लिखा जा सकता है और फ़ाइल सिस्टम में संग्रहित किया जा सकता है, किसी SQLite डेटाबेस में डाला या अपडेट किया जा सकता है, वेब पर पोस्ट किया जा सकता है, या किसी अन्य लगातार स्टोरेज लोकेशन में सेव किया जा सकता है। । सामग्री प्रदाताओं के माध्यम से, अन्य ऐप्स डेटा को क्वेरी या संशोधित भी कर सकते हैं। (उदाहरण के लिए एंड्रॉइड सिस्टम एक सामग्री प्रदाता प्रदान करता है जो उपयोगकर्ता की संपर्क जानकारी का प्रबंधन करता है ताकि किसी भी एप्लिकेशन को जिसकी अनुमति हो वह संपर्कों को क्वेरी कर सकता है।) बेहतर डेटा अखंडता के लिए ऐप के लिए डेटा को बचाने के लिए सामग्री प्रदाताओं का भी उपयोग किया जा सकता है।
  4. ब्रॉडकास्ट रिसीवर: एक ब्रॉडकास्ट रिसीवर घोषणाओं के सिस्टम-वाइड ब्रॉडकास्ट (उदाहरण के लिए एक प्रसारण की घोषणा करता है कि स्क्रीन बंद हो गई है, बैटरी कम है, आदि) या एप्स (जैसे अन्य ऐप्स को यह बताने के लिए कि कुछ डेटा दिया गया है) का जवाब देता है। डिवाइस पर डाउनलोड किया गया और उनके उपयोग के लिए उपलब्ध है)। ब्रॉडकास्ट रिसीवर के पास यूआई नहीं है, लेकिन वे उपयोगकर्ता को सचेत करने के लिए स्टेटस बार में सूचना दिखा सकते हैं। आमतौर पर ब्रॉडकास्ट रिसीवर्स का इस्तेमाल ऐप के अन्य कंपोनेंट्स के गेटवे के तौर पर किया जाता है, जिसमें ज्यादातर एक्टिविटीज और सर्विसेज शामिल होती हैं।

एंड्रॉइड सिस्टम का एक अनूठा पहलू यह है कि कोई भी ऐप दूसरे ऐप के कंपोनेंट को शुरू कर सकता है (जैसे अगर आप कॉल करना चाहते हैं, एसएमएस भेजना, वेब पेज खोलना या फोटो देखना, एक ऐसा ऐप है जो पहले से ही ऐसा करता है और आपका ऐप कर सकता है एक ही कार्य के लिए एक नई गतिविधि विकसित करने के बजाय इसका उपयोग करें)।

जब सिस्टम एक घटक शुरू करता है, तो यह उस ऐप के लिए प्रक्रिया शुरू करता है (यदि यह पहले से ही नहीं चल रहा है, यानी प्रति ऐप्पल केवल एक अग्रभूमि प्रक्रिया किसी एंड्रॉइड सिस्टम पर किसी भी समय चल सकती है) और उस घटक के लिए आवश्यक कक्षाओं को तत्काल कर देता है। इस प्रकार यह घटक उस ऐप की प्रक्रिया पर चलता है जिसका वह संबंध है। इसलिए, अन्य प्रणालियों के ऐप्स के विपरीत, एंड्रॉइड ऐप में एक भी प्रविष्टि बिंदु नहीं है main() कोई main() विधि नहीं है)।

क्योंकि सिस्टम प्रत्येक ऐप को एक अलग प्रक्रिया में चलाता है, एक ऐप दूसरे ऐप के घटकों को सीधे सक्रिय नहीं कर सकता है, हालांकि एंड्रॉइड सिस्टम कर सकता है। इस प्रकार, दूसरे ऐप के घटक को शुरू करने के लिए, एक ऐप को सिस्टम को एक संदेश भेजना होगा जो उस घटक को शुरू करने के इरादे को निर्दिष्ट करता है, फिर सिस्टम उस घटक को शुरू करेगा।

प्रसंग

वर्ग android.content.Context उदाहरण Android सिस्टम से कनेक्शन प्रदान करते हैं जो एप्लिकेशन को निष्पादित करता है। प्रोजेक्ट के संसाधनों तक पहुंच और ऐप के पर्यावरण के बारे में वैश्विक जानकारी के लिए प्रसंग की आवश्यकता है।

चलो उदाहरण को पचाने के लिए एक आसान है: विचार करें कि आप एक होटल में हैं, और आप कुछ खाना चाहते हैं। आप रूम-सर्विस को कॉल करते हैं और उन्हें आपके लिए चीजें लाने या आपके लिए चीजें साफ करने के लिए कहते हैं। अब इस होटल के बारे में एक एंड्रॉइड ऐप के रूप में सोचें, खुद को एक गतिविधि के रूप में, और कमरा-सेवा वाला व्यक्ति तब आपका संदर्भ है, जो आपको होटल के संसाधनों जैसे कि कमरे की सेवा, खाद्य पदार्थ आदि तक पहुंच प्रदान करता है।

फिर भी एक अन्य उदाहरण, आप एक मेज पर बैठे एक रेस्तरां में हैं, प्रत्येक तालिका में एक परिचर है, जब आप कभी भी खाद्य पदार्थों का ऑर्डर करना चाहते हैं तो आप परिचर को ऐसा करने के लिए कहते हैं। अटेंडेंट तब आपका ऑर्डर देता है और आपके खाने का सामान आपकी टेबल पर परोसा जाता है। इस उदाहरण में, रेस्तरां एक एंड्रॉइड ऐप है, टेबल या ग्राहक ऐप घटक हैं, खाद्य पदार्थ आपके ऐप संसाधन हैं और अटेंडेंट आपका संदर्भ है इसलिए आपको खाद्य पदार्थों जैसे संसाधनों तक पहुंचने का एक तरीका है।

उपरोक्त किसी भी घटक को सक्रिय करने के लिए संदर्भ के उदाहरण की आवश्यकता होती है। न केवल उपरोक्त, बल्कि लगभग हर सिस्टम संसाधन: विचारों का उपयोग करके यूआई का निर्माण (बाद में चर्चा की गई), सिस्टम सेवाओं का उदाहरण बनाना, नई गतिविधियां या सेवाएं शुरू करना - सभी के लिए संदर्भ की आवश्यकता होती है।

अधिक विस्तृत विवरण यहां लिखा गया है

एक नया प्रोजेक्ट बनाना

Android Studio सेट अप करें

Android Studio सेट करके प्रारंभ करें और फिर खोलें। अब, आप अपना पहला Android ऐप बनाने के लिए तैयार हैं!

नोट: यह गाइड एंड्रॉइड स्टूडियो 2.2 पर आधारित है, लेकिन अन्य संस्करणों पर प्रक्रिया मुख्य रूप से समान है।

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

मूल विन्यास

आप दो तरीकों से एक नई परियोजना शुरू कर सकते हैं:

  • स्वागत स्क्रीन से Start a New Android Studio Project करें पर क्लिक Start a New Android Studio Project
  • यदि आपके पास पहले से कोई प्रोजेक्ट खुला है, तो FileNew Project नेविगेट करें।

इसके बाद, आपको कुछ फ़ील्ड भरकर अपने आवेदन का वर्णन करना होगा:

  1. एप्लिकेशन का नाम - यह नाम उपयोगकर्ता को दिखाया जाएगा।

    उदाहरण: Hello World । आप इसे बाद में AndroidManifest.xml फ़ाइल में हमेशा बदल सकते हैं।

  2. कंपनी डोमेन - यह आपके प्रोजेक्ट के पैकेज नाम के लिए क्वालीफायर है।

    उदाहरण: stackoverflow.com

  3. पैकेज का नाम (उर्फ applicationId ) - यह पूरी तरह से योग्य परियोजना पैकेज का नाम है।

    इसे रिवर्स डोमेन नेम नोटेशन (उर्फ रिवर्स डीएनएस ): टॉप लेवल डोमेन का पालन करना चाहिए कंपनी डोमेन [ कंपनी सेगमेंट ] आवेदन का नाम

    उदाहरण: com.stackoverflow.android.helloworld या com.stackoverflow.helloworld । आप हमेशा अपने ऐप्लिकेशन को अपनी ढाल फ़ाइल में ओवरराइड करके बदल सकते हैं।

जब तक आप Google Play Store पर अपना एप्लिकेशन सबमिट करने का इरादा नहीं करते, तब तक डिफ़ॉल्ट उपसर्ग "com.example" का उपयोग न करें। पैकेज का नाम Google Play में आपका अद्वितीय एप्लिकेशन होगा।

  1. प्रोजेक्ट लोकेशन - यह वह डायरेक्टरी है जहां आपका प्रोजेक्ट स्टोर किया जाएगा।

नया प्रोजेक्ट डायलॉग

फॉर्म फैक्टर और एपीआई स्तर का चयन करें

अगली विंडो आपको अपने ऐप द्वारा समर्थित फ़ॉर्म कारकों का चयन करने देती है, जैसे फ़ोन, टैबलेट, टीवी, पहनें और Google ग्लास। चयनित प्रपत्र कारक प्रोजेक्ट के भीतर ऐप मॉड्यूल बन जाते हैं। प्रत्येक फॉर्म फैक्टर के लिए, आप उस ऐप के लिए एपीआई स्तर का चयन भी कर सकते हैं। अधिक जानकारी प्राप्त करने के लिए, मुझे चुनने में मदद करें पर क्लिक करें

यहाँ छवि विवरण दर्ज करें वर्तमान Android संस्करण वितरण का चार्ट, जब आप मुझे चुनने में मदद करें पर क्लिक करें।

Android प्लेटफ़ॉर्म वितरण विंडो एंड्रॉइड के प्रत्येक संस्करण को चलाने वाले मोबाइल उपकरणों के वितरण को दिखाती है, जैसा कि चित्र 2 में दिखाया गया है। एंड्रॉइड के संबंधित संस्करण में शुरू की गई सुविधाओं की सूची देखने के लिए एपीआई स्तर पर क्लिक करें। यह आपको न्यूनतम एपीआई स्तर चुनने में मदद करता है जिसमें आपके एप्लिकेशन की सभी विशेषताएं हैं, जिससे आप अधिक से अधिक डिवाइस तक पहुंच सकते हैं। फिर ओके पर क्लिक करें।

अब, चुनें कि एंड्रॉइड एसडीके एप्लिकेशन किस प्लेटफॉर्म और संस्करण का समर्थन करेगा।

एसडीके संस्करण संवाद

अभी के लिए, केवल फ़ोन और टेबलेट चुनें

न्यूनतम एसडीके आपके ऐप के लिए कम बाध्य है। यह उन संकेतों में से एक है जो Google Play Store यह निर्धारित करने के लिए उपयोग किया जाता है कि कौन से डिवाइस पर ऐप इंस्टॉल किया जा सकता है। उदाहरण के लिए, स्टैक एक्सचेंज का ऐप एंड्रॉइड 4.1+ का समर्थन करता है।

स्टाॅक एक्सचेंज का एप
एंड्रॉइड स्टूडियो आपको (लगभग) बताएगा कि किस डिवाइस को निर्दिष्ट न्यूनतम एसडीके दिए जाने वाले प्रतिशत का समर्थन किया जाएगा।

लोअर एपीआई स्तर अधिक उपकरणों को लक्षित करता है लेकिन इसमें कम सुविधाएँ उपलब्ध होती हैं।

न्यूनतम एसडीके पर निर्णय लेते समय, आपको डैशबोर्ड्स के आँकड़ों पर विचार करना चाहिए, जो आपको पिछले सप्ताह विश्व स्तर पर Google Play Store पर आने वाले उपकरणों के बारे में जानकारी प्रदान करेगा।

वर्तमान Android वितरण का स्क्रीनशॉट

से: Android डेवलपर वेबसाइट पर डैशबोर्ड

कोई गतिविधि जोड़ें

अब हम अपने आवेदन के लिए एक डिफ़ॉल्ट गतिविधि का चयन करने जा रहे हैं। एंड्रॉइड में, एक Activity एक एकल स्क्रीन है जिसे उपयोगकर्ता को प्रस्तुत किया जाएगा। एक एप्लिकेशन कई गतिविधियों को हाउस कर सकता है और उनके बीच नेविगेट कर सकता है। इस उदाहरण के लिए, Empty Activity और अगले पर क्लिक करें।

यहां, यदि आप चाहें, तो आप गतिविधि और लेआउट का नाम बदल सकते हैं। एक अच्छा अभ्यास रखना है Activity गतिविधि नाम के लिए एक प्रत्यय, और जैसा कि activity_ लेआउट नाम के लिए एक उपसर्ग के रूप में। यदि हम इन्हें डिफ़ॉल्ट के रूप में छोड़ देते हैं, तो एंड्रॉइड स्टूडियो हमारे लिए MainActivity नामक एक गतिविधि उत्पन्न करेगा, और एक लेआउट फ़ाइल जिसे MainActivity कहा जाता activity_main । अब Finish क्लिक Finish

एंड्रॉइड स्टूडियो हमारी परियोजना को बनाएगा और कॉन्फ़िगर करेगा, जो सिस्टम के आधार पर कुछ समय ले सकता है।

परियोजना का निरीक्षण

एंड्रॉइड कैसे काम करता है, यह समझने के लिए, आइए हम उन कुछ फाइलों पर एक नज़र डालें जो हमारे लिए बनाई गई थीं।

एंड्रॉइड स्टूडियो के बाएं फलक पर, हम अपने एंड्रॉइड एप्लिकेशन की संरचना देख सकते हैं।

मूल आवेदन संरचना

सबसे पहले, चलिए AndroidManifest.xml को डबल क्लिक करके खोलें। Android मेनिफ़ेस्ट फ़ाइल Android एप्लिकेशन के बारे में कुछ बुनियादी जानकारी का वर्णन करती है। इसमें हमारी गतिविधियों की घोषणा, साथ ही कुछ और उन्नत घटक शामिल हैं।

यदि किसी एप्लिकेशन को अनुमति द्वारा संरक्षित सुविधा तक पहुंच की आवश्यकता होती है, तो उसे यह घोषित करना होगा कि उसे प्रकट में <uses-permission> । फिर, जब डिवाइस पर एप्लिकेशन इंस्टॉल किया जाता है, तो इंस्टॉलर यह निर्धारित करता है कि आवेदन के प्रमाण पत्र पर हस्ताक्षर करने वाले अधिकारियों की जांच करके और कुछ मामलों में, उपयोगकर्ता से पूछकर अनुमत अनुमति प्रदान करें या नहीं। एक आवेदन भी अनुमति के साथ अपने स्वयं के घटकों (गतिविधियों, सेवाओं, प्रसारण रिसीवर, और सामग्री प्रदाताओं) की रक्षा कर सकता है। यह एंड्रॉइड द्वारा परिभाषित किसी भी अनुमति को नियोजित कर सकता है (एंड्रॉइड में सूचीबद्ध है। Manifest.permission) या अन्य एप्लिकेशन द्वारा घोषित किया गया है। या यह अपने आप को परिभाषित कर सकता है।

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

इसके बाद, आइए खुला activity_main.xml जो में स्थित है app/src/main/res/layout/ । इस फ़ाइल में हमारे MainActivity के दृश्य घटकों के लिए घोषणाएँ शामिल हैं। आप दृश्य डिजाइनर देखेंगे। यह आपको चयनित लेआउट पर तत्वों को खींचने और छोड़ने की अनुमति देता है।

आप एंड्रॉइड स्टूडियो के निचले भाग में "टेक्स्ट" पर क्लिक करके xml लेआउट डिजाइनर पर भी स्विच कर सकते हैं, जैसा कि यहां देखा गया है:

लेआउट डिजाइन / पाठ टैब

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.stackexchange.docs.helloworld.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>
 

आपको इस लेआउट के अंदर TextView नामक एक विजेट दिखाई देगा, जिसमें android:text प्रॉपर्टी "हैलो वर्ल्ड!" सेट है। यह टेक्स्ट का एक ब्लॉक है जो एप्लिकेशन को चलाने पर उपयोगकर्ता को दिखाया जाएगा।

आप लेआउट और विशेषताओं के बारे में अधिक पढ़ सकते हैं।

इसके बाद, आइए MainActivity पर एक नज़र MainActivity । यह जावा कोड है जो MainActivity लिए जेनरेट किया गया है।

public class MainActivity extends AppCompatActivity {

    // The onCreate method is called when an Activity starts
    // This is where we will set up our layout
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // setContentView sets the Activity's layout to a specified XML layout
        // In our case we are using the activity_main layout
        setContentView(R.layout.activity_main);
    }
}
 

जैसा कि हमारे Android मेनिफ़ेस्ट में परिभाषित किया गया है, उपयोगकर्ता द्वारा HelloWorld ऐप शुरू करने पर MainActivity डिफ़ॉल्ट रूप से लॉन्च होगी।

अंत में, app/ में build.gradle नामक फ़ाइल खोलें।
एंड्रॉइड स्टूडियो एंड्रॉइड एप्लिकेशन और लाइब्रेरी का संकलन और निर्माण करने के लिए बिल्ड सिस्टम ग्रैडल का उपयोग करता है।

apply plugin: 'com.android.application'

android {
signingConfigs {
         applicationName {
             keyAlias 'applicationName'
             keyPassword 'password'
             storeFile file('../key/applicationName.jks')
             storePassword 'anotherPassword'
         }
     }
    compileSdkVersion 26
    buildToolsVersion "26.0.0"

    defaultConfig {
        applicationId "com.stackexchange.docs.helloworld"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.applicationName
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.0.0'
}
 

इस फ़ाइल में बिल्ड और आपके ऐप संस्करण के बारे में जानकारी है, और आप इसका उपयोग बाहरी पुस्तकालयों पर निर्भरता जोड़ने के लिए भी कर सकते हैं। अभी के लिए, हम कोई परिवर्तन नहीं करते हैं।

हमेशा निर्भरता के लिए उपलब्ध नवीनतम संस्करण का चयन करना उचित है:

compileSdkVersion

compileSdkVersion अपने ऐप को संकलित करने के लिए Android SDK के किस संस्करण को ग्रेड करने का आपका तरीका है। नए एंड्रॉइड एसडीके का उपयोग करना उस स्तर में जोड़े गए किसी भी नए एपीआई का उपयोग करने की आवश्यकता है।

इस बात पर जोर दिया जाना चाहिए कि आपके compileSdkVersion को बदलने से रनटाइम व्यवहार नहीं बदलता है। हालांकि आपके compileSdkVersion बदलते समय नए संकलक चेतावनी / त्रुटियाँ मौजूद हो सकती हैं, लेकिन आपका compileSdkVersion आपके compileSdkVersion में शामिल नहीं है: यह शुद्ध रूप से संकलन समय पर उपयोग किया जाता है।

इसलिए यह दृढ़ता से अनुशंसा की जाती है कि आप हमेशा नवीनतम एसडीके के साथ संकलन करें। आपको मौजूदा कोड पर नए संकलन चेक के सभी लाभ प्राप्त होंगे, नए पदावनत एपीआई से बचें, और नए एपीआई का उपयोग करने के लिए तैयार रहें।

minSdkVersion

यदि compileSdkVersion आपके लिए उपलब्ध सबसे नए APIs को सेट करता है, तो minSdkVersion आपके ऐप के लिए निचला बाउंड हैminSdkVersion Google Play Store द्वारा यह निर्धारित करने के लिए उपयोग किए जाने वाले संकेतों में से एक है कि उपयोगकर्ता किस डिवाइस पर ऐप इंस्टॉल कर सकता है।

यह विकास के दौरान भी एक महत्वपूर्ण भूमिका निभाता है: डिफ़ॉल्ट रूप से आपके प्रोजेक्ट के खिलाफ चलता है, जब आप अपने minSdkVersion ऊपर किसी भी API का उपयोग करते हैं, तो आपको चेतावनी देते हुए कि आप मौजूद API को कॉल करने के प्रयास के रनटाइम समस्या से बचने में मदद नहीं करते हैं। केवल नए प्लेटफॉर्म संस्करणों पर एपीआई का उपयोग करते समय रनटाइम पर सिस्टम संस्करण की जांच एक सामान्य तकनीक है।

targetSdkVersion

targetSdkVersion मुख्य तरीका है, जब तक कि targetSdkVersion को अपडेट नहीं किया जाता है, तब तक एंड्रॉइड व्यवहार परिवर्तनों को लागू न करके Android आगे संगतता प्रदान करता है। यह आपको व्यवहार परिवर्तन के माध्यम से काम करने से पहले नए एपीआई का उपयोग करने की अनुमति देता है। नवीनतम एसडीके को लक्षित करने के लिए अद्यतन करना प्रत्येक ऐप के लिए एक उच्च प्राथमिकता होनी चाहिए। इसका मतलब यह नहीं है कि आपको शुरू की गई हर नई सुविधा का उपयोग करना होगा और न ही बिना किसी परीक्षण के आपको अपने targetSdkVersion को अपडेट करना होगा।

targetSDKVersion Android का संस्करण है जो उपलब्ध टूल के लिए ऊपरी सीमा है। यदि targetSDKVersion 23 से कम है, तो ऐप को एक उदाहरण के लिए रनटाइम पर अनुमतियों का अनुरोध करने की आवश्यकता नहीं है, भले ही एप्लिकेशन को एपीआई 23+ पर चलाया जा रहा हो। TargetSDKVersion एंड्रॉइड वर्जन से ऊपर के एंड्रॉइड वर्जन को एप चलाने से नहीं रोकता है।

आप Gradle plugin के बारे में और जानकारी प्राप्त कर सकते हैं:

अनुप्रयोग चलाना

अब, हमारे HelloWorld एप्लिकेशन को चलाएं। आप या तो एंड्रॉइड वर्चुअल डिवाइस चला सकते हैं (जिसे आप एंड्रॉइड स्टूडियो में एवीडी मैनेजर का उपयोग करके सेट कर सकते हैं, जैसा कि नीचे दिए गए उदाहरण में बताया गया है) या यूएसबी केबल के माध्यम से अपने खुद के एंड्रॉइड डिवाइस को कनेक्ट करें।

Android डिवाइस सेट करना

अपने Android डिवाइस पर Android स्टूडियो से एक एप्लिकेशन चलाने के लिए, आपको अपने डिवाइस की सेटिंग में Developer Options में USB Debugging को सक्षम करना होगा।

Settings > Developer options > USB debugging

यदि सेटिंग में Developer Options दिखाई नहीं दे रहे हैं, तो About Phone नेविगेट करें और Build Number सात बार टैप करें। इससे आपकी सेटिंग में Developer Options दिखाई देंगे।

Settings > About phone > Build number

आपको अपने डिवाइस पर एक संस्करण बनाने के लिए build.gradle कॉन्फ़िगरेशन को बदलने की भी आवश्यकता हो सकती है।

Android Studio से चल रहा है

Android स्टूडियो के शीर्ष पर टूलबार से हरे Run बटन पर क्लिक करें। दिखाई देने वाली विंडो में, जिस भी डिवाइस को चुनें, आप उस ऐप को चालू करना चाहते हैं (यदि आवश्यक हो तो एंड्रॉइड वर्चुअल डिवाइस शुरू करें, या यदि आपको एक सेट करने की आवश्यकता है तो AVD (एंड्रॉइड वर्चुअल डिवाइस) सेट करना देखें और OK क्लिक करें।

बटन चलाएँ

Android 4.4 (किटकैट) और संभवतः उच्चतर पर चलने वाले उपकरणों पर, USB डिबगिंग को अधिकृत करने के लिए एक पॉप-अप दिखाया जाएगा। स्वीकार करने के लिए OK क्लिक करें।

एप्लिकेशन अब आपके एंड्रॉइड डिवाइस या एमुलेटर पर इंस्टॉल और चलेगा।

एपीके फ़ाइल स्थान

जब आप अपने एप्लिकेशन को रिलीज़ के लिए तैयार करते हैं, तो आप अपने एप्लिकेशन के रिलीज़ संस्करण को कॉन्फ़िगर, निर्माण और परीक्षण करते हैं। कॉन्फ़िगरेशन कार्य सीधे होते हैं, जिसमें मूल कोड सफाई और कोड संशोधन कार्य शामिल होते हैं जो आपके एप्लिकेशन को अनुकूलित करने में मदद करते हैं। बिल्ड प्रक्रिया डीबग बिल्ड प्रक्रिया के समान है और इसे JDK और Android SDK टूल का उपयोग करके किया जा सकता है। परीक्षण कार्य एक अंतिम जांच के रूप में कार्य करते हैं, यह सुनिश्चित करते हुए कि आपका आवेदन वास्तविक दुनिया की परिस्थितियों में अपेक्षित प्रदर्शन करता है। जब आप अपने आवेदन को रिलीज़ करने के लिए तैयार कर लेते हैं तो आपके पास एक हस्ताक्षरित एपीके फ़ाइल होती है, जिसे आप सीधे उपयोगकर्ताओं को वितरित कर सकते हैं या Google Play जैसे एप्लिकेशन मार्केटप्लेस के माध्यम से वितरित कर सकते हैं।

Android स्टूडियो

चूंकि उपरोक्त उदाहरणों में ग्रेड का उपयोग किया गया है, उत्पन्न APK फ़ाइल का <Your Project Location>/app/build/outputs/apk/app-debug.apk है: <Your Project Location>/app/build/outputs/apk/app-debug.apk

इंटेलीजे

यदि आप स्टूडियो में जाने से पहले IntelliJ के उपयोगकर्ता हैं, और अपने IntelliJ प्रोजेक्ट को सीधे आयात कर रहे हैं, तो कुछ भी नहीं बदला। आउटपुट का स्थान उसी के नीचे होगा:

out/production/...
 

नोट: यह 1.0 के आसपास कभी-कभी अपदस्थ हो जाएगा

ग्रहण

यदि आप सीधे Android ग्रहण परियोजना का आयात कर रहे हैं, तो ऐसा न करें! जैसे ही आपके पास अपने प्रोजेक्ट (जार या लाइब्रेरी प्रोजेक्ट्स) में निर्भरताएं हैं, यह काम नहीं करेगा और आपका प्रोजेक्ट ठीक से सेटअप नहीं होगा। यदि आपके पास कोई निर्भरता नहीं है, तो एपीके उसी स्थान पर होगा जैसा कि आप ग्रहण में पाएंगे:

bin/...
 

AVD (Android वर्चुअल डिवाइस) सेट करना

TL; DR यह मूल रूप से हमें वास्तविक उपकरणों का अनुकरण करने और एक वास्तविक डिवाइस के बिना हमारे एप्लिकेशन का परीक्षण करने की अनुमति देता है।

Android डेवलपर दस्तावेज़ के अनुसार,

एंड्रॉइड वर्चुअल डिवाइस (AVD) परिभाषा आपको एंड्रॉइड फोन, टैबलेट, एंड्रॉइड वियर या एंड्रॉइड टीवी डिवाइस की विशेषताओं को परिभाषित करने देती है, जिसे आप एंड्रॉइड एम्यूलेटर में अनुकरण करना चाहते हैं। AVD प्रबंधक AVDs को आसानी से बनाने और प्रबंधित करने में आपकी सहायता करता है।

AVD सेट करने के लिए, इन चरणों का पालन करें:

1. AVD मैनेजर को लाने के लिए इस बटन पर क्लिक करें:

AVD प्रबंधक आइकन

2. आपको इस तरह एक संवाद देखना चाहिए:

AVD प्रबंधक संवाद

3. अब + Create Virtual Device... बटन पर क्लिक करें। यह वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग लाएगा:

वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग

4. मनचाहा कोई भी उपकरण चुनें, फिर Next क्लिक करें:

सिस्टम छवि चुनें

5. यहां आपको अपने एमुलेटर के लिए एक Android संस्करण चुनने की आवश्यकता है। तुम भी क्लिक करके पहले इसे डाउनलोड करने की आवश्यकता हो सकती Download । आपके द्वारा एक संस्करण चुने जाने के बाद, Next क्लिक करें।

एडवांस सेटिंग

6. यहां, अपने एमुलेटर, प्रारंभिक अभिविन्यास के लिए एक नाम दर्ज करें, और क्या आप इसके चारों ओर एक फ्रेम प्रदर्शित करना चाहते हैं। इन सभी को चुनने के बाद, Finish क्लिक Finish

7. अब आपको इस पर अपने ऐप लॉन्च करने के लिए एक नया AVD तैयार हो गया है।

AVD

Android Studio सेट करना

एंड्रॉइड स्टूडियो एंड्रॉइड डेवलपमेंट आईडीई है जो Google द्वारा आधिकारिक तौर पर समर्थित और अनुशंसित है। एंड्रॉइड स्टूडियो एंड्रॉइड एसडीके प्रबंधक के साथ बंडल में आता है, जो कि एप्लिकेशन विकसित करने के लिए आवश्यक Android SDK घटकों को डाउनलोड करने का एक उपकरण है।

Android Studio और Android SDK टूल इंस्टॉल करना:

  1. डाउनलोड करें और Android स्टूडियो स्थापित करें।
  2. एंड्रॉइड स्टूडियो खोलकर, और फिर एंड्रॉइड एसडीके टूल अपडेट निर्देशों का पालन करके नवीनतम एसडीके टूल और एसडीके प्लेटफॉर्म-टूल डाउनलोड करें। आपको नवीनतम उपलब्ध स्थिर पैकेजों को स्थापित करना चाहिए।

यदि आपको पुराने प्रोजेक्ट्स पर काम करने की आवश्यकता है जो पुराने एसडीके संस्करणों का उपयोग करके बनाए गए थे, तो आपको इन संस्करणों को भी डाउनलोड करना पड़ सकता है

Android Studio 2.2 के बाद से, नवीनतम OpenJDK की एक प्रति इंस्टॉल के साथ बंडल में आती है और सभी Android स्टूडियो प्रोजेक्ट्स के लिए अनुशंसित JDK (Java Development Kit) है। यह ओरेकल के JDK पैकेज को स्थापित करने की आवश्यकता को हटा देता है। बंडल किए गए एसडीके का उपयोग करने के लिए, निम्नानुसार आगे बढ़ें;

  1. एंड्रॉइड स्टूडियो में अपना प्रोजेक्ट खोलें और मेनू बार में फ़ाइल> प्रोजेक्ट संरचना का चयन करें
  2. SDK लोकेशन पेज में और JDK लोकेशन के तहत, एम्बेडेड JDK चेकबॉक्स का उपयोग करें
  3. ओके पर क्लिक करें।

एंड्रॉइड स्टूडियो को कॉन्फ़िगर करें

एंड्रॉइड स्टूडियो सहायता मेनू के माध्यम से दो कॉन्फ़िगरेशन फ़ाइलों तक पहुंच प्रदान करता है:

  • studio.vmoptions : स्टूडियो के जावा वर्चुअल मशीन (JVM) के लिए विकल्पों को अनुकूलित करें, जैसे कि ढेर का आकार और कैश आकार। ध्यान दें कि लिनक्स मशीनों पर इस फ़ाइल का नाम Studio64.vmoptions हो सकता है, जो आपके एंड्रॉइड स्टूडियो के संस्करण पर निर्भर करता है।
  • idea.properties : एंड्रॉइड स्टूडियो गुणों को अनुकूलित करें, जैसे प्लगइन्स फ़ोल्डर पथ या अधिकतम समर्थित फ़ाइल आकार।

विषय बदलें / जोड़ें

आप इसे अपनी पसंद के रूप में बदल सकते हैं। File->Settings->Editor->Colors & Fonts-> और एक विषय का चयन करें। इसके अलावा, आप http://color-themes.com/ से नए विषय डाउनलोड कर सकते हैं। एक बार जब आप .jar.zip फ़ाइल डाउनलोड कर .jar.zip , तो File -> Import Settings... करें File -> Import Settings... और डाउनलोड की गई फ़ाइल चुनें।

संकलन अनुप्रयोग

एक नया प्रोजेक्ट बनाएं या एंड्रॉइड स्टूडियो में एक मौजूदा प्रोजेक्ट खोलें और ग्रीन प्ले बटन दबाएं यहाँ छवि विवरण दर्ज करें इसे चलाने के लिए शीर्ष टूलबार पर। यदि यह ग्रे है, तो आपको कुछ फ़ाइलों को ठीक से इंडेक्स करने के लिए एंड्रॉइड स्टूडियो को अनुमति देने के लिए एक दूसरे का इंतजार करना होगा, जिसकी प्रगति नीचे की स्थिति बार में देखी जा सकती है।

यदि आप शेल से एक प्रोजेक्ट बनाना चाहते हैं, तो सुनिश्चित करें कि आपके पास एक local.properties फ़ाइल है, जो कि स्वचालित रूप से Android Studio द्वारा बनाई गई है। यदि आपको एंड्रॉइड स्टूडियो के बिना प्रोजेक्ट बनाने की आवश्यकता है, तो आपको एसडीके इंस्टॉलेशन के लिए sdk.dir= साथ शुरू होने वाली एक पंक्ति की आवश्यकता है।

एक खोल खोलें और परियोजना की निर्देशिका में जाएं। ./gradlew aR दर्ज करें और एंटर दबाएँ। aR के लिए एक शॉर्टकट है assembleRelease , जो आप के लिए सभी निर्भरता डाउनलोड करने और ऐप्लिकेशन का निर्माण होगा। अंतिम ProjectName/ModuleName/build/outputs/apk फ़ाइल ProjectName/ModuleName/build/outputs/apk होगी और इसे ModuleName-release.apk कहा जाएगा।