2011-11-21 16 views
7
बेशक

, .dex फ़ाइलें एंड्रॉयड के Dalvik वी एम के लिए कर रहे हैं और .class फ़ाइलों JVM के लिए कर रहे हैं। लेकिन मुझे आश्चर्य है कि उनके पास समान लेआउट हैं (लगातार पूल, फ़ील्ड, तरीके, गुण, ...)? बाइटकोड अलग है, लेकिन क्या JVM से Dalvik विशिष्ट opcode समकक्ष हैं?.class और .dex फ़ाइलों के बीच क्या अंतर है?

+2

कभी भी इस में मिल गया, लेकिन यह एक पहला कदम है: http://www.slideshare.net/Bhavsidd/diff-of-class-and-dex-file (और यह: http://www.dalvikvm.com/) – MByD

+0

@BinyaminSharet दूसरा लिंक अब पार्क किया गया है और इसमें कोई उपयोगी जानकारी नहीं है –

+0

इस आलेख को देखें, [class और .dex फ़ाइल के बीच अंतर।] (http: //www.risesoftware। कॉम/पीजी/ब्लॉग/भाव/पढ़ा/88 9/अंतर-वर्ग-और-डीएक्स-फाइल के बीच अंतर) – bharath

उत्तर

15

जबकि एक जावा जार फ़ाइल कई वर्ग फ़ाइलों है, प्रत्येक APK फ़ाइल के रूप में नीचे दिखाया गया है, केवल एक ही classes.dex फ़ाइल है। गूगल के अनुसार, APK प्रारूप प्रदर्शन और सुरक्षा कारणों के लिए वर्ग फ़ाइल स्वरूप से अलग है।

enter image description here

3

एक Dex File Format और Class File Format specification संबंधित कंपनी से नहीं है।

इन 2 फ़ाइलें पूरी तरह से अलग कर रहे हैं।

+0

+1 डिस्सेबलर डीडीएक्सर जोड़ने के लिए जोड़ने के लिए http://dedexer.sourceforge.net/ – stacker

+0

+1 प्रदान करता है आधिकारिक दस्तावेज़ :) – JesusFreke

-1

दल्विक निष्पादन योग्य प्रारूप कोड है, वीएम निष्पादित करता है। Dalvik VM जावा बाइटकोड निष्पादित नहीं कर सकता है, इसे डीईएक्स में संकलित किया जाना चाहिए, क्योंकि यह वैकल्पिक निर्देश सेट का उपयोग करता है।

wiki article पढ़ें।

+1

ओपी पहले से ही इसके बारे में पता है। कृपया प्रश्न की पहली वाक्य पढ़ें। –

संबंधित मुद्दे