कमांड लाइन के माध्यम से Android स्टूडियो ऐप बनाएं


136

मैं एक एंड्रॉइड स्टूडियो ऐप (ग्रैड बिल्ड सिस्टम) बनाना चाहता हूं, लेकिन मैं कमांड लाइन के माध्यम से ऐसा करना चाहता हूं।


6
उदाहरण के लिए ।/gradlew assembleRelease, ./gradlew assembleDebug
Gabriele Mariotti

यदि आपके पास कई बिल्ड वेरिएंट हैं, तो आपको जाना चाहिए ।/gradlew assembleYourVariantRelease
Michał Dobi Dobrzański

जवाबों:


190

एंड्रॉइड स्टूडियो स्वचालित रूप से आपके प्रोजेक्ट की जड़ में ग्रैडल रैपर बनाता है , जो कि ग्रैडल को कैसे आमंत्रित करता है। रैपर मूल रूप से एक स्क्रिप्ट है जो वास्तविक ग्रैडल बाइनरी के माध्यम से कॉल करता है और आपको ग्रैडल को अद्यतित रखने की अनुमति देता है, जिससे नियंत्रण नियंत्रण का उपयोग करना आसान हो जाता है। ग्रैडल कमांड को चलाने के लिए, आप बस gradlewअपनी परियोजना की जड़ (या gradlew.batविंडोज पर) में मिली स्क्रिप्ट का उपयोग कर सकते हैं और उसके बाद जिस कार्य को आप चलाना चाहते हैं, उसके नाम से जाना जाता है। उदाहरण के लिए, अपने Android एप्लिकेशन का डिबग संस्करण बनाने के लिए, आप ./gradlew assembleDebugअपने रिपॉजिटरी के रूट से चला सकते हैं । एक डिफ़ॉल्ट प्रोजेक्ट सेटअप में, परिणामी एपीके तब पाया जा सकता है app/build/outputs/apk/app-debug.apk। एक * निक्स मशीन पर, आप find . -name '*.apk'इसे खोजने के लिए बस चला सकते हैं , अगर यह नहीं है।


36
कमांड लाइन से ग्रेडल को चलाने का उचित तरीका क्या है, यह समझने में मुझे 2 घंटे से अधिक का समय लगा
Oged Regev

4
मैंने c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebugइसे कमांड लाइन से चलाया , और इसने मुझे Downloading services.gradle.org/distributions/gradle-2.10-all.zip दिखाया । और यह वहीं अटका हुआ है। मुझे क्या याद आती है?
सईद निमाती

आप के साथ भी एप्लिकेशन इंस्टॉल कर सकते हैं ./gradlew installArm7Debug। अन्य कार्यों से पता लगाना आसान है./gradlew tasks
एंड्रियास लावे सेल्विक

1
मैंने प्रोजेक्ट संकलित किया और इसे एंड्रॉइड डिवाइस का उपयोग करके ./gradlew assembleDebugऔर ./gradlew installDebugकमांड पर अपलोड किया । AndroidStudio में एक कंसोल है जो सभी एंड्रॉइड डिवाइस गतिविधियों पर वास्तविक समय की निगरानी करता है (जैसे कि अगर एंड्रॉइड डिवाइस क्रैश हो जाता है, तो कंसोल अपवाद ट्रेस को प्रिंट करता है)। टर्मिनल पर यह निगरानी सुविधा कैसे प्राप्त करें?
पारा 0114

डाउनलोडिंग से कैसे रोकें -> डाउनलोडिंग सेवाएं ।gradle.org/distributions/gradle-2.xyz-all.zip। मैंने देखा कि ग्रेडेल एंड्रॉइड प्रोजेक्ट को ठीक बनाता है लेकिन कमांड लाइन पर प्रॉक्सी सेटिंग का एक मुद्दा है। यह प्रॉक्सी सेस लगाकर हल किया जा सकता है (लेकिन अभी मेरे पास न तो वह निजीकरण है), लेकिन मैं बस डाउनलोडिंग चीज को बायपास करना चाहता हूं..क्या मैं ऐसा कर सकता हूं?
शाम

24

इसे आज़माएँ (OS X केवल):

brew install homebrew/versions/gradle110
gradle build

आप gradle tasksवर्तमान परियोजना के लिए उपलब्ध सभी कार्यों को देखने के लिए उपयोग कर सकते हैं । यहां कोई Android Studioजरूरत नहीं है।


4
सुनिश्चित करें कि आपने शुरू करने के लिए होमब्रे को स्थापित किया है!
२१

1
"कोई एंड्रॉइड स्टूडियो की आवश्यकता नहीं है" - जब तक आपको एंड्रॉइड एसडीके की आवश्यकता नहीं है मुझे लगता है। किसी भी दर पर, मैं जिस प्रोजेक्ट को बनाने की कोशिश कर रहा हूं, वह इसके लिए कहता है।
हमीज़ेल ने

21

ग्रैड बिल्ड सेटिंग्स का उपयोग करके अपने एप्लिकेशन को बनाने के लिए दो बिल्ड प्रकार हैं: एक आपके एप्लिकेशन को डिबग करने के लिए - डिबग - और एक रिलीज़ - रिलीज़ मोड के लिए अपने अंतिम पैकेज के निर्माण के लिए।

डीबग मोड में बिल्डिंग

  • सीएमडी का उपयोग करके एंड्रॉइड स्टूडियो प्रोजेक्ट रूट फ़ोल्डर में पहले नेविगेट करें यहाँ छवि विवरण दर्ज करें

  • इस कमांड gradlew.bat असेंबली को चलाएं

  • आउटपुट विंडो इस तरह दिखती है यहाँ छवि विवरण दर्ज करें

रिलीज मोड में हस्ताक्षरित एपीके का निर्माण करें

  • रिलीज़ मोड में अपनी परियोजना बनाने के लिए build.gradle फ़ाइल संपादित करें:

    android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }}
    

यहाँ छवि विवरण दर्ज करें

  • इस कमांड gradlew.bat assRRease को चलाएं

हो गया। गुड लक!


2
क्या बिल्ड के सफल होने के बाद ऑटो लॉन्च करने का कोई तरीका है?
अंबर जैन

मैं निर्माण के बाद ऑटो लॉन्च ऐप के लिए कोई रास्ता नहीं ढूँढ सकता
धवल जीवनी

3
@DhavalJivani ने एमुलेटर में इसे लॉन्च किया है? यदि ऐसा है तो बस साधारण adb कमांड है। आप लॉन्च करने के लिए किसी विशिष्ट गतिविधि को भी लक्षित कर सकते हैं। developer.android.com/studio/command-line/adb.html
blizz

@DhavalJivani स्वचालन परीक्षण में एंड्रॉइड ऐप का परीक्षण करने का सबसे अच्छा तरीका क्या है?। वेब के लिए हमारे पास अजगर और नोड में सेलेनियम है।
हर्ष मनवर १ '

9

यह एक पूर्ण मार्गदर्शिका पर एक प्रयास है

1. ग्रैडल और एंड्रॉइड एसडीके स्थापित करें

भी

  • हालांकि आप फिट देखते हैं इन स्थापित करें
  • भागो ./gradlew, या gradlew.batअगर विंडोज पर
    • chmod +x ./gradlew आवश्यक हो सकता है

इस बिंदु से, gradleआपके द्वारा चुने गए तरीके से ग्रैडल को चलाने के लिए संदर्भित करता है। उसी के अनुसार पदार्थ।

2. एंड्रॉइड एसडीके सेटअप करें

  • यदि आपने एसडीके को मैन्युअल रूप से स्थापित किया है

    • export ANDROID_HOME=<install location>
    • आप ~/.profileइसे अपने आप में रखना चाहते हैं यदि यह स्वचालित रूप से नहीं किया जाता है
  • लाइसेंस स्वीकार करें: yes | sdkmanager

    • sdkmanager में पाए जा सकते हैं $ANDROID_HOME/tools/bin
    • sdkmanager जड़ के रूप में चलाना पड़ सकता है
  • दौड़ने की कोशिश करो gradle

    • यदि लाइसेंस या एसडीके के बारे में शिकायतें नहीं मिल रही हैं, तो निर्देशिका अनुमतियों को ठीक करें
      • chown -R user:group $ANDROID_HOME
      • यदि आप लापरवाह और / या एकमात्र उपयोगकर्ता हैं: chmod 777 -R $ANDROID_HOME

3. भवन

  • gradle tasks उन सभी कार्यों को सूचीबद्ध करता है जिन्हें चलाया जा सकता है
  • :app:[appname] सभी कार्यों का उपसर्ग है, जिसे आप निर्माण करते समय ग्रेडल लॉग में देखेंगे
    • टास्क चलाते समय इसे बाहर किया जा सकता है

कुछ आवश्यक कार्य

  • gradle assemble: अपने ऐप के सभी वेरिएंट का निर्माण करें
    • परिणाम .apks में हैं app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebugया assembleRelease: केवल डिबग या रिलीज़ संस्करण बनाएँ
  • gradle installDebugया installReleaseसंलग्न डिवाइस से निर्माण और स्थापित करें
    • है एशियाई विकास बैंक स्थापित
    • USB डिबगिंग और USB फ़ाइल स्थानांतरण सक्षम के साथ एक उपकरण संलग्न करें
    • चलाएं adb devices, जांचें कि आपका डिवाइस सूचीबद्ध है और डिवाइस उसके बगल में है

परिवर्तनों पर स्वचालित रूप से निर्माण और स्थापित करें

यह एक ही कमांड को लगातार चलाने से बचा जाता है

gradle -t --continue installDebug
  • -t: उर्फ --continuous, स्वचालित रूप से फ़ाइल बदलने के बाद कार्य को फिर से चलाता है
  • --continue: त्रुटियों के बाद जारी रखें। त्रुटियां होने पर रोकना रोकता है

gradle -hअधिक सहायता के लिए दौड़ें


8

आप यहाँ होने की संभावना है क्योंकि आप इसे भी स्थापित करना चाहते हैं!

बिल्ड

gradlew

(विंडोज पर gradlew.bat)

फिर इंस्टॉल करें

adb install -r exampleApp.apk

( -rयह मौजूदा प्रतिलिपि को प्रतिस्थापित करता है, -sअगर एक एमुलेटर पर स्थापित करना जोड़ें )

बक्शीश

मैंने अपने में एक उपनाम स्थापित किया ~/.bash_profile, इसे 2char कमांड बनाने के लिए।

alias bi="gradlew && adb install -r exampleApp.apk"

(बिल्ड और इंस्टॉल के लिए लघु)


7

लिनक्स पर एंड्रॉइड स्टूडियो परियोजनाओं के लिए कमांड लाइन से ग्रैडलेट चलाने के लिए चिपसेट:

cd <project-root>
./gradlew
./gradlew tasks
./gradlew --help

आपको आरंभ करना चाहिए ।।


3

Mac के लिए इस कमांड का उपयोग करें

  ./gradlew task-name

1

केवल मैक उपयोगकर्ताओं के लिए

विजी के उत्तर का विस्तार ।

चरण दर चरण प्रक्रिया:

  1. टर्मिनल खोलें
  2. अपनी निर्देशिका को अपने प्रोजेक्ट में बदलें (cd PathOfYourProject)
  3. इस आदेश को कॉपी करें और दर्ज करें और हिट दर्ज करें:

    chmod +x gradlew
    
  4. जैसा कि विजी ने सुझाव दिया है:

    ./gradlew task-name
    

    नहीं जोड़ें (डॉट) से पहले / gradlew


1

आधिकारिक दस्तावेज यहाँ है:

डीबग एपीके बनाने के लिए, कमांड लाइन खोलें और अपने प्रोजेक्ट डायरेक्टरी के रूट पर नेविगेट करें। डिबग बिल्ड शुरू करने के लिए, assembleDebugकार्य को लागू करें :

gradlew assembleDebug

यह एक APK बनाता है जिसका नाम module_name-debug.apkहै project_name/module_name/build/outputs/apk/


0

enter code hereनीचे दिए गए कोड और adb कमांड के साथ स्क्रिप्ट फ़ाइल बनाएं, स्क्रिप्ट फ़ाइल निष्पादित करें

./gradlew clean

/ .ग्रेडलेव असेंबडबग ।/gradlew installDebug

adb शेल am start -n ApplicationID / फुल पाथ ऑफ लॉन्चर एक्टिविटी है


0

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

यह आपको वैकल्पिक कार्यों को वैकल्पिक कार्यों आदि को देने की अनुमति देता है।


-2

इन सभी उत्तरों के लिए मूल्य जोड़ना,

कई लोगों ने पर्याप्त निर्माण के बाद AVD में ऐप चलाने की आज्ञा मांगी है।

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.