2009-03-22 12 views
18

के शीर्ष पर सूर्य JVM चल रहा है क्योंकि जावा कार्यान्वयन (OpenJDK) और एंड्रॉइड की आभासी मशीन DalvikVM दोनों ओपनसोर्स हैं, शीर्ष Google के DalvikVM पर सूर्य के जावाVM को लागू करना संभव होना चाहिए। यह एंड्रॉइड पर जेवीएम आधारित ऐप्स और भाषाओं (Clojure, Jython) को आउट-ऑफ-द-बॉक्स चलाने के लिए संभव बनाता है।एंड्रॉइड पर जावा बाइटकोड चलाना - DalvikVM

क्या सूर्य जेवीएम के इस तरह के कार्यान्वयन के लिए एक सतत प्रयास है?

+0

क्या आप एंड्रॉइड फोन में जावा बाइटकोड चलाने में सक्षम थे ?? यदि हां, तो क्या आप चरणों को सूचीबद्ध कर सकते हैं ?? – inquisitive

उत्तर

13

ओपनजेडीके देशी कोड का उपयोग करता है, इसलिए यह एक गैर-तुच्छ बंदरगाह होगा ... जावा में लिखा गया कम से कम एक वीएम (JikesRVM) है, दुर्भाग्य से यह जावा का पूरी तरह से कार्यान्वित कार्यान्वयन नहीं है।

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

हमम .... एक जेआईटीटी (जस्ट इन टाइम ट्रांसलेटर) का प्रकार जो क्लास फ़ाइलों को फोन पर रनटाइम पर एक DalvikVM फ़ाइलों में गुप्त करता है। मुझे आश्चर्य है कि यह कितना धीमा होगा।

+0

एचएम। 1 99 5 में, एक जेवीएम के अंदर, x86 emu में विस्टा चलाने की तरह? :) – George

+0

सबकुछ पुराना नया है :-) – TofuBeer

0

मुझे नहीं लगता कि समस्या तकनीकी है। सिद्धांत रूप में आप ओपनजेडीके को आईफोन में माइग्रेट कर सकते हैं उदाहरण के लिए, लेकिन कानूनी प्रतिबंध हैं।

+0

एंड्रॉइड के लिए लाइसेंस अनुबंध यहां दिया गया है: http://developer.android.com/sdk/download.html?v=android-sdk-windows-1.1_r1.zip। मुझे यहां कोई कानूनी बाधा नहीं दिखाई दे रही है। – George

+0

इसके अलावा, एंड्रॉइड ओएस अपाचे और जीपीएल लाइसेंस के तहत है: http://source.android.com/license। तो, कोई भी कानूनी प्रतिबंध नहीं है। – George

9

एंड्रॉयड प्लेटफॉर्म के लिए OpenJDK Porting संभव है। इस तरह के प्रयास हैं: शार्क, शून्य और कैसीकोवालो जो बंदरगाह प्रक्रिया को काफी आसानी से कम करते हैं (= कोई एएसएम, सरल एडब्ल्यूटी पीयर)। प्लस एंड्रॉइड कुछ भी नहीं बल्कि एक लिनक्स कर्नेल है। एकमात्र प्रश्न यह है कि यह किसी के द्वारा कब किया जाएगा?

वैसे, आईफ़ोन और एंड्रॉइड फोन दोनों में जैज़ेल संगत प्रोसेसर मिला, बहुत मजबूत प्रोसेसर हैकिंग कौशल वाले किसी को ओपनजेडीके को जैज़ेल समर्थन जोड़ने के लिए बहुत स्वागत है। ऐसा करने के बाद, हम चुन सकते हैं: बहुत हल्का संसाधन त्वरण (जैज़ेल) और जेआईटी ;-)

आईफोन के बारे में, यह वही बात है: एक बंदरगाह संभव है। केवल ऐप्पल ने आईफोन लाइसेंस में एक सेक्शन डाला है जो स्पष्ट रूप से वीएम उपयोग को रोकता है। यूरोपीय कानून के अनुसार, मेरे लिए यह लाइसेंस खंड अनगिनत है। दो कारण: आप अपने दो उत्पादों को खरीदने/लिंक करने के लिए मजबूर नहीं कर सकते हैं। यहां मैं ट्यून और आईफोन जुड़े हुए हैं। आप जो कुछ बेच सकते हैं उसे बेचने से इनकार नहीं कर सकते हैं। जैसे ही आईएम के लिए एक वीएम बनाया जाएगा, अगर इसे आईट्यून स्टोर पर डालने से इंकार कर दिया गया है, तो यह बिंदु लागू होगा। क्या कोई ऐसा व्यक्ति है जो पृथ्वी पर ऐप्पल लाइसेंस वैधता को चुनौती देना चाहता है? मुझे ऐसा नहीं लगता, दुखी लोग एंड्रॉइड या किसी अन्य मंच पर उड़ेंगे।

1

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

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

Google मेरी राय में, निश्चित रूप से तकनीकी नेता है जो पिछले दशक में अभिनव योगदान के साथ है जो कि अधिक रूढ़िवादी आकाशीय बौना है, लेकिन इस विषय में उन्होंने जावा पारिस्थितिकी तंत्र को लगभग विनाशकारी तरीके से हिला दिया है। हम (प्रोग्रामर) को इस समस्या के लिए एक समान वर्दी समाधान के लिए प्रयास करना चाहिए। वैसे भी "वर्चुअल मशीन" की अवधारणा के पीछे यह मुख्य विचार है - यह न तो Google और न ही ऑरैकल से संबंधित होना चाहिए।

0

एंड्रॉइड एआरएम एपीके के लिए एमआईडीपी, फाउंडेशन और पर्सनल प्रोफाइल जेवीएमएस के लिए http://davy.preuveneers.be/phoneme/ देखें। (धन्यवाद डेवी !!!)

मैंने कमांड लाइन उपयोग के लिए फाउंडेशन जेवीएम को दोबारा बनाया है और इसे अपनी खुशी के लिए vkfox.com/android/bin/foundation-jvm.bin पर होस्ट किया है। कोई जावाइडड्रॉइड फ्री ऐप में ग्रहण कंपाइलर का उपयोग कर सकता है, या पुराने जेपीएम के साथ पुरानी कोपी या कोपिसुसु कंपाइलर्स का उपयोग कर सकता है, एक ऑनबोर्ड विकास प्रणाली के लिए जे 2 एमई जेडीके से स्टब्बेड सीडीसी + फाउंडेशन जार फ़ाइल के साथ टॉगर। टर्मिनलाइड - कंसोल और सन कंपाइलर की विशेषताओं का उपयोग करके - संकेतित रेफ जार के साथ आपको वहां भी मिल जाएगा। यह अनिवार्य रूप से एमआईडीपी या ग्राफिक्स की संभावना के साथ एक हेडलेस jdk1.4 के बराबर है।

0

डेबियन व्हीजी के साथ जीएनयूआरयूटी ऐप (प्रूट पैट्रस कंटेनर) आज़माएं;
apt-get अद्यतन
apt-get स्थापित openjdk-7-JRE
/usr/lib/JVM/जावा-7-openjdk-Armel/JRE/bin/जावा ...
(लंबे पथ सहित)

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