मुझे पता है कि यह इस अनुमति के बारे में पहला थ्रेड नहीं है, हालांकि अन्य लोग समाप्त नहीं हुए हैं या मेरी मदद नहीं करते हैं।अनुमति: INJECT_EVENTS अन्य ऐप्स के लिए इंस्ट्रुमेंटेशन के लिए
मुझे इंस्ट्रुमेंटेशन का उपयोग करके KeyEvents को बढ़ाने के लिए क्या चाहिए। यह बहुत अच्छा काम करता है और खोल ("इनपुट कीवेन्ट") विधि से बहुत तेज़ है। लेकिन अगर मैं अन्य ऐप्स से इंजेक्ट करना चाहता हूं तो मुझे सुरक्षा अपवाद प्राप्त होता है। इससे मुझे बहुत आश्चर्य नहीं हुआ, इसलिए मैंने अपने मैनिफेस्ट में <uses-permission android:name="android.permission.INJECT_EVENTS" />
जोड़ा। ग्रहण मुझे यह बताते हुए डीबग करने के लिए रुक जाता है कि केवल सिस्टम ऐप्स ही इस अनुमति का उपयोग कर सकते हैं। तो मैंने हस्ताक्षरित एपीके उपकरण का उपयोग करके संकलित किया और उस एपीके को/system/ऐप पर धक्का दिया। रीबूट किया गया, और अनुमान लगाएं कि
W/PackageManager(3499): Not granting permission android.permission.INJECT_EVENTS to package com.<....> (protectionLevel=2 flags=0x8be45)
ऐप केवल एक विशेष डिवाइस के लिए लक्षित है। तो मैं सभी चश्मा जानता हूं और यह जड़ है। लेकिन su
इंजेक्शन-कमांड लंबे समय तक लेते हैं और सुपर यूज़र की आवश्यकता होती है। मुझे इंस्ट्रुमेंटेशन के साथ ऐसा करना अच्छा लगेगा या शायद मुझे कुछ और कोशिश करनी चाहिए?
फर्मवेयर मेरे द्वारा नहीं लिखा गया है, इसलिए मेरे पास प्लेटफ़ॉर्म कुंजी नहीं है।
आपकी मदद के लिए धन्यवाद!
संपादित करें: प्लेटफ़ॉर्म कुंजियां (देव ने सामान्य Google का उपयोग किया), हस्ताक्षरित और गठबंधन किया, फिर एपीके/सिस्टम/ऐप को धक्का दिया। मेरे मैनिफेस्ट में android:sharedUserId="android.uid.system"
भी जोड़ा गया। बूट पर अब लॉगकैट संदेश नहीं है। हालांकि जब मैं keyync भेजना चाहता हूं तो भी मैं SecurityException
को पकड़ता हूं। कोई विचार?
EDIT2: यहां ps
से एक अंश है। प्रणाली के रूप में सूचीबद्ध नहीं पैकेज IST तरह लगता है
u0_a108 5241 2399 492044 48968 ffffffff 40113ab0 S com.mypackage