APK ऐनालाइज़र का कमांड-लाइन वर्शन, निर्माण प्रक्रिया पूरी होने के बाद आपके APK का कंपोज़िशन इस्तेमाल करता है और आपको दो APK के बीच के अंतर की तुलना करें. APK ऐनालाइज़र का इस्तेमाल करने से आपको अपने ऐप्लिकेशन में मौजूद DEX फ़ाइलों और संसाधनों को डीबग करने में लगने वाला समय और APK का साइज़ कम कर देता है.
apkanalyzer
को इसमें शामिल किया गया है
Android SDK Command-Line Tools पैकेज:
android_sdk/cmdline-tools/version/bin/apkanalyzer
.
इसके अलावा, APK ऐनालाइज़र टूल को
Android Studio, जैसा कि इसमें बताया गया है
APK ऐनालाइज़र की मदद से अपने बिल्ड का विश्लेषण करना.
वाक्य-विन्यास
apkanalyzer
का सिंटैक्स यह है:
apkanalyzer [global-options] subject verb [options] apk-file [apk-file2]
subject
वह है जो आप क्वेरी करना चाहते हैं और यह पूरा APK हो सकता है
या APK का कोई हिस्सा हो. विषय इनमें से कोई भी हो सकता है:
apk
: APK फ़ाइल के एट्रिब्यूट का विश्लेषण करने के लिए ऐप्लिकेशन आईडी, वर्शन कोड, और वर्शन का नाम डालें.files
: APK फ़ाइल में मौजूद फ़ाइलों का विश्लेषण करें.manifest
: APK फ़ाइल में मेनिफ़ेस्ट के कॉन्टेंट का विश्लेषण करता है.dex
: APK फ़ाइल में मौजूद DEX फ़ाइलों का विश्लेषण करें.resources
: टेक्स्ट, इमेज, और स्ट्रिंग रिसॉर्स देखें.
verb
में आपको इस विषय के बारे में जानकारी चाहिए. विषय,
क्रियाओं और उनके विकल्पों के बारे में नीचे दिए गए सेक्शन में कमांड के बारे में बताया गया है.
हर निर्देश के लिए यह ज़रूरी है कि आप एक APK फ़ाइल तय करें. सिर्फ़
apk compare
निर्देश के लिए ज़रूरी है कि आप दूसरा APK तय करें.
हर विकल्प को तब तक छोटा किया जा सकता है, जब तक कि विकल्प साफ़ तौर पर समझ में न आ रहा हो. उदाहरण के लिए,
--human-readable
ग्लोबल विकल्प को छोटा करके
-h
.
यहां दिए गए उदाहरण में, apk
(विषय) का विश्लेषण किया गया है
file-size
(कार्रवाई) पाने के लिए, और फिर फ़ाइल का साइज़
लोग इसे आसानी से पढ़ सकते हैं (-h
विकल्प):
apkanalyzer -h apk file-size myapk.apk
निर्देश
नीचे दिए गए कमांड की जानकारी को सब्जेक्ट के हिसाब से व्यवस्थित किया गया है. साथ ही, हर विषय के लिए क्रिया और विकल्प के उपलब्ध कॉम्बिनेशन:
|
ब्यौरा |
---|---|
apk summary apk-file
|
ऐप्लिकेशन आईडी, वर्शन कोड, और वर्शन नाम प्रिंट करता है.
आउटपुट का उदाहरण: com.myapp 5 1.1-beta |
apk file-size apk-file
|
APK का कुल फ़ाइल साइज़ प्रिंट करता है. |
apk download-size apk-file
|
APK के डाउनलोड साइज़ का अनुमान प्रिंट करता है. |
apk features [--not-required] apk-file
|
ट्रिगर करने वाले APK की ओर से इस्तेमाल की जाने वाली प्रिंट सुविधाएं
Play Store से फ़िल्टर करना
. --not-required विकल्प जोड़ें
आउटपुट में 'ज़रूरी नहीं' के तौर पर मार्क की गई सुविधाओं को शामिल करने के लिए.
आउटपुट का उदाहरण: android.hardware.type.watch android.hardware.microphone implied: requested android.permission.RECORD_AUDIO permissionअभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है |
apk compare [options] apk-file
apk-file2
|
यह apk-file और
apk-file2 .
आपके पास इन विकल्पों को शामिल करने का विकल्प होता है:
आउटपुट के उदाहरण (पुराना साइज़ / नया साइज़ / साइज़ में अंतर / पाथ): 39086736 48855615 9768879 / 10678448 11039232 360784 /classes.dex 18968956 18968956 0 /lib/ 110576 110100 -476 /AndroidManifest.xml ...अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है |
APK फ़ाइल सिस्टम देखें | ब्यौरा |
files list apk-file
|
यह APK में मौजूद सभी फ़ाइलों की सूची बनाता है.
आउटपुट का उदाहरण: / /classes2.dex /classes.dex /assets/ /assets/asset.data /AndroidManifest.xml /resources.arsc /res/ ... |
files cat --file path apk-file
|
फ़ाइल का कॉन्टेंट प्रिंट करता है. आपको APK के अंदर का पाथ तय करना होगा.
--file path विकल्प, जैसे कि --file
/AndroidManifest.xml
|
मेनिफ़ेस्ट में जानकारी देखें | ब्यौरा |
manifest print apk-file
|
APK मेनिफ़ेस्ट को एक्सएमएल फ़ॉर्मैट में प्रिंट करता है. |
manifest application-id apk-file
|
ऐप्लिकेशन आईडी की वैल्यू प्रिंट करता है. |
manifest version-name apk-file
|
वर्शन के नाम की वैल्यू प्रिंट करता है. |
manifest version-code apk-file
|
वर्शन कोड की वैल्यू प्रिंट करता है. |
manifest min-sdk apk-file
| SDK टूल के कम से कम वर्शन को प्रिंट करता है. |
manifest target-sdk apk-file
|
SDK टूल के टारगेट वर्शन को प्रिंट करता है. |
manifest permissions apk-file
|
अनुमतियों की सूची प्रिंट करता है. |
manifest debuggable apk-file
|
यह प्रिंट करता है कि ऐप्लिकेशन डीबग करने लायक है या नहीं. |
DEX फ़ाइल की जानकारी ऐक्सेस करें | ब्यौरा |
dex list apk-file
|
APK में मौजूद DEX फ़ाइलों की सूची प्रिंट करता है. |
dex references [--files path] [--files path2]
apk-file
|
बताई गई DEX फ़ाइलों में, तरीके के रेफ़रंस की संख्या प्रिंट करता है.
डिफ़ॉल्ट तौर पर, सभी DEX फ़ाइलें सेव होती हैं. --files विकल्प को इसमें जोड़ें
उन फ़ाइलों को दिखाएं जिन्हें शामिल करना है.
आउटपुट का उदाहरण: classes.dex 59598 classes2.dex 8042 |
dex packages [option1 option2 ...] apk-file
|
DEX से क्लास ट्री प्रिंट करता है. आउटपुट में, P ,
C , M , और F पैकेज के बारे में बताते हैं,
क्लास, मेथड, और फ़ील्ड शामिल हैं. और x ,
k , r , और d से पता चलता है कि इन्हें हटाया गया, सेव रखा गया, और
बताए गए और तय किए गए नोड, दोनों का इस्तेमाल किया जा सकता है.
आउटपुट को बेहतर बनाने के लिए, इन विकल्पों को जोड़ें:
आउटपुट का उदाहरण (टाइप/स्टेट/तय किए गए तरीके/रेफ़रंस मेथड /बाइट का साइज़/नाम): P d 1 1 85 g P d 1 1 85 g.a C d 1 1 85 g.a.a M d 1 1 45 g.a.a java.lang.Object get() C r 0 1 40 byte[] M r 0 1 40 byte[] java.lang.Object clone() |
dex code --class class [--method method]
|
किसी क्लास या तरीके के बाइट कोड को स्माली फ़ॉर्मैट में प्रिंट करता है. क्लास का नाम
की आवश्यकता होती है और डिकोड करने के लिए पूरी तरह क्वालिफ़ाइड क्लास का नाम प्रिंट करता है. जोड़ें
डिकंपाइल करने का तरीका बताने के लिए --method विकल्प.
फ़ॉर्मैट
डिकंपाइल करने का तरीका |
res/ औरresource.arsc में सेव किए गए संसाधन देखें | ब्यौरा |
resources packages
|
संसाधनों की टेबल में बताए गए पैकेज की सूची प्रिंट करता है. |
resources configs --type type [--package package] apk-file
|
बताए गए type के लिए कॉन्फ़िगरेशन की सूची प्रिंट करता है.
type एक संसाधन टाइप है, जैसे कि string .
--package शामिल करें
विकल्प है, तो आपको संसाधन टेबल के पैकेज का नाम बताना होगा.
पहले तय किए गए पैकेज का इस्तेमाल किया जाएगा.
|
resources value --config config --name name
--type type [--package package] apk-file
|
config के ज़रिए तय किए गए संसाधन का मान प्रिंट करता है,
name और type . कॉन्टेंट बनाने
type विकल्प, संसाधन का टाइप है, जैसे
string .
|
resources names --config config --type type
[--package package] apk-file
|
कॉन्फ़िगरेशन और टाइप के लिए, संसाधन के नामों की सूची प्रिंट करता है. कॉन्टेंट बनाने
type विकल्प, संसाधन का टाइप है, जैसे
string .
--package शामिल करें
विकल्प है, तो आपको संसाधन टेबल के पैकेज का नाम बताना होगा.
पहले तय किए गए पैकेज का इस्तेमाल किया जाएगा.
|
resources xml --file path apk-file
|
इसकी मदद से, बाइनरी एक्सएमएल फ़ाइल के ऐसे फ़ॉर्मैट को प्रिंट किया जा सकता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.
यह शामिल करें
फ़ाइल का पाथ बताने के लिए, file विकल्प.
|