एंड्रॉइड स्टूडियो: रन या डीबग से पहले स्वचालित रूप से APK (या एडीबी कमांड निष्पादित) कैसे करें?


119

अब मुझे हर बार Run\Debugएंड्रॉइड स्टूडियो में ऐप को अनइंस्टॉल करने की आवश्यकता है । क्योंकि मुझे ऐप चलाने से पहले डेटाबेस को फिर से बनाना होगा। मुझे पता है कि मैं कमांड चला सकता हूं

adb uninstall [package_name]

के तहत फ़ाइलों को खाली करने के लिए टर्मिनल में /data/data/[package_name]। लेकिन यह सुविधाजनक तरीका नहीं है अगर मुझे हर बार कमांड को निष्पादित करना है। मुझे आशा है कि

adb uninstall

जब मैं Run\Debugबटन पर क्लिक करता हूं तो कमांड को स्वचालित रूप से निष्पादित किया जा सकता है ।


यह "रन" / "डीबग" प्रक्रिया की शुरुआत में आपके ऐप को फिर से स्थापित करता है, है ना? या आप किसी अन्य ऐप को अनइंस्टॉल करने का मतलब रखते हैं?
cck3rry

@ cck3rry क्षमा करें, शायद यह बहुत स्पष्ट नहीं है। मैं कमांड "एडीबी अनइंस्टॉल" को निष्पादित करना चाहता हूं क्योंकि मुझे ऐप को चलाने / डीबग करने से पहले डेटाबेस को फिर से बनाना होगा।
जर्जर

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

@ Mattgmg1990 इसका मतलब है कि मुझे हर बार जब भी मैं पुल / पुश करता हूं तो इस तरह के कोड को जोड़ना / हटाना होगा। कैसा दर्द ...
जर्जर

1
यह उत्तर आपके लिए उपयोगी हो सकता है
PavelGP

जवाबों:


211
adb uninstall <package_name>

अपने पीसी के माध्यम से एक app की स्थापना रद्द करने के लिए इस्तेमाल किया जा सकता है। यदि आप चाहते हैं कि जब भी आप Android Studio के माध्यम से अपना एप्लिकेशन लॉन्च करें, तो आप यह स्वचालित रूप से कर सकते हैं:

  1. एंड्रॉइड स्टूडियो में, रन बटन के बाईं ओर ड्रॉप डाउन सूची पर क्लिक करें, और संपादन कॉन्फ़िगरेशन चुनें ...
  2. एंड्रॉइड एप्लिकेशन के तहत ऐप पर क्लिक करें, और जनरल टैब में, 'लॉन्च से पहले' शीर्षक खोजें
  3. + बटन पर क्लिक करें, बाहरी टूल चलाएँ, पॉपअप विंडो में + बटन पर क्लिक करें।
  4. कुछ नाम (उदाहरण के लिए अदब अनइंस्टॉल) और विवरण दें, और adbप्रोग्राम में टाइप करें : और uninstall <your-package-name>पैरामीटर्स में:। सुनिश्चित करें कि पॉपअप विंडो में Ok पर क्लिक करने पर नया आइटम चुना गया है।

नोट: यदि आपके पास अपने PATH पर्यावरण चर में adb नहीं है, तो प्रोग्राम: adb (जैसे / घर / उपयोगकर्ता / android / sdk / platform-tools / adb) में adb को पूरा रास्ता दें।


2
कुछ टिप्स / नोट्स: यदि आप एक से अधिक एमुलेटर या डिवाइस चला रहे हैं, तो आप adb -s <devicename> को शामिल करना चाहेंगे। एंड्रॉइड स्टूडियो में मैक्रोज़ ठीक से काम नहीं करते हैं (v1.50.x), इसलिए आपको एडीबी या पर्यावरण पथ के लिए पूर्ण पथ में रखना होगा।
निक

@aravindsagar मैंने अपने डिवाइस के सभी पैकेज सूचीबद्ध किए और मेरे ऐप के पैकेज का नाम नहीं था, लेकिन फिर भी यह विफलता दिखा रहा है [DELETE_FAILED_INTERNAL_ERROR] यह क्यों हो रहा है?
दिनेश फलवाडिय़ा

91

उदाहरण

adb uninstall com.my.firstapp

5
यदि पेकैज नाम नहीं पता है, लेकिन
एपीके है

1
यदि आपके पास सामग्री पर एक नज़र है, तो मैं पूछ रहा था "एंड्रॉइड स्टूडियो में डिबग / रन से पहले स्वचालित रूप से स्थापना रद्द करें"। यह उत्तर "स्वचालित रूप से" समाधान नहीं देता था। हमें अधिक आलसी होना चाहिए, है ना? :)
जर्गर

15

द्वारा पैकेज सूची:

adb shell su 0 pm list packages

समीक्षा करें कि आप किस पैकेज की स्थापना रद्द करना चाहते हैं और पैकेज का नाम वहां से कॉपी करें। उदाहरण के लिए:

com.android.calculator2

अंत में टाइप करें:

adb uninstall com.android.calculator2 

और आप कर रहे हैं


4
गैर-रूट किए गए लोगों के लिए, su 0सूची संकुल कमांड से छोड़ें ।
विलेकोडर

12

मैं उपयोग कर रहा हूं Android Studio 2.1.2। मुझे ओपी जैसी आवश्यकता थी। हालाँकि ऊपर दिए गए दो जवाब हर किसी की मदद करने के लिए लग रहे थे, यह मेरे लिए काम नहीं करता था। मैं साझा कर रहा हूं कि मेरे लिए क्या काम किया।

के पास जाओ main menu/Run/Edit Configuration। बाईं ओर के appनीचे का चयन करें Android Application। यह बहु-टैब फलक खोलना चाहिए। Generalटैब चुनें (डिफ़ॉल्ट होगा), +नीचे (पाठ के नीचे Before launch: Gradle -awake ...) हरे रंग के गाने पर क्लिक करें ।

एक ड्रॉप डाउन दिखाई देगा, Gradle-aware-makeविकल्प चुनें । एक और टेक्स्ट बॉक्स पॉप अप होगा। :app:uninstallAllइस टेक्स्ट बॉक्स में दर्ज करें। (आप सब कुछ टाइप किए बिना स्वतः पूर्ण टोडरमाइन सही लक्ष्य का उपयोग करने के लिए ctrl+ spaceका उपयोग कर सकते हैं । और आपको सही ऐप नाम का चयन करने में भी मदद करता है जो आपके लिए उपलब्ध है)। और सेट apply/ok। अपने ऐप को फिर से लॉन्च करें।

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


1
यह अच्छी तरह से काम करता है, लेकिन आपको appअपने वास्तविक मॉड्यूल के नाम के साथ प्रतिस्थापित करने की आवश्यकता है , जैसे कि myMainApp
जिमबली

1
हाँ, बस स्वत: पूर्ण का उपयोग करने के लिए पॉपअप पर ctrl+ spaceका उपयोग करें। यह एप्लिकेशन को भी निर्धारित करता है।
जिमी

11

यदि आप सिंगल डिवाइस / एमुलेटर से कनेक्ट होने पर अनइंस्टॉल करना चाहते हैं तो नीचे दिए गए कमांड का उपयोग करें

adb uninstall <package name>

कई उपकरणों के साथ फिर नीचे कमांड का उपयोग करें

adb -s <device ID> uninstall <package name>

4

मैं एक एंड्रॉइड स्टूडियो प्लग-इन का उपयोग करता हूं जिसे "एडीबी विचार" कहा जाता है - इसमें विभिन्न कार्यों (अनइंस्टॉल, किल, स्टार्ट, आदि) के लिए एक ड्रॉप डाउन मेनू है जिसे आप किसी भी कनेक्टेड या सिम्युलेटेड डिवाइस पर लक्षित कर सकते हैं। कोई यह तर्क दे सकता है कि यह मुझे एडीबी कमांड की शक्ति की गहरी समझ रखने से दूर ले जाता है और मैं शायद सहमत हो जाऊंगा .... हालांकि मैं वास्तव में समझ के निचले स्तर पर काम कर रहा हूं, इसलिए मेरे लिए यह मदद करता है एक सहायक। ADB आइडिया यहां छवि विवरण दर्ज करें


3

एक सरल तीन-चरण प्रक्रिया (मैक टर्मिनल पर जाँच की गई)

  1. अपने एंड्रॉइड डिवाइस को कनेक्ट करें (कृपया एक समय में 1 एंड्रॉइड डिवाइस कनेक्ट करें), अधिमानतः एक केबल द्वारा और कनेक्शन की पुष्टि करें (यह डिवाइस की आईडी डिवाइस आईडी को सूचीबद्ध करेगा)

    adb devices
  2. फिर टर्मिनल पर चल रहे डिवाइस से सभी ऐप पैकेजों को सूचीबद्ध करने के लिए

    adb shell pm list packages -f -3 
  3. फिर पहले बताए अनुसार अनइंस्टॉल करें

    adb uninstall <package_name> 

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.