क्या मुझे एक स्थापित ऐप की .apk फ़ाइल मिल सकती है?


9

मैंने एक क्वालकॉम डिवाइस पर अपने ऐप .apk फ़ाइल को तैनात किया है। अब मेरी बुरी किस्मत के कारण मेरा लैपटॉप जिस पर विकसित किया गया था, चोरी हो गया। तो क्या मेरे पास मेरा ऐप कोड नहीं है। हालाँकि मेरे पास वह उपकरण है जिस पर मैंने पहले अपना ऐप इंस्टॉल किया था।

तो मेरा सवाल यह है कि क्या मैं इस डिवाइस से अपने ऐप .apk फ़ाइल प्राप्त कर सकता हूं? यदि हाँ, तो कृपया मुझे बताएँ कि कैसे प्राप्त करें।

कोई मदद सराहनीय है।

धन्यवाद, गौरव

जवाबों:


10

पर स्थित होना चाहिए /data/app/। यदि आपके पास रूट है तो आप सीधे पहुंच सकते हैं। यदि नहीं, तो आपको उपयोग करना होगा adb pull। उदाहरण के लिए:

adb pull /data/app/myapp.apk C: \ backup \ myapp.apk

अधिक जानकारी के लिए adb: http://developer.android.com/guide/developing/tools/adb.html


4

अगर आपको एपीके का इंस्टॉल किया हुआ फ़ाइल नाम पता है (जो कुछ डिवाइस पर myapp.apk के बजाय myapp-1.apk या myapp.apk हो सकता है) तो आप सीधे उस तक पहुंच सकते हैं जैसे कि एक साधारण उपयोगकर्ता के रूप में जिसमें एक adb चलता है एक सुरक्षित डिवाइस पर, इसलिए आपको इसे खींचने में सक्षम होना चाहिए। लेकिन अगर आपको इंस्टॉल किए गए एपीके नाम का पता नहीं है , तो आप रूट / सहायता_सिस्टम के बिना / डेटा / ऐप निर्देशिका ब्राउज़ नहीं कर सकते।

यह स्थापित नाम पर केवल अनुमान लगाने के लायक हो सकता है - इसे सादा करने की कोशिश करें, इसे -1.apk, और -2.kk, आदि के साथ आज़माएं।

एक और तरीका हो सकता है: मेरा मानना ​​है कि निम्नलिखित एक सुरक्षित डिवाइस पर काम करेगा लेकिन इसका परीक्षण करने के लिए मेरे सामने कोई नहीं है।

संपादित करें: सटीक एपीके फ़ाइल नाम का निर्धारण करने के लिए नया विचार

1) अदब पुल /data/system/packages.xml

2) अपने आवेदन के कोडपाठ प्रविष्टि के लिए इसके माध्यम से देखें

3) अदब कि खींचो

EDIT: नीचे दिए गए पुराने विचार के संबंध में, मैथ्यू ने पाया कि प्रति-प्रक्रिया फ़ाइलों के तहत / खरीद ने किसी सुरक्षित डिवाइस पर पढ़ने की अनुमति दी है, वे खाली हैं जब उनके मालिक के अलावा अन्य किसी अनपेक्षित यूआईडी द्वारा पढ़ा जाता है। तो यह काम नहीं करेगा।


1) अपना ऐप चलाएं। आपको adb वाली मशीन की भी आवश्यकता होगी।

2) टाइप करें

adb shell ps 

और अपने ऐप के नाम के साथ लाइन खोजें:

app_1     11959 907   112984 27580 ffffffff afd0c5bc S com.clevername.myapp

3) दूसरे कॉलम में नंबर लें जो कि प्रोसेस आईडी है, और यह वर्चुअल मेमोरी मैप है, इस मामले में मैं टाइप करूंगा

adb shell cat /proc/11959/maps

और उस लाइन की तलाश करें जहां उसने अपनी खुद की एपीके फाइल को मेमोरी में मैप किया हो

43e9c000-43ea3000 r--s 001f4000 b3:06 15393      /data/app/com.clevername.myapp-1.apk

4) वह फ़ाइल नाम है जिसे आपको adb पुल करना होगा

adb pull /data/app/com.clevername.myapp-1.apk .

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

परिशिष्ट: मुझे वास्तव में यकीन नहीं है कि एसडी कार्ड में इंस्टॉल किए गए ऐप्स पर कहानी क्या है।


मैंने अपने सुरक्षित डिवाइस पर बस कोशिश की; adb shell cat /proc/####/mapsदुर्भाग्य से कुछ भी नहीं है।
मैथ्यू

@ मैथ्यू ... अजीब, मैं सुरक्षित मामले का अनुकरण कर रहा हूं और अधिकांश फाइलों को शून्य आकार में देख रहा हूं, लेकिन पठनीय हैं। इससे पहले कि मैं केवल जाँच करता कि उन्होंने अनुमतियाँ पढ़ी होंगी। हो सकता है कि यह अनुमतियों के बजाय उन्हें शून्य करने के द्वारा किया गया हो ताकि पढ़ने के साधनों को प्राप्त करने में एक्सेस त्रुटियों की एक निरंतर धारा न मिले। ओह अच्छी तरह से ... स्थापित APK नाम संस्करण पर अनुमान लगाने का सबसे अच्छा हो सकता है।
क्रिस स्ट्रैटन

मेरा apk फ़ाइलनाम सभी पागल और अभेद्य था, लेकिन package.xml का उपयोग करके वास्तविक नाम का पता लगाने के लिए काम किया। :)
पालेजोज़ोग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.