एंड्रॉइड के लिए एपीके संपादन के लिए कार्यक्रम। अपने कंप्यूटर पर एपीके फ़ाइलों को कैसे संपादित करें

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

एपीके फ़ाइल क्या है?

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

इसकी संरचना डेवलपर द्वारा डाल्विक या एआरटी वर्चुअल मशीन वातावरण में चलाने के लिए तैयार की जाती है। ये मशीनें एंड्रॉइड ओएस में निर्मित हैं, और ये आपके डिवाइस पर मौजूद सभी एप्लिकेशन चलाती हैं।

एपीके फ़ाइल अपने आप में एक नियमित संग्रह है जिसे आप किसी भी संग्रहकर्ता के साथ खोल सकते हैं विंडोज़ वातावरण. उदाहरण के लिए, WinRAR, या एक फ़ाइल प्रबंधक जो ज़िप संग्रह खोलता है। आइए देखें अंदर क्या है.

  • डेक्स एक्सटेंशन (नाम कोई भी हो सकता है) के साथ एक निष्पादन योग्य फ़ाइल, जो बिल्कुल प्रोग्राम कोड है।
  • इसके बगल में resource.arsc है, यह संसाधनों की एक रजिस्ट्री है जिसका प्रोग्राम को उपयोग करना चाहिए। यह XML प्रारूप में एक संरचना है.
  • AndroidManifest.xml किसी भी प्रोग्राम के लिए एक अनिवार्य फ़ाइल है, एक मेनिफेस्ट जिसमें इसके बारे में बुनियादी जानकारी होती है। यहां, उदाहरण के लिए, प्रोग्राम संस्करण, आवश्यक एंड्रॉइड संस्करण, डेवलपर के बारे में जानकारी, आवश्यक स्क्रीन रिज़ॉल्यूशन इत्यादि रिकॉर्ड किए जा सकते हैं।
  • Res निर्देशिका में आंतरिक संसाधन होते हैं जिनकी प्रोग्राम को काम करने के लिए आवश्यकता होती है। सभी चित्र, चिह्न, आइकन, मानचित्र इत्यादि यहां हो सकते हैं।
  • लिब निर्देशिका - प्रोग्राम चलाने के लिए मूल लाइब्रेरी, उदाहरण के लिए, C++ कोड। यदि पुस्तकालयों का उपयोग नहीं किया जाता है तो यह निर्देशिका मौजूद नहीं हो सकती है।
  • संपत्ति निर्देशिका एप्लिकेशन के लिए अतिरिक्त संसाधन है, और कभी-कभी गायब भी हो सकती है। किन संसाधनों का उपयोग किया जाना चाहिए, इसका वर्णन resource.arsc फ़ाइल में किया गया है।
  • मेटा-आईएनएफ निर्देशिका - प्रोग्राम मेटाडेटा। उदाहरण के लिए, फ़ाइल MANIFEST.MF, जिसमें डेटा और उनके पथ शामिल हो सकते हैं चेकसम. आरएसए प्रमाणपत्र फ़ाइलें, मेनिफेस्ट-संस्करण जानकारी और समान सेवा जानकारी यहां संग्रहीत की जा सकती है।

लोकप्रिय ARK फ़ाइल संपादकों की समीक्षा

जैसा कि पहले ही उल्लेख किया गया है, आप किसी भी ज़िप संग्रहकर्ता का उपयोग करके एपीके फ़ाइल को अनपैक कर सकते हैं। इसके बाद आप वहां संग्रहीत संसाधनों को देख पाएंगे।

छवियों के साथ कोई समस्या नहीं होगी; उन्हें किसी भी उपयुक्त प्रोग्राम में खोला जा सकता है। XML प्रारूप को किसी भी टेक्स्ट एडिटर के साथ खोला जा सकता है, उदाहरण के लिए नोटपैड++। यदि आप जानते हैं कि यह प्रारूप कैसे काम करता है, तो आप उन्हें पहले ही संपादित कर सकते हैं। लेकिन संकलित निष्पादन योग्य फ़ाइलों के लिए आपको विशेष टूल का उपयोग करना होगा।

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

एंड्रॉइड एसडीके. जैसा कि नाम से पता चलता है, यह एक विशेष विकास उपकरण है मोबाइल प्रोग्रामविशेष रूप से Android के लिए. इसकी मदद से, आप किसी और के एप्लिकेशन की निष्पादन योग्य फ़ाइलों को आसानी से डिकंपाइल कर सकते हैं, या स्क्रैच से अपना खुद का लिख ​​सकते हैं। इसमें अंतर यह है कि यह वैकल्पिक रूप से आपके कोड को डिबगिंग और परीक्षण करने के लिए, विभिन्न गैजेट्स के साथ संगतता के लिए प्रोग्राम का परीक्षण करने आदि के लिए विभिन्न मॉड्यूल जोड़ता है।

एपीके डाउनलोडर. यह के लिए एक प्लगइन है क्रोम ब्राउज़र, जिससे किसी भी साइट से एपीके प्रोग्राम डाउनलोड करना और उनकी संरचना देखना बहुत आसान हो जाता है। ऐसा करने के लिए, आपको Google Play पर पंजीकृत होने की भी आवश्यकता नहीं है।

एपीके संपादक. एक संपादक जो आपको एपीके पैकेज के अंदर संसाधनों के साथ काम करने की अनुमति देता है। एक्लिप्स जितना शक्तिशाली नहीं है, लेकिन यह कई सरल समस्याओं का समाधान करता है। उदाहरण के लिए, आप प्रोग्राम से विज्ञापन ब्लॉक हटा सकते हैं, इंटरफ़ेस को Russify कर सकते हैं, आइकन या टेक्सचर को अपने से बदल सकते हैं, और भी बहुत कुछ।

एपीके एक प्रारूप है जिसका उपयोग एंड्रॉइड ऑपरेटिंग सिस्टम में संग्रहीत निष्पादन योग्य एप्लिकेशन फ़ाइलों के लिए किया जाता है। उदाहरण के लिए, विंडोज़ में एनालॉग .msi है, सिम्बियन में - .sis, लिनक्स में - .rpm या .deb। इस लेख में हम इस फ़ाइल प्रारूप से संबंधित सभी मुद्दों को यथासंभव विस्तार से समझेंगे।

"सही ढंग से" अलग करने, संपादित करने और संयोजन करने की प्रक्रिया को रिवर्स-इंजीनियरिंग कहा जाता है। इसके लिए क्या आवश्यक है? निम्नलिखित उपकरण आवश्यक हैं:

Apktool. SmartApktool शेल के साथ उपयोग करना अधिक सुविधाजनक है; आप तैयार बैच फ़ाइलों का भी उपयोग कर सकते हैं, उदाहरण के लिए ApktoolBAT।

नोटपैड++ - आवश्यक नहीं, लेकिन अत्यधिक अनुशंसित।

7zip या WinRar, या कोई अन्य संग्रहकर्ता प्रोग्राम, लेकिन इनमें से एक की अनुशंसा की जाती है।

डीओडेक्स्ड फर्मवेयर।

एंड्रॉइड ऑपरेटिंग सिस्टम पर एप्लिकेशन इंस्टॉल करने के कई तरीके हैं। पहला, मुख्य भी, सीधे Google Play (एंड्रॉइड मार्केट) के माध्यम से होता है, यानी आधिकारिक स्रोत से, जिसके लिए Google खाते की आवश्यकता होती है। कई एप्लिकेशन भुगतान किए जाते हैं, यदि आप पायरेटेड साइटों पर हैक किए गए संस्करण की तलाश नहीं करना चाहते हैं, तो आपको खरीदारी के लिए भुगतान करना होगा। लेकिन हम इस बारे में बात करेंगे कि इसे कैसे किया जाए। दूसरा Google Play के अलावा अनौपचारिक स्रोतों से है, जिसके लिए आपको अपने स्मार्टफोन या टैबलेट की सेटिंग्स में "अनौपचारिक स्रोतों से एप्लिकेशन की स्थापना की अनुमति दें" विकल्प को सक्षम करना होगा, जिसके बाद एपीके इंस्टॉलेशन फ़ाइल को मेमोरी में लिखना होगा कार्ड.

इसे थोक में स्थापित करना भी संभव है एपीके अनुप्रयोग. इसके लिए एस्ट्रो की आवश्यकता है फ़ाइल मैनेजर- एक विशेष फ़ाइल प्रबंधक. इसे इंस्टॉल करने के बाद, एप्लिकेशन को स्थानांतरित करें:

स्मार्टफोन/टैबलेट से: in mntsdcardackupsapp(दूसरे शब्दों में, मेमोरी कार्ड, फिर बैकअप फ़ोल्डर, ऐप फ़ोल्डर)

पर्सनल कंप्यूटर से (सरल यूएसबी ड्राइव मोड में एंड्रॉइड डिवाइस के कनेक्शन को सक्षम करना न भूलें): एसडी कार्डबैकअपअनुप्रयोग

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

यह देखना काफी आसान है कि एपीके फ़ाइल की संरचना क्या है। एक संग्रहकर्ता प्रोग्राम का उपयोग करके वांछित एपीके खोलें, उदाहरण के लिए, WinRar। यहाँ हम अंदर क्या देखते हैं:

AndroidManifest.xmlएक प्रकार का "पासपोर्ट" है जो बताता है कि आवेदन में क्या है, जिसमें शामिल हैं: सिस्टम आवश्यकताएंएप्लिकेशन, इसकी संरचना और संस्करण के लिए।

मेटा-आईएनएफ-फ़ोल्डर जिसमें फ़ाइल है मेनिफेस्ट.एमएफ(इसे लगभग किसी भी टेक्स्ट एडिटर के साथ खोला जा सकता है, नोटपैड++ का उपयोग करने की अनुशंसा की जाती है), जिसे खोलकर आप SHA-1 चेकसम और डेटा पथ, मेनिफेस्ट-संस्करण मानक का संस्करण, RSA या DSA प्रमाणपत्र फ़ाइलें, SF देख सकते हैं फ़ाइल में विभिन्न संसाधनों और उनके चेकसम के पथ शामिल हैं। सामान्य तौर पर, मेटा-आईएनएफ मेटाडेटा फ़ाइलें हैं, यानी डेटा के बारे में डेटा।

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

क्लासेस.डेक्स- प्रोग्राम कोड निष्पादित आभासी मशीनदल्विक वी.एम. आइए याद रखें कि एंड्रॉइड ऑपरेटिंग सिस्टम लिनक्स कर्नेल और जावा वर्चुअल मशीन का मिश्रण है।

संसाधन.arsc- संकलित XML फ़ाइल. इसमें प्रोग्राम द्वारा उपयोग किए जाने वाले सभी संसाधनों के बारे में डेटा शामिल है।

संपत्ति- एक फ़ोल्डर जिसमें विभिन्न संसाधन भी शामिल हैं, यह एपीके में बिल्कुल भी नहीं हो सकता है;

उदारीकरण- एक फ़ोल्डर जिसमें "libs" या, अधिक सरलता से, मूल लाइब्रेरीज़ शामिल हैं, यदि प्रोग्राम NDK का उपयोग करके लिखा गया है, उदाहरण के लिए C++ के तत्वों के साथ। यह निर्देशिका APK में नहीं हो सकती है.

कॉम- एपीके में नहीं हो सकता है।

संगठन- एपीके में नहीं हो सकता है।

udk- एपीके में नहीं हो सकता है।

हमने एपीके एप्लिकेशन की सामग्री से निपट लिया है, अब इसके विस्तृत निराकरण के लिए आगे बढ़ें। विसंकलन के लिए आपको Apktool और Java के साथ-साथ APK फ़ाइल की भी आवश्यकता होगी। Apktool को एक निर्देशिका में अनपैक करने की अनुशंसा की जाती है सी:खिड़कियाँ(यह आवश्यक नहीं है, लेकिन यह अधिक सुविधाजनक होगा। क्यों - थोड़ा नीचे पढ़ें)।

Apktool लॉन्च करने के लिए, आपको अपने कंप्यूटर के "रन" मेनू में प्रवेश करना होगा। Windows XP पर क्लिक करें प्रारंभ -> चलाएँ, विंडोज 7 पर: टास्क मैनेजर ( Ctrl+ऑल्ट+डेल), ड्रॉप-डाउन मेनू में सबसे ऊपर फ़ाइल -> नया कार्य (चलाएँ...), या बस इसे कीबोर्ड शॉर्टकट से कॉल करें जीत+आर.

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

यदि आप लगातार टेक्स्ट कमांड दर्ज करने से परेशान नहीं होना चाहते हैं, तो आप ग्राफिकल इंटरफ़ेस का उपयोग कर सकते हैं - उदाहरण के लिए, उल्लिखित स्मार्टएपीकेटूल। SmartApkTool.exe लॉन्च करें, फिर अनपैक/पैक टैब में वांछित एपीके एप्लिकेशन का चयन करें (यह महत्वपूर्ण है कि फ़ाइल नाम में रिक्त स्थान, सिरिलिक, विशेष वर्ण और विराम चिह्न न हों)।

अनपैक करने के बाद, प्रोग्राम एपीके फ़ाइल के समान नाम से एक फ़ोल्डर बनाएगा। इसके अंदर एप्लिकेशन की सभी सामग्री होगी।

एपीके को स्थानीयकृत भी किया जा सकता है। इससे पहले कि हम ऐसा करना शुरू करें, हम पहले से स्थापित नोटपैड++ लॉन्च करते हैं और इसे निम्नानुसार कॉन्फ़िगर करते हैं। प्रारंभिक सेटिंग्स -> कॉन्फ़िगरेशन -> नया दस्तावेज़.

इन चरणों के बाद, अनपैक्ड (डिकंपाइल्ड) एप्लिकेशन, फ़ोल्डर खोलें रेस/मान.

सभी स्थानीयकरण अक्सर फ़ाइल में स्थित होते हैं तार.एक्सएमएल, लेकिन कभी-कभी उनमें से कुछ भी इसमें समाहित हो सकते हैं सरणियाँ।एक्सएमएल. इन फ़ाइलों को कॉपी करें और उन्हें एक फ़ोल्डर में बनाएं आर ईफ़ोल्डर मूल्य-आरयूऔर उन्हें इसमें डालें।

अब आप खोल सकते हैं तार.एक्सएमएलनोटपैड++ का उपयोग करके, अनुवाद करें और बदली हुई फ़ाइल को सहेजें।

फाइल मैं AndroidManifest.एक्सएमएलआप निर्दिष्ट कर सकते हैं कि एपीके एप्लिकेशन कहां इंस्टॉल करें। कृपया ध्यान दें, यह केवल इसके लिए मान्य है एंड्रॉइड संस्करण 2.2 और नया। तो, नोटपैड++ का उपयोग करके निर्दिष्ट फ़ाइल खोलें। लगभग शुरुआत में ही आप पैरामीटर देख सकते हैं:

यहां आप निम्नलिखित विकल्प निर्दिष्ट कर सकते हैं ("=" चिह्न के बाद):

केवल आंतरिक- एप्लिकेशन केवल डिवाइस की आंतरिक मेमोरी में इंस्टॉल किया जाएगा

ऑटो- उपयोगकर्ता को एप्लिकेशन इंस्टॉल करने का विकल्प प्रदान करता है आंतरिक मेमॉरीया मेमोरी कार्ड के लिए

बाहरी को प्राथमिकता दें- प्रोग्राम मेमोरी कार्ड पर इंस्टॉल हो जाएगा। कृपया ध्यान दें कि इंस्टॉल होने पर सभी एप्लिकेशन सही ढंग से काम नहीं करेंगे बाह्य भंडारण, या वे बिल्कुल भी क्रियाशील नहीं होंगे। इसमे शामिल है:

सेवाएं- वह है, सेवाएँ

अलार्म सेवाएँ- ऐसी सेवाएँ जो समय का उपयोग करती हैं, जैसे अलार्म घड़ियाँ

इनपुट मेथड इंजन- विभिन्न कीबोर्ड सहित इनपुट एप्लिकेशन

लाइव वॉलपेपर- "लाइव" एनिमेटेड वॉलपेपर

रहनाफ़ोल्डर- क्रमशः, एनिमेटेड निर्देशिकाएँ

अनुप्रयोगविजेट- विभिन्न "विजेट"

खाताप्रबंधकों- आईसीक्यू ग्राहकों, ग्राहकों सहित विभिन्न खातों के प्रबंधक सोशल नेटवर्कऔर इसी तरह

सिंक एडेप्टर- ऐसे प्रोग्राम जिन्हें निरंतर सिंक्रनाइज़ेशन की आवश्यकता होती है

उपकरणव्यवस्थापकों-ऐप्लिकेशन जो प्रशासन के लिए उपयोग किए जाते हैं

प्रतिलिपि सुरक्षा- ऐसे एप्लिकेशन जो प्रतिलिपि बनाने से सुरक्षित हैं।

एप्लिकेशन में, आप यूजर इंटरफेस के विभिन्न आइकन और ग्राफिकल तत्वों को संपादित और प्रतिस्थापित कर सकते हैं। ऐसा करने के लिए, फ़ोल्डर खोलें आर ईविघटित एपीके एप्लिकेशन वाले फ़ोल्डर में, यहां आप फ़ोल्डर्स देख सकते हैं:

खींचने योग्य-एचडीपीआई

खींचने योग्य-एलडीपीआई

इन फ़ोल्डरों में प्रोग्राम के सभी आइकन और अन्य ग्राफ़िक तत्व होते हैं। "डीपीआई" से पहले के अक्षर का अर्थ क्रमशः ग्राफिक तत्वों का आकार है:

एचडीपीआई -उच्च घनत्व बिंदु प्रति इंच, आकार 72x72 पिक्सेल

एमडीपीआई -औसत डॉट प्रति इंच घनत्व, आकार 48x48 पिक्सेल

एलडीपीआई -कम डॉट प्रति इंच घनत्व, आकार 36x36 पिक्सेल

उदाहरण के लिए, एप्लिकेशन आइकन बदलने के लिए, फ़ाइल खोलें AndroidManifest.एक्सएमएलनोटपैड++ प्रोग्राम का उपयोग करते हुए, उस पंक्ति को देखें जिसमें आइकन दर्शाया गया है, उसका सटीक नाम देखें (ध्यान दें कि फ़ाइल एक्सटेंशन नीचे नहीं लिखा गया है, केवल फ़ाइल का नाम है)।

संबंधित फ़ोल्डर खोलें खींचने योग्य-*डीपीआई,संपादित या नया आइकन डालें, मूल नाम को दोबारा जांचना न भूलें AndroidManifest.एक्सएमएल. छवि .png प्रारूप में होनी चाहिए और उदाहरण के लिए, स्रोत फ़ाइल के समान पिक्सेल घनत्व होना चाहिए hdpiयह 72x72 पिक्सेल है.

यदि आप आइकन के नाम को अपने नाम से बदलना चाहते हैं, तो चित्र को वांछित फ़ाइल नाम के साथ सहेजें खींचने योग्य-*डीपीआई, जिसके बाद हम बिल्कुल वही नाम दर्शाते हैं AndroidManifest.एक्सएमएल(उदाहरण के लिए android:icon=”@drawable/परीक्षा"). इसी तरह, आप किसी अन्य ग्राफिक तत्व को बदल सकते हैं, लेकिन आवश्यकताएं समान हैं - एक्सटेंशन .png होना चाहिए और डॉट्स प्रति इंच घनत्व स्रोत फ़ाइल के समान है।

अनपैक्ड एप्लिकेशन में, आप दोबारा जांच कर सकते हैं कि उसके पास क्या अधिकार हैं। यह उपयोगी है यदि एपीके किसी अज्ञात स्रोत से इंस्टॉल किया गया था, और ऐसी स्थिति से बचने के लिए जहां फ्लैशलाइट या एक सुंदर कैलेंडर अचानक भुगतान किए गए एसएमएस संदेश भेजना शुरू कर देता है अज्ञात संख्या. प्रारंभिक AndroidManifest.एक्सएमएलनोटपैड++ प्रोग्राम और संबंधित पंक्तियों को देखें। उदाहरण के लिए, टेक्स्ट संदेश भेजने के लिए पैरामीटर ज़िम्मेदार है एसएमएस भेजें. आप उन सभी अधिकारों के बारे में अधिक पढ़ सकते हैं जो किसी एप्लिकेशन को उपलब्ध हो सकते हैं।

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

mntsdcardackupsapp

sdcardackupsapp

अगला, आप उपयोग कर सकते हैं रूट प्रोग्रामअनइंस्टालर. एक बार लॉन्च होने के बाद, एप्लिकेशन स्वचालित रूप से सभी इंस्टॉल किए गए एपीके का पता लगाएगा और स्वचालित रूप से उन सभी का बैकअप लेगा। तदनुसार, यदि आप चाहें, तो आगे विसंकलन के लिए इन्हें कॉपी कर सकते हैं बैकअप, वे रास्ते में हैं:

mntsdcardRootUnistallerautobackups(जब किसी Android डिवाइस से सीधे देखा जाए)

sdcardRootUnistallerautobackups(जब कंप्यूटर के माध्यम से देखा जाता है, जबकि एंड्रॉइड डिवाइस यूएसबी ड्राइव के रूप में जुड़ा होता है)।

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

प्रणालीअनुप्रयोग(यदि आप सिस्टम अनुप्रयोगों में रुचि रखते हैं)।

हम आवश्यक एप्लिकेशन को मेमोरी कार्ड में कॉपी करते हैं, जिसके बाद आप उनके साथ कोई भी हेरफेर कर सकते हैं।

आप अपनी रुचि के एपीके एप्लिकेशन को सीधे Google Play (एंड्रॉइड मार्केट) से भी डाउनलोड कर सकते हैं निजी कंप्यूटर. इसके लिए आपको एक ब्राउज़र की आवश्यकता होगी गूगल क्रोम(संस्करण 17 से कम नहीं), और इसके लिए प्लगइन एपीके डाउनलोडर है। निर्दिष्ट प्लगइन को डाउनलोड और इंस्टॉल करने के बाद, Google Chrome ब्राउज़र शॉर्टकट की एक प्रति बनाएं, जहां हम एक स्थान के बाद निम्नलिखित पंक्ति लिखते हैं:

-प्रमाणपत्र-त्रुटियों को नजरअंदाज करें

मानक ब्राउज़र इंस्टॉलेशन पथ के साथ, लाइन इस तरह दिखनी चाहिए:

"C:प्रोग्राम फ़ाइलेंGoogleChromeApplicationchrome.exe" -अनदेखा-प्रमाणपत्र-त्रुटियाँ

इसके बाद स्मार्टफोन डायलर में एंटर करें:

*#*#8255#*#*

हम डिवाइस आईडी को फिर से लिखते हैं, जिसमें 16 अक्षर होते हैं। निर्दिष्ट पैरामीटर के साथ बनाए गए शॉर्टकट का उपयोग करके Google Chrome खोलें -प्रमाणपत्र-त्रुटियों को नजरअंदाज करें, के लिए चलते हैं उपकरण -> एक्सटेंशन(आप एड्रेस बार में "chrome://settings/extensions" भी दर्ज कर सकते हैं), एपीके डाउनलोडर प्लगइन की सेटिंग्स खोलें। विकल्पों में अपना ईमेल पता और पासवर्ड दर्ज करें खाता Google, साथ ही परिणामी डिवाइस आईडी। अब Google Play (एंड्रॉइड मार्केट) पर जाएं, वांछित एप्लिकेशन वाला पेज खोलें, इसके पूरी तरह से डाउनलोड होने तक प्रतीक्षा करें। एपीके डाउनलोडर आइकन दिखाई देगा - इसे क्लिक करने के बाद, एप्लिकेशन आपके कंप्यूटर पर डाउनलोड हो जाएगा।

इस लेख से आप सीखेंगे कि एंड्रॉइड के लिए एप्लिकेशन में क्या होता है, कैसे खोलें एपीके फ़ाइलऔर कौन से प्रोग्राम का उपयोग कर रहे हैं।

एपीके फ़ाइल क्या है?

एपीके - ऑपरेटिंग प्रारूप एंड्रॉइड सिस्टम, संग्रहीत निष्पादन योग्य एप्लिकेशन फ़ाइलों के लिए उपयोग किया जाता है, और फ़ाइल का नाम स्वयं कुछ भी हो सकता है, लेकिन एक्सटेंशन केवल this.apk जैसा दिखना चाहिए। अन्य ऑपरेटिंग सिस्टम में एपीके एनालॉग्स विंडोज़ में .msi, सिम्बियन में .sis, लिनक्स में .rpm या .deb हैं।

आइए देखें अंदर क्या है
मूलतः .apk है ज़िप संग्रह, तो देखो आंतरिक संगठनआप किसी भी फ़ाइल प्रबंधक या संग्रहकर्ता का उपयोग कर सकते हैं, उदाहरण के लिए WinRAR या मोबाइल एप्लिकेशनएक्स-प्लोर।





यह याद रखने योग्य है कि आपको केवल आंतरिक संसाधनों तक दृश्य पहुंच मिलती है, संपादन क्षमताएं बेहद सीमित हैं;
आइए संरचना को देखें
.apk के अंदर हम कई फ़ाइलें और फ़ोल्डर्स देखते हैं, आइए जानें कि वे किस लिए हैं:
  • AndroidManifest.xml एप्लिकेशन का एक प्रकार का "पासपोर्ट" है जिससे आप सभी मुख्य बिंदुओं, आवश्यकताओं, संस्करण, अनुमतियों आदि का पता लगा सकते हैं।
  • META-INF इस फ़ाइल में मेटाडेटा शामिल है, यानी, डेटा, चेकसम, डेटा के पथ, पथ और संसाधनों के चेकसम, प्रमाणपत्रों के बारे में डेटा। आप इस फ़ाइल को किसी भी टेक्स्ट एडिटर के साथ खोल सकते हैं, लेकिन नोटपैड++ का उपयोग करने की अनुशंसा की जाती है।
  • रेस फ़ोल्डर में सभी प्रोग्राम संसाधन, ग्राफिक, जैसे आइकन, चित्र, टेक्स्ट, तत्व शामिल हैं जीयूआई. आप फ़ोल्डर तक भी आसानी से पहुंच सकते हैं.
  • क्लासेस.डेक्स डाल्विक वीएम वर्चुअल मशीन द्वारा निष्पादित प्रत्यक्ष एप्लिकेशन प्रोग्राम कोड है; आप केवल .apk को डीकंपाइल करके देख सकते हैं कि इस फ़ाइल के अंदर क्या है, हम इसके बारे में अन्य लेखों में बात करेंगे। resource.arsc - संकलित XML फ़ाइल, इस फ़ाइल में प्रोग्राम में शामिल सभी संसाधनों के बारे में डेटा शामिल है।
  • lib - देशी पुस्तकालयों वाला एक फ़ोल्डर, जिसके संसाधनों तक केवल विशेष कार्यक्रमों का उपयोग करते समय ही पहुंचा जा सकता है। एपीके में com, org, udk जैसी फ़ाइलें और फ़ोल्डर्स भी हो सकते हैं, लेकिन हमेशा नहीं।

अब आइए आंतरिक संरचना को अधिक विस्तार से देखें; इसके लिए हमें एक डिकंपाइलेशन प्रोग्राम, जावा और एक एपीके फ़ाइल की आवश्यकता है। .apk को अलग करने का मुख्य उपकरण Apktool है, लेकिन यह कार्यक्रमयह केवल एक लाइन से काम करता है, जो बहुत सुविधाजनक नहीं है। तेज़ और अधिक सुविधाजनक विश्लेषण के लिए, आप APKing का उपयोग कर सकते हैं, यह अभी भी वही Apktool है, लेकिन संदर्भ मेनू से काम करने की क्षमता के साथ।
और इसलिए हम विंडोज़ के लिए किसी भी एप्लिकेशन की तरह एपीकेइंग इंस्टॉल करते हैं और, .apk का चयन करके, दाएँ माउस बटन से उस पर क्लिक करते हैं और उसी समय Shift करते हैं, जिसके बाद हम निम्नलिखित देखेंगे:


और आवश्यक क्रिया का चयन करें, उदाहरण के लिए, पूरी तरह से डिकंपाइल करें, फिर प्रोग्राम ऑपरेशन पूरा करेगा और उसी नाम से एक फ़ोल्डर बनाएगा।


फ़ोल्डर खोलने से हमें एपीके फ़ाइल के सभी संसाधनों तक पहुंच प्राप्त होगी।


इतना ही पाठ फ़ाइलेंसंपादित किया जा सकता है, बुनियादी नियमों का पालन करते हुए, आप लोकप्रिय नोटपैड++ प्रोग्राम का उपयोग कर सकते हैं, उदाहरण के लिए, AndroidManifest.xml पर विचार करें

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

कोड में परिवर्तन करने के लिए, लगभग किसी भी भाषा (अधिमानतः जावा और सी++) में बुनियादी प्रोग्रामिंग कौशल की आवश्यकता होती है। ग्राफ़िक्स को बदलने के लिए सीधे हाथ और ग्राफ़िक्स संपादक में काम करने की क्षमता काम करेगी।

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

में ग्राफ़िक्स बदलना सिस्टम अनुप्रयोगएंड्रॉयड

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

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

फिर आपको इसके लिए इंटरनेट से ADB प्लगइन भी डाउनलोड करना होगा फ़ाइल मैनेजर. यह प्लगइन आपको संपूर्ण एंड्रॉइड सिस्टम को फ़ोल्डर्स के साथ कनेक्टेड डिस्क के रूप में देखने की अनुमति देता है। सभी सिस्टम एप्लिकेशन /system/app, साथ ही /system/framework पर स्थित हैं। आपको जिस एप्लिकेशन की आवश्यकता है उसे ढूंढने के बाद, बस उसे अपने कंप्यूटर पर कॉपी करें। यदि प्लगइन स्थापित नहीं है, तो आप एपीके एक्सटेंशन के साथ एप्लिकेशन को हटाने योग्य एसडी कार्ड में और फिर उससे कंप्यूटर पर कॉपी करने के लिए रूट एक्सप्लोरर का उपयोग कर सकते हैं।

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

आइए अब अपने डिवाइस के प्रकार और उसके स्क्रीन रिज़ॉल्यूशन को याद रखें। यदि यह एक स्मार्टफोन है और रिज़ॉल्यूशन 240x320 है, तो हमें मुख्य रूप से ड्रॉएबल और ड्रॉएबल-एलडीपीआई फ़ोल्डर्स में रुचि होगी। यदि रिज़ॉल्यूशन 320x480 है - क्रमशः ड्रॉएबल और ड्रॉएबल-एमडीपीआई फ़ोल्डर, और 480x800 रिज़ॉल्यूशन के लिए - ड्रॉएबल और ड्रॉएबल-एचडीपीआई फ़ोल्डर। उनके अलावा, आमतौर पर ऐसे फ़ोल्डर भी होते हैं जिनके नाम में "भूमि" शब्द होता है - ये पोर्ट्रेट मोड के लिए ग्राफिक्स हैं, यानी। जब उपकरण झुका हुआ हो.

यदि आपके हाथ में एक टैबलेट है, तो हमें केवल किसी भी स्क्रीन रिज़ॉल्यूशन पर ड्रॉएबल और ड्रॉएबल-एमडीपीआई फ़ोल्डर्स में दिलचस्पी होगी।

चयनित फ़ोल्डरों को अपने कंप्यूटर पर कॉपी करके, आप मूल छवियों को उन लोगों से बदल सकते हैं या फिर से रंग सकते हैं जिनकी आपको आवश्यकता है और जो आंखों को भाते हैं। आपको 9.png के रिज़ॉल्यूशन वाले चित्रों पर विशेष ध्यान देना चाहिए। तथ्य यह है कि ऐसी छवि की परिधि के साथ एक पिक्सेल चौड़ा एक विशेष फ्रेम होता है जिसमें विशेष निशान होते हैं, जिसकी अखंडता के उल्लंघन से एप्लिकेशन में खराबी हो जाएगी। इसलिए, ऐसी फ़ाइलों को संपादित करते समय अत्यधिक सावधानी बरतनी चाहिए।

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

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

सिस्टम अनुप्रयोगों के स्रोत कोड का संपादन

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

1) अपने कंप्यूटर पर आवश्यक सॉफ़्टवेयर पैकेज स्थापित करें नवीनतम संस्करण: जावा एसई रनटाइम एनवायरनमेंट और एंड्रॉइड एसडीके विंडोज (एप्लिकेशन और उनके घटकों के साथ काम करने के लिए प्रोग्राम), एपीकेटूल या एपीकेमैनेजर या फ़र्मवेयर_टूल (सिस्टम एप्लिकेशन को अलग करने और डीकंपाइल करने के लिए तीन कार्यक्रमों में से एक), नोटपैड++ एडिटर (इसमें बदलाव करने के लिए) स्रोतएंड्रॉइड सिस्टम एप्लिकेशन)।

2) डिवाइस में "यूएसबी डिबगिंग" सक्षम करें, इसे यूएसबी केबल का उपयोग करके कंप्यूटर से कनेक्ट करें, डिवाइस के साथ काम करने के लिए आवश्यक ड्राइवर स्थापित करें।

3) एप्लिकेशन कोड के साथ काम करने के लिए उपर्युक्त कार्यक्रमों में से एक का उपयोग करके, आपको फोन से /system/framework फ़ोल्डर (पूरी तरह से) और /system/app फ़ोल्डर से सिस्टम एप्लिकेशन को उचित प्रोग्राम फ़ोल्डर में निकालना होगा। उदाहरण के लिए, फ़र्मवेयर_टूल प्रोग्राम के लिए, फ़ोन से फ़ाइलों को उपयुक्त सबफ़ोल्डर्स में C:Firmwaretoolfw_project1_source2_system.img_unpacked फ़ोल्डर में कॉपी किया जाना चाहिए (एप्लिकेशन - ऐप फ़ोल्डर में, फ़्रेमवर्क से फ़ाइलें - फ़्रेमवर्क फ़ोल्डर में)। इस और अन्य प्रोग्राम दोनों का उपयोग करते समय, उनके लिए निर्देशों को पढ़ना सुनिश्चित करें।

4) "समर्थन ढाँचा" स्थापित करें, अर्थात। नियमों का एक सेट जिसके अनुसार अनुप्रयोगों का डिकंपाइलेशन (यानी कोड को अलग करना) और संकलन (यानी कोड को असेंबल करना) किया जाएगा।

यह सिस्टम अनुप्रयोगों के साथ काम करने की तैयारी पूरी करता है।

डिवाइस से एप्लिकेशन को अनलोड करना और उन्हें वापस लोड करना "एंड्रॉइड सिस्टम एप्लिकेशन में ग्राफिक्स बदलना" अनुभाग में वर्णित प्रक्रिया के समान ही किया जाता है।

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

संपादन पूरा होने पर, संशोधित एप्लिकेशन को डिवाइस पर वापस डाउनलोड किया जाता है, और डिवाइस को स्वयं पुनरारंभ करना होगा। अधिक उन्नत संपादक डिवाइस पर एप्लिकेशन डाउनलोड करने से पहले उन्हें डीबग करने के लिए विभिन्न एमुलेटर का उपयोग करते हैं, उदाहरण के लिए, Google से एक्लिप्स।

विषय पर प्रकाशन