2016-09-22 14 views
9

में डिवाइस में एपीके को बस इंस्टॉल करने के लिए कैसे करें मेरा प्रश्न यह है कि जब मैं रन बटन पर क्लिक करता हूं तो यह परिवर्तन फ़ाइलों की जांच करने और कक्षा बनाने के लिए ग्रेडल कमांड चलाता है और फिर एपीके बनाने के लिए डीएक्स चलाता है।एंड्रॉइड स्टूडियो

यदि मुझे पता है कि मेरी फ़ाइलों में कोई बदलाव नहीं है, तो भी जांचने के लिए धीरे-धीरे चलती है।

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

नोट: मैं उस डिवाइस पर स्थापित करना चाहता हूं जो मेरे सिस्टम से जुड़ा हुआ है, एम्यूलेटर आदि नहीं।

नोट: मैं किसी भी अन्य सॉफ्टवेयर का उपयोग करके एंड्रॉइड स्टूडियो से स्थापित करना चाहता हूं।

+0

ऐप-डीबग.एपीपी बनाने का प्रयास करें और इसे – Sushrita

+0

जांचने के लिए इंस्टॉल करें लेकिन कैसे? एंड्रॉइड स्टूडियो से? –

+0

आप इसके लिए एडीबी का उपयोग करते हैं, वहां कई उदाहरणों में से एक है https://library.vuforia.com/articles/Solution/How-To-install-an-APK-using-ADB हालांकि आपकी स्थिति के लिए अन्य तरीके हैं , यह आपके सिस्टम से आपके डिवाइस पर एपीके स्थापित करने के वास्तविक प्रश्न का उत्तर देता है। – zgc7009

उत्तर

0

एंड्रॉइड स्टूडियो 2.2 में एक नई संपत्ति "कैश बनाएं" है। यह स्थापित करने के लिए आप अपने प्रोजेक्ट की gradle.properties फ़ाइल को खोलने और वहाँ जोड़ें:

android.enableBuildCache=true 

वर्णित here

की तरह और अगर आप में कोई बदलाव नहीं है, तो अपने Gradle कुछ ही सेकंड में निर्माण होगा।

संपादित करें: here से कैश बिल्ड का विवरण:

एंड्रॉयड स्टूडियो 2.2 बीटा 3 भंडारण और पुन: उपयोग करके एक नया निर्माण कैश विशेषता यह है कि निर्माण के समय (त्वरित रन सहित पूर्ण बनाता है, वृद्धिशील बनाता है, और) में तेजी लाने के कर सकते हैं का परिचय फ़ाइलें/निर्देशिका जो समान या अलग एंड्रॉइड प्रोजेक्ट के पिछले निर्माण में बनाई गई थीं।

दूसरे शब्दों में, Build Cache अपरिवर्तित फ़ाइलों का पुन: उपयोग करता है बल्कि उन्हें पुनर्निर्माण करता है।

+0

ओपी नहीं पूछ रहा है कि ग्रैडल बिल्ड को कैसे गति दें, लेकिन वह पूछ रहा है कि वह ग्रैडल बिल्ड को कैसे छोड़ सकता है । –

+0

इसे छोड़ने का कोई तरीका नहीं –

+0

फिर इस प्रश्न का कोई जवाब नहीं है। हालांकि, ** ** इसे छोड़ने का एक तरीका है * यदि आप कोई बदलाव नहीं करना चाहते हैं *: एपीके –

2

आप ग्रैडल बिल्डको छोड़ नहीं सकते हैं जबतक कि आप एक स्थिर एपीके नहीं चाहते जिसमें कोई बदलाव न हो।

फ़ाइल> एपीके बनाएं पर जाएं। फिर, ग्रैडल एक बार का निर्माण करेगा। इसके बाद, शीर्ष-दाएं कोने में एक बबल एक सफल एपीके पीढ़ी का संकेत देगा।

Bubble at the top-right of the page

पर क्लिक करें "एक्सप्लोरर में शो", उत्पन्न APK कॉपी करें और अपने कनेक्ट किए गए डिवाइस पर ले जाते हैं। फिर, अपने डिवाइस> अपने फ़ाइल प्रबंधक> एपीके पर जाएं जो आपने अभी ले जाया है। इसे क्लिक करें और एप्लिकेशन इंस्टॉल करें। ये लो।

आप एक Gradle बिना चलाने के लिए निर्माण के लिए कोई तरीका नहीं है, और आप केवल एक है जो सोचता है कि यह पूरी तरह से मूर्ख एक शक्ति के लिए है पुनर्निर्माण हर बार आप एक का निर्माण करना चाहते नहीं कर रहे हैं एपीके या आखिरी बिल्ड के बाद से कोई ऐप नहीं चलाएगा।

+0

ओपी पूछ रहा है: मैं एंड्रॉइड स्टूडियो से स्थापित करना चाहता हूं। और आप मैन्युअल रूप से डिवाइस से स्थापित करने का सुझाव देते हैं। –

+0

@AlexanderTumanin और मेरा जवाब कहता है "आप नहीं कर सकते" और एक विकल्प भी शामिल है जो आपके उत्तर से बेहतर है। मैं एक टाइपो को ठीक करने के लिए अपना प्रश्न संपादित करूंगा, अगर आप अपना डाउनवोट हटाते हैं तो मैं इसकी सराहना करता हूं क्योंकि मेरा जवाब वर्तमान में सबसे अच्छा उपलब्ध है। –

+0

मुझे "रन" दबाए जाने के बजाय मैन्युअल ऑपरेशन की मात्रा के कारण आपका विकल्प बेहतर नहीं लगता है। ओपी का उपयोग केस क्या है? मैं अलग-अलग उपकरणों पर एक ही ऐप शुरू करने का अनुमान लगाता हूं (क्योंकि उसी डिवाइस पर एक ही ऐप को फिर से शुरू किया जा सकता है)। इस मामले में आप हर बार एपीके की प्रतिलिपि बनाने के लिए कंप्यूटर में नेविगेट करने का सुझाव देते हैं, फिर डिवाइस में नेविगेट करें, इंस्टॉल करें (शायद अनुमति स्वीकार करें) और केवल तब रन करें। मेरा तरीका कहता है, आप ऐप को 2-5 सेकंड में "रन" दबाकर कैसे शुरू कर सकते हैं। कुछ अन्य बूस्ट विकल्प हैं, उदा। "- ऑफलाइन" ध्वज की तरह। सब आपके से बेहतर है। –

8

एक और समाधान डिवाइस पर एपीके स्थापित करने के लिए टर्मिनल का उपयोग कर रहा है। एक बार जब आप फ़ाइल> एपीके का उपयोग करके अपना एपीके बनाया है, तो यह आपको वह पथ दिखाता है जिसमें नया एपीके मौजूद है।

बस मेरे सिस्टम पर नीचे उत्पन्न apk पथ की तरह टर्मिनल पर पथ के लिए जाना - $cd /Android_App_Code/UpdatedCodeForCheckOut/Projects/IMS/source/apps/Android/flowtalk/app/build/outputs/apk

और प्रकार - $ adb install -r app-debug.apk

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

0

वास्तव में आप कर सकते हैं। बस एक नया रन/डीबग कॉन्फ़िगरेशन बनाएं ("रन" तीर के बाईं ओर स्थित ड्रॉप डाउन सूची पर कॉन्फ़िगरेशन संपादित करें)। फिर अपनी कॉन्फ़िगरेशन के "लॉन्च से पहले" अनुभाग में "ग्रैडल-जागरूक मेक" को हटा दें।

इस विन्यास आप इसे, काम नहीं करता है एक मौजूदा अन्यथा उत्पन्न APK के रूप में इस नए विन्यास सिर्फ मौजूदा एक स्थापित हो जाएगा की जरूरत है चलाने के लिए।)

2

मैं करने के लिए उत्पन्न APK स्थापित करने के लिए इस विधि का उपयोग मैं लिनक्स पर काम कर रहा हूं क्योंकि बैश स्क्रिप्ट का उपयोग कर डिवाइस (विंडोज़ या ओएस एक्स पर कोशिश नहीं की थी)।

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

enter image description here

मैं सिर्फ एक फ़ाइल में इन आदेशों की प्रतिलिपि बनाएँ और

run.sh

#!/bin/sh 

adb push /home/gautam/sample/app/build/outputs/apk/debug/app-debug.apk /data/local/tmp/com.example.sample.sample 
adb shell pm install -t -r "/data/local/tmp/com.example.sample.sample" 
adb shell am start -n "com.example.sample.sample/com.example.sample.sample.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 

में आप निर्देशिका परियोजना फ़ाइल को सहेजने run.sh के रूप में सहेज (यद्यपि आप इसे कहीं भी रख सकते हैं)। यदि आपको आवश्यकता हो तो इसे गिटिग्नोर में भी जोड़ें। फिर एंड्रॉइड स्टूडियो में टर्मिनल खोलें और एपीके स्थापित करने के लिए स्क्रिप्ट फ़ाइल चलाएं।

chmod a+x run.sh 
./run.sh 

enter image description here

यह कनेक्टेड डिवाइस के लिए apk स्थापित हो जाएगा। यदि अधिक से अधिक एक डिवाइस कनेक्ट होता है तो स्क्रिप्ट त्रुटि फेंक देगी, इस मामले में आपको डिवाइस आईडी this प्रदान करना होगा।

उम्मीद है कि इससे मदद मिलती है।

संबंधित मुद्दे