एक्सपोज़ड फ्रेमवर्क को XDA पाठकों के लिए किसी परिचय की आवश्यकता नहीं है। जब उनसे हमारे समुदाय की चीज़ों के बारे में पूछा गया लॉलीपॉप से सबसे ज्यादा नफरत है, चर्चा में सबसे अधिक वोट वाली टिप्पणी यह थी कि इसने एक्सपोज़ड के लिए समर्थन तोड़ दिया। वास्तव में, कई फोरम सदस्यों ने विशेष रूप से इसी कारण से लॉलीपॉप को अपडेट करने से इनकार कर दिया है। लेकिन यह सब अब बदल गया है, क्योंकि बहुप्रतीक्षित एक्सपोज़ड फ्रेमवर्क आखिरकार एंड्रॉइड लॉलीपॉप के लिए आ गया है।
यदि आप पहले से ही एक्सपोज़ड से परिचित नहीं हैं, तो सीधे शब्दों में कहें तो यह मॉडिंग समुदाय के लिए एक वरदान है। एक्सपोज़ड को किसी भी रोम की फ्लैशिंग की आवश्यकता नहीं है, लेकिन यह बहुत सारे अनुकूलन और बदलाव लाता है जिन्हें उपयोगकर्ता रूट किए गए डिवाइस पर ऐप्स की तरह इंस्टॉल कर सकते हैं। इसका उपयोग करना अविश्वसनीय रूप से सरल है और जोखिम सीमित है। और अब, लॉलीपॉप पर सभी एंड्रॉइड उत्साही अपने डिवाइस पर इस शानदार प्रोजेक्ट का लाभ उठा सकते हैं। अपना डाउनलोड प्राप्त करें और मॉडिफाई करना शुरू करें!
rovo89 हमें नवीनतम प्रोजेक्ट के लिए प्रश्नोत्तर प्रदान करने के लिए भी काफी दयालु था। आप परियोजना के बारे में अपने सभी प्रश्नों के उत्तर नीचे पा सकते हैं।
इसमें इतना समय क्यों लगा? एआरटी एक वर्ष से अधिक समय पहले प्रकाशित हुआ है!
सबसे पहले - बहुत से लोग एआरटी समर्थन मांगते रहते हैं। लॉलीपॉप में उससे कहीं अधिक परिवर्तन हैं, जैसे कि सख्त SELinux नीतियां, 64-बिट ROM और आर्किटेक्चर परिवर्तन जिनकी आप एक प्रमुख रिलीज़ से अपेक्षा करेंगे। और निःसंदेह एआरटी में लगातार सुधार किया जा रहा है; किटकैट के लिए एआरटी और लॉलीपॉप के लिए एआरटी के बीच बड़े अंतर हैं।
तो एक कारण बड़ी जटिलता है, जिसके लिए अनुसंधान, विकास और परीक्षण के लिए कई घंटों के काम की आवश्यकता होती है।
दूसरा कारण यह है कि मेरे जीवन में एक्सपोज़ड के अलावा अन्य चीजें भी हैं, इसलिए ऐसे सप्ताह या महीने भी रहे हैं जिनमें मैंने शायद ही कभी कोड को देखा हो।
क्या हमें सभी मॉड्यूल को फिर से लिखने की ज़रूरत है?
नहीं, एक्सपोज़ड एपीआई काफी हद तक अपरिवर्तित है। एक्सपोज़ड सभी विवरणों का सार प्रस्तुत करता है, इसलिए मॉड्यूल को इस बात की परवाह करने की ज़रूरत नहीं है कि वे डाल्विक या एआरटी पर चल रहे हैं या नहीं। कई मॉड्यूल वास्तव में बिना किसी बदलाव के काम करेंगे, खासकर वे जो उपयोगकर्ता ऐप्स के व्यवहार को संशोधित करते हैं। सिस्टम व्यवहार को लक्षित करने वाले मॉड्यूल को नए एंड्रॉइड फ्रेमवर्क कोड में समायोजित करने की आवश्यकता हो सकती है, जो यह एआरटी के कारण नहीं होता है, बल्कि किन्हीं दो एंड्रॉइड के बीच होने वाले आर्किटेक्चर और कोड परिवर्तनों के कारण होता है जारी करता है. सबसे महत्वपूर्ण बात यह है कि सिस्टम सेवाओं के लिए कोड को एक अलग फ़ाइल में ले जाया गया है। अधिकांश प्रभावित मॉड्यूल के लिए, इसे थोड़ा रिफैक्टरिंग (कोड को एक अलग स्थान पर ले जाना) द्वारा हल किया जा सकता है।
क्या यह वास्तव में काम कर रहा है?
हाँ! कम से कम मेरे लिए, यह मेरे दैनिक डिवाइस (CM12 पर Nexus 5) और मेरे Nexus 9 (XDA द्वारा भुगतान - धन्यवाद!) पर भी ठीक काम कर रहा है। फ़ोन हमेशा की तरह स्थिर है और ऐप्स ठीक से काम कर रहे हैं। और जाहिर है, मॉड्यूल और उनके हुक/संसाधन प्रतिस्थापन भी ठीक से काम कर रहे हैं, अन्यथा कुछ जारी करने का कोई मतलब नहीं होगा।
लेकिन फिर यह अल्फ़ा संस्करण क्यों है?
क्योंकि पिछली स्थिर रिलीज़ के बाद से बड़े बदलाव हुए हैं, जिन्हें उन लोगों द्वारा परीक्षण करने की आवश्यकता है जो पुनर्प्राप्ति का उपयोग करना, बूट लूप से बचना और बग की ठीक से रिपोर्ट करना जानते हैं। मैं नए लोगों को दृढ़तापूर्वक सलाह देता हूं कि वे तब तक प्रतीक्षा करें जब तक कि पर्याप्त अनुभवी लोगों द्वारा एक्सपोज़ड का परीक्षण न कर लिया जाए।
कुछ एज-केस भी हैं जिनका अभी तक परीक्षण नहीं किया गया है, जैसे हुकिंग जेएनआई (देशी) विधियां और विधियां जो हुकिंग के समय निष्पादित की जा रही हैं।
मैं इसे इंस्टॉल करना चाहता हूं. अब! मुझे क्या करना है?
सुनिश्चित करें कि आपने ऊपर मेरे शब्द पढ़े हैं और आप अपने फ़ोन की आंतरिक जानकारी से परिचित हैं। जाहिर है, आपको लॉलीपॉप रोम पर रहना होगा और आपके डेटा का अच्छा बैकअप होना चाहिए। अभी के लिए, मैं केवल ARMv7 संस्करण प्रकाशित करूंगा। 64-बिट अधिक जटिल है, तो आइए पहले "आसान" संस्करण आज़माएँ।
अभी के लिए, इंस्टॉलेशन को कस्टम पुनर्प्राप्ति में मैन्युअल रूप से निष्पादित करना होगा। ज़िप फ़ाइल को फ़्लैश करने पर इंस्टॉल हो जाएगा:
- ऐप_प्रोसेस32_एक्सपोज़्ड और कुछ सिम्लिंक
- libexposed_art.so
- libart.so और कुछ संबंधित बायनेरिज़ + लाइब्रेरीज़ (5.0.2 पर आधारित, हुकिंग आदि के लिए समर्थन के साथ बढ़ाया गया)
- XposedBridge.jar (अब /system/framework में संग्रहीत)
मौजूदा फ़ाइलों का बैकअप स्वचालित रूप से बनाया जाएगा और बाद में पुनर्स्थापित किया जा सकता है।
यह काम नहीं करता/मुझे यह पसंद नहीं है! मैं इसे कैसे अनइंस्टॉल कर सकता हूं?
सबसे आसान तरीका बैकअप को पुनर्स्थापित करना या सिस्टम विभाजन को फ्लैश करना है। अनइंस्टॉलेशन के लिए एक ज़िप फ़ाइल अभी तक नहीं बनाई गई है।
आप मेरे डिवाइस पर ART फ़ाइलें क्यों बदलते हैं? यह डाल्विक की तुलना में अधिक आक्रामक है, महत्वपूर्ण प्रदर्शन समस्याएं पैदा करेगा और अस्थिर होगा!
मैंने कुछ कारण नीचे लिखे हैं GitHub. हां, यह अधिक आक्रामक है, इसलिए मैंने लंबे समय तक इससे बचने की कोशिश की है, लेकिन तकनीकी और समर्थन-उन्मुख दृष्टिकोण से, मुझे लगता है कि यह बेहतर विकल्प है।
मूल एआरटी से कम प्रदर्शन? संभवतः, क्योंकि कुछ प्रकार के हुक को संभव बनाने के लिए मुझे कुछ अनुकूलन अक्षम करने पड़े। हालाँकि, यह सभी तरीकों के केवल एक अंश को प्रभावित करता है और यहां तक कि उनके लिए भी, प्रदर्शन हानि निश्चित रूप से महत्वपूर्ण या ध्यान देने योग्य नहीं है, भले ही मापने योग्य भी हो। एआरटी द्वारा अभी भी हजारों अन्य अनुकूलन किए गए हैं, और मैंने जितना संभव हो उतना लचीलापन प्रदान करते हुए जितना संभव हो उतना कम अक्षम करने का प्रयास किया।
जैसा कि ऊपर बताया गया है, स्थिरता ठीक है। डाल्विक के लिए मेरे द्वारा उपयोग किए गए दृष्टिकोण की तुलना में (रनटाइम की आंतरिक डेटा संरचनाओं को संशोधित करना)। ऐप_प्रोसेस), मुझे पूरा यकीन है कि लाइब्रेरीज़ को पूरी तरह से बदलना कहीं अधिक विश्वसनीय है रास्ता। मैं अपने परिवर्तनों को मौजूदा कोड में साफ़-साफ़ एकीकृत कर सकता हूँ और संबंधित कार्यों का पुन: उपयोग कर सकता हूँ, जबकि अन्य तरीकों के लिए कई हैक और धारणाओं की आवश्यकता होगी।
क्या आप अंततः स्रोत कोड को सार्वजनिक करेंगे?
निश्चित रूप से, आप इसे अल्फा संस्करण के रिलीज़ होने के तुरंत बाद GitHub पर, अभी के लिए एक अलग शाखा में पाएंगे।
क्या इसका मतलब यह है कि पुराने Android संस्करण अब समर्थित नहीं हैं?
नहीं! नया कोड एंड्रॉइड के सभी 4.x संस्करणों पर संकलित है, और एकीकृत रिलीज़ से पहले बस इसका परीक्षण करने की आवश्यकता है। लेकिन पहले, मुझे यह सुनिश्चित करना होगा कि यह लॉलीपॉप के लिए ठीक काम कर रहा है। संभवतः, एआरटी समर्थन को किटकैट पर बैकपोर्ट किया जा सकता है, लेकिन यह कम प्राथमिकता वाला है।
मैं आपके काम के लिए आपको कैसे धन्यवाद दे सकता हूँ?
कई लोगों ने कुछ रुपये दान करने के तरीके पूछे हैं, इसलिए मैंने एक स्थापित किया है दान अभी पेज.
आपके लिए फ़ीचर X या Y जोड़ने वाला मॉड्यूल जोड़ने के लिए मुझे कितना दान करना होगा?
यह दान नहीं है, यह भविष्य के काम की उम्मीद में किसी को भुगतान करना है। मुझे फ्रीलांसर नौकरियों में कोई दिलचस्पी नहीं है।