एंड्रॉइड डिवाइस से मुझे एपीके फ़ाइल कैसे मिलेगी?


484

मैं एंड्रॉइड डिवाइस से एपीके फ़ाइल कैसे प्राप्त करूं? या मैं डिवाइस से सिस्टम में एपीके फाइल कैसे ट्रांसफर करूं?

जवाबों:


118

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

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


यदि आप पाते हैं कि बहुत से APK को "base.apk" नाम दिया गया है, तो आप किसी एक "base.apk" नाम को पैकेज के नाम पर रखते हुए फोन से सभी एपीके को खींचने के लिए इस एक लाइन कमांड का उपयोग कर सकते हैं। यह भी नाम के बाद प्रतीत होता है यादृच्छिक वर्ण के साथ एपीके पथ के लिए नहीं मिली निर्देशिका को ठीक करता है:

for i in $(adb shell pm list packages | awk -F':' '{print $2}'); do adb pull "$(adb shell pm path $i | awk -F':' '{print $2}')"; mv base.apk $i.apk 2&> /dev/null ;done

यदि आपको "एडीबी: त्रुटि: स्टैट रिमोट स्टेट करने में विफल रहा है" तो संकेत मिलता है कि आपको आवश्यक अनुमति नहीं है। मैंने इसे एक गैर-रूट किए गए Moto Z2 पर चलाया और YouTube को छोड़कर सभी APK डाउनलोड करने में सक्षम नहीं हुए जिन्हें मैंने अनइंस्टॉल नहीं किया (नीचे देखें)।

adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver   <--- kills presidential alert app!

(उपयोगकर्ताओं को देखने के लिए adb शेल pm लिस्ट यूजर्स चलाते हैं) यह फोन हटाने (अनइंस्टॉल करने का तरीका है (फैक्ट्री रिसेट के साथ वापस आते ही नहीं) लगभग किसी भी ऐप के बिना रूट INCLUDING सिस्टम एप्स (आपके फोन को अपडेट करने वाले कष्टप्रद अपडेट ऐप को इंगित करने वाला) है। लाइन "ccc" के लिए grepping द्वारा पाया जा सकता है या नहीं)


1
थैंक्स मौरिट्स रिजक। कृपया मेरी सहायता करें। मैं डिवाइस से सिस्टम में iTwips.apk फाइल को कॉपी करना चाहता हूं। मैं निम्नलिखित कमांड का उपयोग कर रहा हूं। क्या यह सही है ? मुझे त्रुटि मिली "Android2.2Froyo / sdcard / iTwips.apk" बाहर नहीं निकलता है ... / उपयोगकर्ता / bbb / Android / Android-sdk-mac_86 / उपकरण / adb पुल Android2.2Froyo / sdcard / iTwips.apk / उपयोगकर्ता / bbb धन्यवाद अग्रिम है .......
खोजक

मेरे डिवाइस पर (एंड्रॉइड 2.1) कमांड को "मेरे पुल / sscard /test.jpg" पर परीक्षण किया जाएगा। मेरे एसडी कार्ड से वर्तमान डीआईआर पर परीक्षण कॉपी करें। कृपया अपनी iTwips.apk फ़ाइल को पहले "adb शेल" का उपयोग करके खोजें। यह आपके डिवाइस पर एक शेल शुरू करता है और आप अपनी निर्देशिकाओं को ब्राउज़ करने के लिए ls और cd जैसे मानक यूनिक्स कमांड का उपयोग कर सकते हैं।
मॉरिट्स रिजक

नमस्ते, वास्तव में iTwips.apk डिवाइस पर आंतरिक मेमोरी में संग्रहीत है। मैं इस एक के लिए शेल का उपयोग कैसे कर सकता हूं? मैं निम्नलिखित कमांड adp -d <devicenumber> shell का उपयोग कर रहा हूं .. लेकिन यह काम नहीं करता है .. कृपया मेरी सहायता करें .. अग्रिम धन्यवाद।
खोजक

हाय, बहुत बहुत धन्यवाद। मैं अब एसडीकार्ड से चित्र प्राप्त कर सकता हूं। लेकिन मैं डिवाइस (प्रबंधन एप्पीलेशन फ़ोल्डर) से एपीके फाइल खींचना चाहता हूं। ITwips APK को एप्लिकेशन फ़ोल्डर में संग्रहीत किया जाता है। कृपया मेरी सहायता करें।
खोजक

16
@Finder @Maurits Rijk वास्तव में, आपको डिवाइस को केवल एपीके खींचने के लिए रूट करने की आवश्यकता नहीं है। जब तक आप उस apk का पूरा रास्ता जानते हैं। यदि एपीके इंस्टॉल हो गया है, तो पहले पैकेज के नाम के साथ पूर्ण पथ ढूंढें adb shell pm list packages, और इसके पूर्ण पथ adb shell pm path your.package.nameको अपने पीसी से, आप बसadb pull /full/path/to/your.apk
इसा एक

1548

इनमें से किसी भी सुझाव ने मेरे लिए काम नहीं किया, क्योंकि एंड्रॉइड पैकेज एपीके को अंतिम एपीके फ़ाइल नाम का उत्पादन करने के लिए एक क्रम संख्या जोड़ रहा था। Android (Oreo और Pie) के अधिक हाल के संस्करणों पर, एक अप्रत्याशित यादृच्छिक स्ट्रिंग जोड़ा गया है। आदेशों का निम्नलिखित क्रम मेरे लिए एक गैर-निहित डिवाइस पर काम करता है :

1) ऐप के पैकेज का नाम निर्धारित करें, जैसे "com.example.someapp"। यदि आप पहले से ही पैकेज का नाम जानते हैं तो इस चरण को छोड़ दें।

adb shell pm list packages

पैकेज के नामों की सूची देखें और प्रश्न और पैकेज के नाम में ऐप के बीच एक मैच खोजने की कोशिश करें। यह आमतौर पर आसान है, लेकिन ध्यान दें कि पैकेज का नाम पूरी तरह से ऐप नाम से असंबंधित हो सकता है। यदि आप ऐप को पैकेज नामों की सूची से नहीं पहचान सकते हैं, तो ब्राउज़र का उपयोग करके Google Play में ऐप खोजने का प्रयास करें। Google Play में किसी एप्लिकेशन के URL में पैकेज का नाम होता है।

2) वांछित पैकेज के लिए एपीके फ़ाइल का पूरा पथ नाम प्राप्त करें।

adb shell pm path com.example.someapp

आउटपुट
पैकेज की तरह दिखाई देगा : /data/app/com.example.someapp-2.apk
या
पैकेज: /data/app/com.example.someapp-nfFSVxn_CTafgraveFr_rXQ == / base.apk

3) चरण 2 से पूर्ण पथ नाम का उपयोग करते हुए, एंड्रॉइड डिवाइस से डेवलपमेंट बॉक्स में एपीके फ़ाइल खींचें।

adb pull /data/app/com.example.someapp-2.apk path/to/desired/destination

65
यह सबसे अच्छा जवाब है, डिवाइस को चीरने की कोई आवश्यकता नहीं है !! बहुत बहुत धन्यवाद
मुहन्नाद ए। अलहिरी

14
यह मेरे सभी Android उपकरणों पर काम करता है, और स्वीकृत उत्तर होना चाहिए।
b.mcewan

8
pm list packages-fध्वज का समर्थन करता है , जो आपके लिए .apk के स्थान को सूचीबद्ध करता है, जैसे package:/data/app/com.google.android.apps.maps-1.apk=com.google.android.apps.maps। अंतर्निहित pm सहायता बेकार है, लेकिन pm कई प्रकार के पैकेजों को भी फ़िल्टर कर सकती है, अधिक जानकारी के लिए developer.android.com/studio/command-line/adb.html#pm देखें । संपादित करें: बस ध्यान दिया जाता है कि नीचे दिए गए उत्तर में यह कहा गया है, लेकिन यह उत्तर लगभग एक के रूप में उत्कीर्ण नहीं है।
हाईटेककंप्यूटरजेक 14

9
मेरे लिए काम नहीं करता है। मैं निम्नलिखित त्रुटि मिलती है: adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist। अगर मैं इन फ़ोल्डरों को फाइल ब्राउजर के साथ ब्राउज़ करता हूं, तो फोल्डर खाली हो जाते हैं।
13

7
मुझे @Bevor के समान समस्या थी, जब खींचने पर मुझे यह त्रुटि मिली कि एपीके "मौजूद नहीं है"। मैंने इसे उपयोग करके adb shellऔर फिर cp PathToApk /sdcard/sdcard से कॉपी करके ठीक किया।
कॉलिन

124

कोई रूट आवश्यक नहीं है:

इस कोड को नाम के साथ 3 पार्टी पैकेज पथ मिलेगा ताकि आप आसानी से अपने एपीके को पहचान सकें

adb shell pm list packages -f -3

आउटपुट होगा

पैकेज: /data/app/XX.XX.XX.apk=YY.YY.YY

अब उस कोड को नीचे दिए गए कोड का उपयोग करके खींचें:

adb pull /data/app/XX.XX.XX.apk

यदि आपने cmd के ऊपर क्रियान्वित किया है C:>\, तो आपको वह पैकेज वहां मिलेगा।


1
यह कमाल का जवाब है! बहुत बहुत धन्यवाद :)
ड्रैग 0

1
किसी कारण से मैं अपने / डेटा / ऐप / निर्देशिका में एपीके नहीं पा सकता हूं । वहाँ हमेशा एक उपनिर्देशिका होती है।
इगोरगानापल्स्की

सिस्टम एप्स के -f -sबजाय -f -3
palindrom

57

मैंने देखा है कि इस समस्या के कई समाधानों को या तो आपको अपना फ़ोन रूट करना होगा या आपको एक ऐप इंस्टॉल करना होगा। फिर बहुत गुगली करने के बाद मुझे गैर-निहित / जड़ वाले फोन के लिए यह समाधान मिला

यह जानने के लिए कि आपको अब तक कौन से ऐप मिले हैं।

adb shell pm list packages

फिर आप एक ऐप चुन सकते हैं, उदाहरण के लिए ट्विटर

adb backup -apk com.twitter.android

यहां एक महत्वपूर्ण बात यह है कि अपने बैकअप को एन्क्रिप्ट करने के लिए पासवर्ड सेट न करें

यह backup.ap नाम की एक फाइल बनाने जा रहा है, लेकिन आप अभी भी इसे नहीं खोल सकते। इसके लिए आपको इसे फिर से निकालना होगा लेकिन dd कमांड का उपयोग करना होगा।

dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar

इसके बाद आपको बस इतना करना है कि टार कंटेंट को निकालना है और यह पूरा हो गया है।

आशा है कि यह आप लोगों के लिए काम करता है


7
से blog.shvetsov.com/2013/02/... , अपने openssl zlib नहीं है, तो, यह हो सकता है काम: अगर = backup.ab bs = 1 छोड़ = 24 dd | python -c "import zlib, sys; sys.stdout.write (zlib.decompress (sys.stdin.read ()))" | tar -xvf -
kodi

1
यह मेरे लिए काम किया है, स्वीकृत उत्तर में प्रक्रिया नहीं। और यह वास्तव में आज मेरी मदद करता है जब मुझे अपने एक पुराने ऐप के एपीके की जरूरत थी लेकिन यह मेरे फोन के अलावा मुझे उपलब्ध नहीं था।
जीशान

1
यहां अधिक जानकारी दी गई है यदि आपके ओपनस्ले में zlib सपोर्ट की कमी है: stackoverflow.com/questions/29830981/…
Nico Wiedemann

19

डिवाइस से डेस्कटॉप तक एपीके डाउनलोड करने के चरण

ए) सुनिश्चित करें कि आपका रनिंग (एमुलेटर / असली डिवाइस)। इस कमांड का उपयोग करने की जाँच करने के लिए

adb devices

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

adb shell pm list packages
adb shell pm list packages -f -3

आउटपुट (उपलब्ध पैकेजों की सूची)

package:/data/app/com.example.mytestapplication-sOzKi5USzfbYLPNDmaaK6g==/base.apk=com.example.mytestapplication
package:/data/app/com.example.myapplication-nd1I4FGnTZnQ9PyRbPDHhw==/base.apk=com.example.myapplication

सी) उपरोक्त लिंक से पैकेज (जिसे आप डाउनलोड करना पसंद करते हैं ) की प्रतिलिपि बनाएँ। हमारे मामले में मैं इस (com.example.myapplication) पैकेज को चुनता हूं

Syntax : adb shell pm path [your_package_name]
Command: adb shell pm path com.example.myapplication

उत्पादन

package:/data/app/com.example.myapplication-nd1I4FGnTZnQ9PyRbPDHhw==/base.apk

डी) अंत में, अपने (एमुलेटर / असली डिवाइस) से एपीके डाउनलोड करने के लिए

Syntax : adb pull /data/app/[your_package_name]-1/base.apk  [your_destination_path]
Command: adb pull /data/app/com.example.myapplication-3j4CVk0Tb2gysElgjz5O6A==/base.apk /Users/$(whoami)/Documents/your_apk.apk

उदाहरण: अपने स्थानीय मशीन (Mac) में इस CertInstaller.apk फ़ाइल को खींचने की कोशिश करना

adb pull /system/app/CertInstaller/CertInstaller.apk /Users/$(whoami)/Documents/APK/download_apk/

ई) अपने स्थानीय निर्देशिका में पुष्टि करें

ls -la /Users/$(whoami)/Documents/

उद्देश्य एक एकल APK निकालना है, फिर भी चरण 4 में आप स्पष्टीकरण या पिछले संदर्भ के बिना दो अतिरिक्त फ़ाइलों को खींचते हैं।
Carles Alcolea

मैंने हर चरण को स्पष्ट करके इस पोस्ट को संशोधित किया है। यह संशोधन उपयोगी और समझने में आसान होगा।
फरीद हक

18
C:\Users\xyz>adb shell pm list packages -f | findstr whatsapp
package:/data/app/com.whatsapp-1/base.apk=com.whatsapp

C:\Users\xyz>adb pull /data/app/com.whatsapp-1/base.apk Desktop
/data/app/com.whatsapp-1/base.apk: 1 f.... 13.8 MB/s (32803925 bytes in 
2.269s)

मेरी राय में यह सबसे सीधा तरीका है। धन्यवाद!
8bitcartridge

1
खोज के बजाय linux या mac का उपयोग करने वाले लोग grep का उपयोग करते हैं
Jeeva


7

@Yojimbo के उत्तर को पूरा करते हुए, यह वही है जो मैंने किया था (लिनक्स / मैक केवल, विंडोज पर बॉक्स से बाहर काम नहीं करेगा ... शायद गिट के बैश शेल में):

for i in $(adb shell pm list packages -f -3 | cut -d= -f 1 | cut -d ":" -f 2); do adb pull $i; done

यह बदसूरत बैश है, लेकिन काम करता है :)

EDIT: यह अब AndroidM पर काम नहीं करता है: सभी फाइलों को एक अन्य dir के तहत "base.apk" नाम दिया गया है। ठीक करने के लिए "तुच्छ" होना चाहिए।


7

यूनिक्स सिस्टम पर, आप इस फ़ंक्शन को आज़मा सकते हैं:

function android_pull_apk() {
    if [ -z "$1" ]; then
        echo "You must pass a package to this function!"
        echo "Ex.: android_pull_apk \"com.android.contacts\""
        return 1
    fi

    if [ -z "$(adb shell pm list packages | grep $1)" ]; then
        echo "You are typed a invalid package!"
        return 1
    fi

    apk_path="`adb shell pm path $1 | sed -e 's/package://g' | tr '\n' ' ' | tr -d '[:space:]'`"
    apk_name="`adb shell basename ${apk_path} | tr '\n' ' ' | tr -d '[:space:]'`"

    destination="$HOME/Documents/Android/APKs"
    mkdir -p "$destination"

    adb pull ${apk_path} ${destination}
    echo -e "\nAPK saved in \"$destination/$apk_name\""
}
  • उदाहरण :android_pull_apk com.android.contacts
  • नोट : पैकेज की पहचान करने के लिए:adb shell pm list packages

6

जैसा कि ऊपर कहा गया है, आप एडीबी में पुल कमांड का उपयोग करके एपीके प्राप्त कर सकते हैं।

चूंकि, आप अपने इंस्टॉल किए गए एप्लिकेशन के बारे में बात कर रहे हैं, आगे बढ़ें और अपने एंड्रॉइड फाइल सिस्टम के डेटा / ऐप निर्देशिका में देखें। आपको वहां एपीके मिलेगा।

फिर adb कमांड - adb pull /data/data/appname.apk का उपयोग करें


6

अपने सभी एप्लिकेशन का बैकअप लेने के लिए यह एक लाइनर बैश कमांड आज़माएं:

for package in $(adb shell pm list packages -3 | tr -d '\r' | sed 's/package://g'); do apk=$(adb shell pm path $package | tr -d '\r' | sed 's/package://g'); echo "Pulling $apk"; adb pull -p $apk "$package".apk; done

यह कमांड फायरलॉर्ड की स्क्रिप्ट से ली गई है । मैं सिर्फ elcuco की पटकथा के साथ इस मुद्दे को हल करने के लिए अपने पैकेज के नाम पर सभी apks का नाम बदला , यानी एक हीbase.apk एंड्रॉइड 6.0 "मार्शमैलो" और इसके बाद के संस्करण पर फाइल हो रही है।

ध्यान दें कि यह कमांड केवल 3 पार्टी ऐप्स का समर्थन करता है, coz मुझे अंतर्निहित ऐप्स का समर्थन करने की बात नहीं दिखती है। लेकिन अगर आप बैकअप सिस्टम ऐप भी चाहते हैं, तो -3विकल्प को छोड़ दें ।


5

यदि आप जानते हैं (या यदि आप "अनुमान लगा सकते हैं") पथ .apk(यह प्रारूप के लिए लगता/data/app/com.example.someapp-{1,2,..}.apk है, तो आप इसे बस से भी कॉपी कर सकते हैं /data/app। यह मेरे गैर-रूट किए गए, स्टॉक एंड्रॉइड फोन पर भी काम किया है।

बस एक टर्मिनल एमुलेटर ऐप का उपयोग करें (जैसे यह एक ) और चलाएं:

# step 1: confirm path
ls /data/app/com.example.someapp-1.apk
# if it doesn't show up, try -2, -3. Note that globbing (using *) doesn't work here.
# step 2: copy (make sure you adapt the path to match what you discovered above)
cp /data/app/com.example.someapp-1.apk /mnt/sdcard/

फिर आप इसे एसडी-कार्ड से जहां चाहें वहां ले जा सकते हैं (या इसे ईमेल आदि से जोड़ सकते हैं)। अंतिम बिट तकनीकी रूप से वैकल्पिक हो सकता है, लेकिन यह .apkफ़ाइल के साथ कुछ करने की कोशिश करते समय आपके जीवन को बहुत आसान बनाता है ।


5

यहां उल्लिखित प्रक्रियाएं एंड्रॉइड 7 (नूगाट) [और संभवतः एंड्रॉइड 6 के लिए काम नहीं करती हैं, लेकिन मैं सत्यापित करने में असमर्थ हूं]। आप .apk फ़ाइलों को सीधे Nougat के नीचे नहीं खींच सकते (जब तक कि रूट मोड में नहीं है, लेकिन इसके लिए रूट किए गए फोन की आवश्यकता है)। लेकिन, आप अदल-बदल का उपयोग कर फोन पर .apk को एक वैकल्पिक पथ (जैसे / sdcard / डाउनलोड) को कॉपी कर सकते हैं, फिर आप वैकल्पिक पथ से एक अदब पुल कर सकते हैं।


3
स्वीकृत उत्तर ( adb shell@Isa ए की टिप्पणी से आदेश सहित ) ने एंड्रॉइड 7.1.1 पर मेरे लिए ठीक काम किया, निहित नहीं।
जोनाथन कॉट्रिल

4
  1. आप अपने फोन से एपीके निकालने के लिए ऐप खोलें।
  2. वर्तमान में खोले गए एप्लिकेशन के साथ प्राप्त करें:

    adb shell dumpsys activity activities | grep mFocusedActivity
  3. पैकेज के नाम पर पथ प्राप्त करें

    adb shell pm path <packagename.apk>

4. पथ आप sdcard निर्देशिका के लिए मिला है

    adb shell cp /data/app/<packagename.apk> /sdcard

5.Pull APK

    adb pull /sdcard/base.apk

संपादित करें

यदि चरण संख्या 2 काम नहीं करता है तो इसका उपयोग करें:

adb shell dumpsys window windows | grep mCurrentFocus

3

यहाँ आप इसे कैसे करते हैं:

अपने डिवाइस में एपीके एक्सट्रैक्टर को डाउनलोड और इंस्टॉल करें। यह मुफ़्त है, और लगभग सभी Android उपकरणों में संगत है। एक और प्लस पॉइंट यह है कि इसे रूट या कुछ भी काम करने की आवश्यकता नहीं है। आपके द्वारा इसे स्थापित करने के बाद, इसे लॉन्च करें। वहां आपको उन ऐप्स की एक सूची दिखाई देगी जो आपके डिवाइस में हैं, जिसमें आपके द्वारा बाद में इंस्टॉल किए गए ऐप्स शामिल हैं, साथ ही सिस्टम ऐप्स भी शामिल हैं। आप जिस भी ऐप को एक्सट्रैक्ट करना चाहते हैं उसे लॉन्ग प्रेस करें (आप एक साथ कई या सभी ऐप को सिलेक्ट कर सकते हैं), और सबसे ऊपर दिख रहे एक्सट्रैक्ट ऑप्शन पर क्लिक करें। आपके पास ब्लूटूथ या मैसेजिंग के माध्यम से साझा करने का विकल्प भी होगा। आप कर रहे हैं, आपको AppName_AppPackage_AppVersionName_AppVersionCode.apk के रूप में निकाले गए ऐप दिखाई देंगे, जो पथ / sdcard / ExtractedApks / डिफ़ॉल्ट रूप से सहेजे जाएंगे।

Android में APK फ़ाइलों को निकालने के लिए विस्तृत विवरण के लिए , http://appslova.com/how-to-extract-apk-files-in-android/ पर जाएं।


3

इन सभी उत्तरों को डिवाइस से प्राप्त प्रत्येक एपीके फ़ाइल के लिए कई चरणों की आवश्यकता होती है। 1. पैकेज का नाम निर्धारित करें, 2. फ़ाइल ढूंढें, और 3. इसे डाउनलोड करें। मैंने किसी भी ऐप के लिए ऐसा करने के लिए एक सरल apk_grabberअजगर स्क्रिप्ट का निर्माण किया, जो किसी दिए गए rexx से मेल खाता है, और फिर उन एप्स को जार फाइलों में डिकम्पाइल करता है।


1

मैंने मोबाइल से .apk फ़ाइल को खींचने के लिए कोड का उपयोग नहीं किया है, लेकिन मैं सॉफ्टवेयर का उपयोग कर रहा हूँ। मोबाइल से और मेरे द्वारा उपयोग किए गए सॉफ्टवेयर से .kk फ़ाइल को Google play link के साथ नीचे दिया गया है:

  1. ES फ़ाइल एक्सप्लोरर फ़ाइल प्रबंधक
  2. एस्ट्रो क्लाउड एंड फाइल मैनेजर 3. सॉफ्टवेयर डेटा केबल

आशा है कि यह आपकी मदद करता है।


2
मैंने ES फ़ाइल एक्सप्लोरर का उपयोग किया। मैं जड़ नहीं हूं। मैं सिर्फ टूल्स में गया था -> ऐप मैनेजर और ऐप को लंबे समय तक दबाया था जो मुझे एपीके के लिए चाहिए था। इसने एप्लिकेशन का चयन किया (और मुझे दूसरों का चयन करने की अनुमति दी)। मुझे लगता है कि शेयर बटन दबाया और खुद को एपीके भेजने में सक्षम था (पुश बुलेट का उपयोग करके, लेकिन कभी भी आपके लिए क्या काम करता है)।
schultzter

यदि आप
रॉटेड

1

बहुत, बहुत आरामदायक 1 मिनट समाधान करना चाहते हैं?

बस आप यह ऐप https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (google play से स्मार्ट फ़ाइल मैनेजर)।

"एप्लिकेशन" टैप करें, एक चुनें और "बैकअप" पर टैप करें। यह आपके फ़ाइल सिस्टम पर app_backupफ़ोल्डर में समाप्त हो जाएगा ;)


1

कोई रूट और कोई ADB उपकरण आवश्यक विधि। प्ले स्टोर से MyAppSharer ऐप इंस्टॉल करें ।


1

मुझे एक मिला does not exist error

यहाँ है कि मैं इसे कैसे काम करता हूँ

adb shell pm list packages -f | findstr zalo
package:/data/app/com.zing.zalo-1/base.apk=com.zing.zalo

adb shell
mido:/ $ cp /data/app/com.zing.zalo-1/base.apk /sdcard/zalo.apk
mido:/ $ exit


adb pull /sdcard/zalo.apk Desktop

/sdcard/zalo.apk: 1 file pulled. 7.7 MB/s (41895394 bytes in 5.200s)

0

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

पेड्रो के संस्करण में सुधार:

  1. एंड्रॉइड 7 पर मूल दृष्टिकोण ने मेरे लिए काम नहीं किया: adb pullकुछ no such file or directoryसमय के लिए शिकायत करता रहाadb shell फ़ाइल तक करता रहा। इसलिए मैंने अस्थायी फ़ाइल के साथ, अलग-अलग दृष्टिकोण का उपयोग किया।
  2. जब बिना किसी तर्क के लॉन्च किया जाता है, तो मेरी स्क्रिप्ट सभी उपलब्ध पैकेजों को सूचीबद्ध करेगी। जब आंशिक पैकेज नाम प्रदान किया जाता है, तो यह पूर्ण पैकेज नाम का अनुमान लगाने की कोशिश करेगा। कई संभावित विस्तार होने पर यह शिकायत करेगा।
  3. मैं गंतव्य पथ को हार्डकोड नहीं करता; इसके बजाय APK को वर्तमान कार्यशील निर्देशिका में सहेजा जाता है।

इसे निष्पादन योग्य फ़ाइल में सहेजें:

#!/bin/bash
# Obtain APK file for given package from the device connected over ADB

if [ -z "$1" ]; then
    echo "Available packages: "
    adb shell pm list packages | sed 's/^package://'
    echo "You must pass a package to this function!"
    echo "Ex.: android_pull_apk \"com.android.contacts\""
    exit 1
fi

fullname=$(adb shell pm list packages | sed 's/^package://' | grep $1)
if [ -z "$fullname" ]; then
    echo "Could not find package matching $1"
    exit 1
fi
if [ $(echo "$fullname" | wc -l) -ne 1 ]; then
    echo "Too many packages matched:"
    echo "$fullname"
    exit 1
fi
echo "Will fetch APK for package $fullname"

apk_path="`adb shell pm path $fullname | sed -e 's/package://g' | tr '\n' ' ' | tr -d '[:space:]'`"
apk_name="`basename ${apk_path} | tr '\n' ' ' | tr -d '[:space:]'`"

destination="${fullname}.apk"

tmp=$(mktemp --dry-run --tmpdir=/sdcard --suffix=.apk)
adb shell cp "${apk_path}" "$tmp"
adb pull "$tmp" "$destination"
adb shell rm "$tmp"

[ $? -eq 0 ] && echo -e "\nAPK saved in \"$destination\""

0

सबसे सरल एक है: फोन पर "शेयर इट" ऐप इंस्टॉल करें। अब पीसी या अन्य फोन में शेयर इट ऐप इंस्टॉल करें। अब फोन से, जहां ऐप इंस्टॉल है, ShareIt खोलें और भेजें। अन्य फ़ोन या पीसी पर, ShareIt खोलें और प्राप्त करें।


0

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

download-apk.pl

#!/usr/bin/perl -w
# Automatically export all available installed APK's using adb
use strict;
print "Connect your device...\n";
system("adb", "wait-for-device");
open(my $OUT, '-|', 'adb', 'shell', 'pm', 'list', 'package', '-f');
my @list = split(/\s*/, `adb shell pm list packages -f`);
my $count = 0;
while(my $line = <$OUT>) {
        $line =~ s/^\s*|\s*$//g;
        my ($type, $path, $package) = $line =~ /^(.*?):(.*)=(.*)$/ ? ($1,$2,$3) : die('invalid line: '.$line);
        my $category = $path =~ /^\/(.*?)\// ? $1 : 'unknown';
        my $baseFile = $path =~ /\/([^\/]*)$/ ? $1 : die('Unknown basefile in path: '.$path);
        my $targetFile = "$category-$package.apk";
        print "$type $category $path $package $baseFile >> $targetFile\n";
        system("adb", "pull", $path);
        rename $baseFile, $targetFile;
}
  1. सुनिश्चित करें कि adb (.exe) आपके पथ या उसी निर्देशिका में है
  2. अपना फोन कनेक्ट करें
  3. डाउनलोड-apk.pl चलाएं

आउटपुट कुछ इस तरह है:

# ./download-apk.pl
Connect your device...
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
package system /system/app/YouTube/YouTube.apk com.google.android.youtube YouTube.apk >> system-com.google.android.youtube.apk
5054 KB/s (11149871 bytes in 2.154s)
package data /data/app/com.ghostsq.commander-1/base.apk com.ghostsq.commander base.apk >> data-com.ghostsq.commander.apk
3834 KB/s (1091570 bytes in 0.278s)
package data /data/app/de.blinkt.openvpn-2/base.apk de.blinkt.openvpn base.apk >> data-de.blinkt.openvpn.apk
5608 KB/s (16739178 bytes in 2.914s)
etc.

-1

यह किसी ऐसे व्यक्ति के लिए मदद करेगा जो गैर तकनीकी उत्तर की तलाश में है

यह सरल हैक है

App Share/Send Proगूगल प्ले स्टोर से एप्लीकेशन डाउनलोड करें । उस ऐप को चुनें जिसे आप भेजना चाहते हैं और एप्लिकेशन भेजना चाहते हैं।

मैं आमतौर पर अपने पीसी या किसी अन्य फोन पर एप्लिकेशन भेजने के लिए ब्लूटूथ का उपयोग करता हूं।


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