adb शेल कमांड एंड्रॉइड पैकेज अनइंस्टॉल डायलॉग बनाने के लिए


126

मेरे पास adbरनिंग और डिवाइस डिबगिंग मोड में मेरे सिस्टम से जुड़ा है,

मैं इरादा लॉन्च का उपयोग करके ऐप को अनइंस्टॉल करना चाहता हूं adb shell am start <INTENT>

मैं उपयोग करने की स्थापना रद्द नहीं करना चाहता adb uninstall com.company.apppackageऔर मैं इसका उपयोग करके भी नहीं करना चाहताadb shell pm uninstall com.company.apppackage

मैं android.intent.action.DELETEएक विशिष्ट पैकेज के लिए कार्रवाई के साथ एक इरादे कैसे भेज सकता हूं जिससे उपयोगकर्ता को प्रॉम्प्ट देखने और प्रोग्राम को अनइंस्टॉल करने की अनुमति मिल सके?

जवाबों:


178

आप इस कमांड का उपयोग करके इसे adb से कर सकते हैं:

adb shell am start -a android.intent.action.DELETE -d package:<your app package>

2
क्या आप बता सकते हैं कि क्या -d पैकेज: <आपका ऐप पैकेज> किसके लिए है? कोई दस्तावेज है?
रिंकल भंडेरी

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

नहीं, यदि आपके ऐप में एक सक्रिय DevicePolicyManager है, तो आपको पहले इसे मैन्युअल रूप से अक्षम करना होगा।
पीसी

उपरोक्त आदेश फोन पर इस एप्लिकेशन पुष्टिकरण संवाद को हटाता है। adb shell pm uninstall -k com.packagenameइसके बजाय उपयोग करें ।
विल्लुस्क

1
यह सिस्टम ऐप्स के लिए काम नहीं करेगा। प्रॉम्प्ट डायलॉग आएगा, लेकिन ऐप अनइंस्टॉल नहीं होगा।
इगोरगानापोलस्की 12

218

Cmd में इस कमांड का उपयोग करें:

adb शेल pm अनइंस्टॉल -k com.packagename

उदाहरण के लिए:

adb shell pm uninstall -k com.fedmich.pagexray

-kझंडा पैकेज प्रबंधक बताता संचय और डेटा निर्देशिका के आसपास रखने के लिए, भले ही एप्लिकेशन हटा दिया है। यदि आप एक साफ स्थापना रद्द करना चाहते हैं, तो निर्दिष्ट न करें -k


8
मुझे यह उत्तर बेहतर लगा। क्योंकि, इस एक के साथ आपको undelete पुष्टिकरण संवाद बॉक्स नहीं मिलेगा।
जौक्टी

2
@joctee, तो क्या मैं लेकिन सवाल विशेष रूप से कहा कि वे एक इरादे का उपयोग कर स्थापना रद्द नहीं करना चाहते थे।
OrhanC1

@ लोरिस, क्या इसने काम किया है .. सुनिश्चित करें कि आप "+" को हमेशा के जवाब पर हटा दें
Fedmich

32
@Johnny_D The -k ध्वज पैकेज प्रबंधक को कैश और डेटा निर्देशिकाओं को रखने के लिए कहता है, भले ही ऐप हटा दिया गया हो। यदि आप एक साफ स्थापना रद्द करना चाहते हैं, तो -k निर्दिष्ट न करें।
योजिम्बो

2
मैं इस आदेश का उपयोग करने का प्रयास करते समय विफलता संदेश प्राप्त करता रहता हूं ।
इगोरगानापोलस्की

12

ADB का उपयोग करते हुए, आप निम्न तीन आदेशों में से किसी का उपयोग कर सकते हैं:

adb shell am start -a android.intent.action.UNINSTALL_PACKAGE -d "package:PACKAGE"
adb shell am start -n com.android.packageinstaller/.UninstallerActivity -d "package:PACKAGE"
adb shell am start -a android.intent.action.DELETE -d "package:PACKAGE"

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

उक्त कमांड के विवरण का उपयोग करके उपयोग के बारे में जाना जा सकता है adb shell am

मुझे Elixir 2 (किसी समतुल्य ऐप का उपयोग करें) का उपयोग करने वाले कमांड के बारे में जानकारी मिली । मैंने इसका इस्तेमाल पैकेज इंस्टॉलर ऐप (जीयूआई जिसे आप ऐप की स्थापना और हटाने के दौरान देखते हैं) के साथ-साथ संबंधित सामग्री को दिखाने के लिए किया था। तुम वहाँ जाओ।

वैकल्पिक तरीका जो मैंने उपयोग किया था: मैंने अंतिम पुष्टि दिखाने तक GUI का उपयोग करके ऐप को अनइंस्टॉल करने का प्रयास किया था। मैंने पुष्टि नहीं की, लेकिन कमांड निष्पादित करें

adb shell dumpsys activity recents   # for Android 4.4 and above
adb shell dumpsys activity activities # for Android 4.2.1

अन्य बातों के अलावा, इसने मुझे पृष्ठभूमि में पारित इरादे का उपयोगी विवरण दिखाया। उदाहरण:

intent={act=android.intent.action.DELETE dat=package:com.bartat.android.elixir#com.bartat.android.elixir.MainActivity flg=0x10800000 cmp=com.android.packageinstaller/.UninstallerActivity}

यहां, आप कार्रवाई, डेटा, ध्वज और घटक - लक्ष्य के लिए पर्याप्त देख सकते हैं।


मैं समझता हूं कि प्रश्न पुराना है, इसलिए मेरा उत्तर अधिक प्रासंगिक नहीं हो सकता है। लेकिन यह आजकल के अधिकांश उपयोगकर्ताओं द्वारा उपयोग किए जाने वाले एंड्रॉइड संस्करणों के लिए पूरी तरह से प्रासंगिक है।
फायरलॉर्ड

6

यद्यपि उपरोक्त उत्तर काम करते हैं, लेकिन यदि आपके पास आपके कंप्यूटर से जुड़े कई उपकरण हैं, तो निम्न कमांड का उपयोग उनमें से एक से एप्लिकेशन को निकालने के लिए किया जा सकता है:

adb -s <device-serial> shell pm uninstall <app-package-name>

यदि आप डिवाइस सीरियल का पता लगाना चाहते हैं तो निम्न कमांड का उपयोग करें:

adb devices -l

यह आपको संलग्न उपकरणों की एक सूची देगा। बाएं स्तंभ डिवाइस धारावाहिक दिखाता है।


3

मेरे मामले में, मैं adb shell pm list packagesपहले यह देखने के लिए करता हूं कि मेरे एंड्रॉइड डिवाइस या एमुलेटर में कौन से पैकेज / ऐप इंस्टॉल किए गए हैं, फिर वांछित पैकेज / ऐप का पता लगाने पर, मैं ए करता हूं adb shell pm uninstall -k com.package.name


3

मुझे लगता है कि आप developer modeअपने एंड्रॉइड डिवाइस पर सक्षम हैं और आप अपने डिवाइस से कनेक्ट हैं और आपके पास शेल एक्सेस ( adb shell) है।

एक बार यह हो जाने के बाद आप इस कमांड के साथ एप्लिकेशन को अनइंस्टॉल कर सकते हैं pm uninstall --user 0 <package.name>0 रूट आईडी है, जिस तरह से आपको अपने डिवाइस को रूट करने की आवश्यकता नहीं है।

यहाँ एक उदाहरण है कि मैंने अपने Huawei P110 लाइट पर कैसे किया

# gain shell access
$ adb shell

# check who you are
$ whoami
shell

# obtain user id
$ id
uid=2000(shell) gid=2000(shell)

# list packages
$ pm list packages | grep google                                                                                                                                                         
package:com.google.android.youtube
package:com.google.android.ext.services
package:com.google.android.googlequicksearchbox
package:com.google.android.onetimeinitializer
package:com.google.android.ext.shared
package:com.google.android.apps.docs.editors.sheets
package:com.google.android.configupdater
package:com.google.android.marvin.talkback
package:com.google.android.apps.tachyon
package:com.google.android.instantapps.supervisor
package:com.google.android.setupwizard
package:com.google.android.music
package:com.google.android.apps.docs
package:com.google.android.apps.maps
package:com.google.android.webview
package:com.google.android.syncadapters.contacts
package:com.google.android.packageinstaller
package:com.google.android.gm
package:com.google.android.gms
package:com.google.android.gsf
package:com.google.android.tts
package:com.google.android.partnersetup
package:com.google.android.videos
package:com.google.android.feedback
package:com.google.android.printservice.recommendation
package:com.google.android.apps.photos
package:com.google.android.syncadapters.calendar
package:com.google.android.gsf.login
package:com.google.android.backuptransport
package:com.google.android.inputmethod.latin

# uninstall gmail app
pm uninstall --user 0 com.google.android.gms

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