APK फ़ाइल से AndroidManifest.xml कैसे देखें?


309

क्या Androidmanifest.xmlफ़ाइल देखना संभव है ?

मैंने अभी फाइल का एक्सटेंशन बदल दिया apkहै zip। इस zipफ़ाइल में Androidmanifest.xmlफ़ाइल है। लेकिन मैं की सामग्री को देखने में असमर्थ हूँ Androidmanifest.xml। यह पूरी तरह से एन्क्रिप्टेड है।

मैं Androidmanifest.xmlफ़ाइल कैसे देख सकता हूँ ?


मेरे पास एक एपीके फाइल है। मुझे Androidmanifest.xml फ़ाइल देखने की आवश्यकता है। क्योंकि मैंने एक ढांचे का उपयोग किया है। उस एपीके फाइल में भी वही फ्रेमवर्क इस्तेमाल किया गया। इसलिए मुझे यह देखने की आवश्यकता है कि उस एपीके फ़ाइल से एंड्रॉइडनिफ़ेस्ट फ़ाइल को कैसे कॉन्फ़िगर किया जाए।
भरत

@ जेसन रोजर्स: AFAIK आप उस जानकारी को देख सकते हैं। देखें इस
विकास पाटीदार

जवाबों:


220

हां आप किसी XMLफाइल की फाइल देख सकते हैं Android APK। इसके लिए एक उपकरण है:android-apktool

यह रिवर्स इंजीनियरिंग 3rd पार्टी, बंद, बाइनरी एंड्रॉइड ऐप के लिए एक उपकरण है

अपने विंडोज सिस्टम पर यह कैसे करें:

  1. Apktool-install-windows- * फ़ाइल डाउनलोड करें
  2. Apktool- * फ़ाइल डाउनलोड करें
  3. अपनी Windows निर्देशिका में दोनों को अनपैक करें

अब APKफ़ाइल को उस निर्देशिका में भी कॉपी करें और अपने कमांड प्रॉम्प्ट में निम्न कमांड चलाएँ:

apktool d HelloWorld.apk ./HelloWorld

यह HelloWorldआपकी वर्तमान निर्देशिका में एक निर्देशिका " " बनाएगा । इसके अंदर आप AndroidManifest.xmlफ़ाइल को डिक्रिप्टेड प्रारूप में पा सकते हैं , और आप निर्देशिका के XMLअंदर अन्य फाइलें भी पा सकते हैं "HelloWorld/res/layout"

यहां HelloWorld.apkआपकी Android APK फ़ाइल है।

अधिक जानकारी के लिए नीचे स्क्रीन शॉट देखें: वैकल्पिक शब्द


15
यह अच्छा है, लेकिन मैं यह जानना चाहूंगा कि यह सब डाउनलोड करने के लिए बिना AndroidManifest.xml को कैसे देखना है। क्या यह एन्क्रिप्ट या संपीड़ित है?
जॉनीलांबाडा

1
@ जॉनीलम्बदा : हाँ आप इसे खोल सकते हैं और इसे एक आर्काइविंग टूल में देख सकते हैं जैसे: WinRar / WinZip / 7Zip लेकिन इसका कोई मतलब नहीं है क्योंकि यह एन्क्रिप्टेड रूप में है।
विकास पाटीदार

9
एपीकेटूल को हटा दिया गया है। नवीनतम संस्करण के लिए उनके प्रोजेक्ट मुखपृष्ठ का बेहतर संदर्भ लें ।
देकिंग

1
मुझे मिलता है: थ्रेड में अपवाद "मुख्य" brut.androlib.AndrolibException: कई संसाधन: brut.androlib.res.data.ResConfig.addResource (अज्ञात स्रोत)
विंडरेल

3
अब नवीनतम संस्करण के लिए कमांड बदल गया हैapktool d your_destination youraApk.apk
प्रणॉय सरकार

109

Android Studio अब यह दिखा सकता है। Build> पर जाएं Analyze APK...और अपना एपीके चुनें। तब आप AndroidManifset फ़ाइल की सामग्री देख सकते हैं।


3
यह सुविधा हाल ही में जोड़ी गई है और मैं यह भी सुझाव देना चाहूंगा कि जब तक आप कमांड लाइन का उपयोग करने के इच्छुक नहीं हैं और आपके पास अपने पथ में प्लेटफ़ॉर्म-टूल सेट हैं।
एंथनोनिमोरी

8
इसे सबसे अच्छा उत्तर बनने के लिए उखाड़ा जाना चाहिए, अन्य तरीके अब अनावश्यक रूप से जटिल हैं।
सेबास्टियन

3
इस बिल्ट-इन का एक कमांड-लाइन संस्करण है: stackoverflow.com/a/54874783/89818
caw

46

aapt d xmltree com.package.apk AndroidManifest.xml

AndroidManifest.xmlनिर्दिष्ट APK से डंप करेगा । यह XML रूप में नहीं है, लेकिन आप इसे अभी भी पढ़ सकते हैं।

aapt (एंड्रॉइड एसेट पैकेजिंग टूल) एक अंतर्निहित टूल है जो एंड्रॉइड एसडीके के साथ आता है।


45

इस थ्रेड में , डायने हैकबॉर्न हमें बताता है कि हम ऐप्ट का उपयोग करके AndroidManifest से जानकारी प्राप्त कर सकते हैं।

मैंने संस्करण जानकारी को हथियाने के लिए इस त्वरित यूनिक्स कमांड को मार दिया:

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p"

क्या एंड्रॉइड ऐप के भीतर भी ऐसा करना संभव है? भी, क्या यह संभव है कि सभी प्रकट फ़ाइल और न केवल संस्करण नाम प्राप्त करें?
एंड्रॉइड डेवलपर

36

Google ने एपीके के निरीक्षण के लिए एक क्रॉस-प्लेटफ़ॉर्म ओपन सोर्स टूल जारी किया है (कई अन्य बाइनरी एंड्रॉइड प्रारूपों के बीच):

ClassyShark Android डेवलपर्स के लिए एक स्टैंडअलोन बाइनरी निरीक्षण उपकरण है। यह मज़बूती से किसी भी एंड्रॉइड निष्पादन योग्य को ब्राउज़ कर सकता है और महत्वपूर्ण जानकारी जैसे क्लास इंटरफेस और सदस्य, डेक्स काउंट और निर्भरता दिखा सकता है। ClassyShark पुस्तकालयों (.dex, .aar, .so), निष्पादनयोग्य (.apk, .jar, .class) और सभी Android बाइनरी XMLs: AndroidManifest, रिसोर्स, लेआउट आदि सहित कई स्वरूपों का समर्थन करता है।

ClassyShark स्क्रीनशॉट


3
यह Apktool से 10000 गुना आसान है!
गुइलेरमे कैम्पोस हज़ान

18

आप उपयोग कर सकते हैं apkanalyzer, एपीके विश्लेषक का कमांड-लाइन संस्करण एंड्रॉइड एसडीके के साथ बंडल किया गया है। बस CLI पर निम्न कमांड निष्पादित करें:

/path/to/android-sdk/tools/bin/apkanalyzer manifest print /path/to/app.apk

आपको केवल /path/to/android-sdkएंड्रॉइड एसडीके के अपने संस्करण के लिए सही पथ के साथ बदलना होगा , और /path/to/app.apkअपनी एपीके फ़ाइल के पथ के साथ।


8
यह स्वीकृत उत्तर होना चाहिए क्योंकि इसे असत्यापित स्रोतों से कुछ भी स्थापित करने की आवश्यकता नहीं है।
c4k

ध्यान दें कि यह विंडोज पर काम नहीं करता है :( stackoverflow.com/a/54593118/997940
Yoav Feuerstein

मुझे त्रुटि मिलती है: थ्रेड में अपवाद "मुख्य" java.lang.IllegalStateException: उपकरण निर्देशिका गुण सेट नहीं है, कृपया सुनिश्चित करें कि आप एपीकेनलाइज़र को निष्पादित कर रहे हैं, मुझे नहीं पता कि इसे कैसे हल किया जाए
jk2x

यदि आप macOS पर हैं, तो यह सबसे अधिक संभव रास्ता है:~/Library/Android/sdk/tools/bin/apkanalyzer manifest print <apk>
फ्रेडरिक

15

आप इस कमांड का उपयोग कर सकते हैं: फाइल में सेव करें AndroidManifest.txt

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt

2
dके लिए एक संक्षिप्त नाम है dump, जो इस उत्तर को इस के समान बनाता है , जिसे एक वर्ष से अधिक समय पहले पोस्ट किया गया था।
डेन डस्केलस्कु

4
हां, लेकिन यह कोड फाइल में सेव होता है > AndroidManifest.txt
अहमद आगज़ादेह

लोल, यह एक ही जवाब है, फ़ाइल को डंप करने से फर्क नहीं
पड़ रहा है


7

एक ऑनलाइन टूल है जो आपको एपीके अपलोड करने की सुविधा देता है। यह इसे डिकम्पोज करता है और अंत में आपको सभी स्रोतों के साथ एक ज़िप डाउनलोड करने देता है, एक्सएमएल फ़ाइल प्रकट करता है और इसी तरह डिकम्पोज्ड होता है, यह सब आपके कंप्यूटर पर कोई प्रोग्राम इंस्टॉल किए बिना होता है: http: / /www.javadecompilers.com/apk

इसके अलावा, अगर आप सिर्फ कुछ यूआरएम पर अपनी यूआई द्वारा जाँच कर सकते हैं


अगस्त में एक
एपीके

एपीकेटल्स ने आउटपुट के साथ मेरे लिए एक निर्देशिका बनाने के लिए प्रतीत नहीं किया, और एपेट ने एक्सएमएल प्रारूप में परिणाम नहीं दिखाया। इस वेबसाइट ने एक आकर्षण की तरह काम किया।
kregus

6

AxmldecAndroidManifest.xml का उपयोग करके फ़ाइल को डीकोड करना :

axmldec -o output.xml AndroidManifest.xml

या

axmldec -o output.xml AndroidApp.apk

यह काम करता है और आसानी से Homebrew के माध्यम से स्थापित किया जा सकता है:brew tap ytsutano/toolbox brew install axmldec
gmoz22

5

AAP2, एंड्रॉइड एसडीके बिल्ड टूल में शामिल यह कर सकता है - किसी तीसरे पक्ष के उपकरण की आवश्यकता नहीं है।

$(ANDROID_SDK)/build-tools/28.0.3/aapt2 d --file AndroidManifest.xml app-foo-release.apk

निर्माण-उपकरण v29 से शुरू करके आपको कमांड जोड़ना होगा xmltree:

$(ANDROID_SDK)/build-tools/29.0.3/aapt2 d xmltree --file AndroidManifest.xml app-foo-release.apk

यह मूल XML का उत्पादन नहीं करता है, लेकिन यह साफ-सुथरा है अगर मुझे एपीके को निकालने या अस्थायी फाइल पर लिखने के बिना सिर्फ एक मूल्य को देखने की जरूरत है।
रज़ियल

2

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


0

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


-1

फ़ाइल को विघटित करने की आवश्यकता है (या यह सुनिश्चित नहीं करना चाहिए कि कौन सा है)। लेकिन यहाँ यह करने का एक और तरीका है:

-Download free Tickle My Android tool on XDA: https://forum.xda-developers.com/showthread.php?t=1633333https://forum.xda-developers.com/showthread.php?t=1633333
-Unzip
-Copy APK into \_WorkArea1\_in\ folder
-Open "Tickle My Android.exe"
-Theming Menu
-Decompile Files->Any key to continue (ignore warning)
-Decompile Files->1->[Enter]->y[Enter]
-Wait for it to decompile in new window... Done when new window closes
-Decompiled/viewable files will be here: \_WorkArea3\_working\[App]\

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