निष्पादित कैसे करूं मैं एंड्रॉइड पर अपने आवेदन के भीतर चल रहे दलविक वीएम इंस्टेंस के खिलाफ सीधे ऑपकोड निष्पादित करना चाहता हूं। मैं सी एएसएम समारोह के समान कुछ ढूंढ रहा हूं। मेरे पास दल्विक के लिए ऑपकोड की एक सूची है, लेकिन मैं उन्हें सीधे निष्पादित करने के तरीके से अपरिचित हूं, या उन्हें .class फ़ाइलों में लिखता हूं और किसी प्रकार के वीएम सीएलआई कमांड के खिलाफ उन्हें एक चल रहे एप्लिकेशन के भीतर से दल्विकवम जैसे निष्पादित करता हूं।मैं Dalvik Op-Code
5
A
उत्तर
4
यह संभव नहीं है। विवरण के लिए Dalvik internals के बारे में यूट्यूब पर Google आईओ 2008 प्रस्तुति देखें। जावा और एमएस दोनों सहित मोबाइल वीएम पूर्ण वीएम नहीं हैं और स्मृति और प्रदर्शन बाधाओं के कारण इस तरह के हिस्सों को छोड़ दें जो आपके द्वारा वर्णित किए गए कार्यों को पूरा करने की अनुमति देते हैं।
1
अतीत में यह असंभव था, लेकिन अब यह संभव है:
http://android-developers.blogspot.sg/2011/07/custom-class-loading-in-dalvik.html
अनिवार्य रूप से आप अपने अनुकूलित डेक्स फ़ाइल और लोड बनाने और इसे निष्पादित कर सकते हैं।
जैसा कि मैंने इसमें आगे खोला है, मुझे लगता है कि यह दुर्भाग्य से सच है ... धन्यवाद! –
हाँ, दुर्भाग्य से .. –
[मैंने मूल रूप से इसे अलग-अलग उत्तर के रूप में पोस्ट किया था, इससे पहले कि मैंने अधिकारों पर टिप्पणी की थी।] आपको डीएक्स फ़ाइलों को लोड करने के लिए रूट पहुंच की आवश्यकता नहीं है। एक सिस्टम क्लास है, dalvik.system.DexClassLoader, जिसे इसे डेक्स फ़ाइलों को लोड करने के लिए उचित रूप से सरल बनाने के लिए बनाया गया है। – danfuzz