मैं अपने एंड्रॉइड पर .jar फ़ाइलें कैसे स्थापित कर सकता हूं?


9

मैंने कुछ 3D गेम डाउनलोड किए, उन्हें अनज़िप किया और .jar फाइलें मिलीं। मैं एंड्रॉइड में इनका उपयोग कैसे कर सकता हूं? मेरे पास गैलेक्सी एस 2.1 चल रहा है।

जवाबों:


13

हालाँकि एंड्रॉइड जावा का उपयोग करता है, यह सामान्य JAR फ़ाइलों का समर्थन नहीं करता है। इसके बजाय यह एक एंड्रॉइड विशिष्ट प्रारूप का उपयोग करता है जिसे एपीके कहा जाता है। मुख्य अंतर यह है कि एंड्रॉइड सामान्य जावा वर्चुअल मशीन का उपयोग नहीं करता है, लेकिन इसमें स्वयं Dalvik वर्चुअल मशीन है जो एंड्रॉइड के लिए अनुकूलित है।


आपके कहने का मतलब है कि मैं एंड्रॉइड 2.1 में जार फाइल इंस्टॉल नहीं कर सकता।
जीवन भट्ट

5
@ जीवन भट्ट: बिल्कुल। यह भविष्य में बदल सकता है (अगर कोई एंड्रॉइड के लिए एक जेवीएम लिखता है) लेकिन मैं अपनी सांस नहीं रोकूंगा।
onik

मैंने इंटरनेट पर खोज की और पता चला कि एंड्रॉइड सपोर्ट केवल एपीके फाइल है इसलिए मुझे कुछ कन्वर्टर द्वारा .apk .apk में कन्वर्ट करने की आवश्यकता है, क्या यह सच है?
जीवन भट्ट

4
हां, कुछ कन्वर्टर्स हैं लेकिन ये बहुत विश्वसनीय नहीं हैं। समस्या यह है कि, एंड्रॉइड संपूर्ण जावा लाइब्रेरी के एक हिस्से का उपयोग करता है और अधिकांश सुविधाओं को नियंत्रित करने के लिए यह स्वयं का पुस्तकालय है। उदाहरण के लिए, ग्राफ़िकल यूज़र इंटरफ़ेस क्लासेस को Android पर उपयोग नहीं किया जा सकता (जैसे। स्विंग)। इसके अलावा कनवर्टर को सभी यूआई घटनाओं को फिर से लिखना होगा, जैसे कि टचस्क्रीन / कीबोर्ड कार्यक्षमता। जाहिरा तौर पर कुछ कन्वर्टर्स पुराने फोन पर इस्तेमाल किए जाने वाले MIDP एप्लेट्स (J2ME) के लिए ऐसा कर सकते हैं, लेकिन सामान्य जावा एप्स (शायद) काम नहीं करेंगे। आप कन्वर्टर्स की कोशिश कर सकते हैं, लेकिन सबसे अधिक संभावना है कि परिणाम पिछड़ जाएगा, छोटी गाड़ी या दुर्घटना हो सकती है।
Onik

9

मैं आंशिक रूप से रयान कॉनराड और ओनिक से असहमत होना चाहता हूं।

मेरे पास एक सैमसंग स्पीका है और यह v1.6 चल रहा था और अब 2.1 (दोनों आधिकारिक सैमसंग इंडिया संस्करण) - जावा एमई एप्स नामक एक ऐप के साथ प्री-लोडेड आया।

मैं इसके माध्यम से कई जावा ऐप (गैर-एंड्रॉइड फोन के लिए) चला रहा हूं।

दोनों JAR फाइलें हैं और एक बार जावा ME एप्लिकेशन के माध्यम से चलती हैं, दोनों अपेक्षित रूप से चलती हैं।

इसलिए योग करने के लिए, एंड्रॉइड पर JAR ऐप चलाने का एक तरीका है। मैं हालांकि, WRT APK और Dalvik का उल्लेख किया है सब कुछ के साथ सहमत हूँ।


फॉर्मूला 1 ऐप जो आपने जोड़ा है वह एक देशी एंड्रॉएड ऐप है न कि जावा / जेएम 2 ऐप ..
इरफान

1
अब यह है ... जब मैंने मूल रूप से इसे पोस्ट किया था, तो एक Android संस्करण नहीं था - सिर्फ J2ME एक। ;-)
स्पार्क्स

आप कैसे चले?
जिज्ञासु

4

एंड्रॉइड वास्तव में जावा का "उपयोग" भी नहीं करता है। कोड में जो भाषा लिखी गई है वह जावा है, लेकिन एंड्रॉइड एसडीके संकलित बायटेकोड लेता है और इसे डाल्विक बायटेकोड में परिवर्तित करता है।

तो यह वास्तव में एक गलत धारणा है कि एंड्रॉइड जावा चलाता है। एंड्रॉइड डाल्विक चलाता है, जो कोर लाइब्रेरी जावा फ्रेमवर्क पर आधारित हैं, लेकिन अंत में परिणामी बाइनरी फाइलें समान नहीं हैं, और वर्चुअल मशीन भी पूरी तरह से अलग हैं।

जैसे Dalvik VM Java bytecode को नहीं चलाएगा, वैसे ही Java VM, Dalvik bytecode को नहीं चलाएगा।

पुस्तकालयों को डाल्विक में परिवर्तित करना संभव है, यदि सभी सुविधाएँ Android (या अतिरिक्त पुस्तकालयों) में उपलब्ध हैं, लेकिन कुछ भी जिसमें जावा यूआई है, काम नहीं करेगा।


मैं वास्तव में असहमत हूं। Google ने जावा नाम की अपनी भाषा नहीं लिखी, वे बस मुझे विश्वास है कि OpenJDK लिया और विपणन के लिए इसे Dalvik आदि नाम दिया।
युयुम्यम

1
क्या आपने कभी dalvik बाइट कोड की तुलना java बाइट कोड से की है, यह अलग है।
रयान कॉनरैड

1
@Google: यह, सचमुच, पूरी तरह से गलत है। Google ने जावा सिंटैक्स (और कुछ पुस्तकालयों) का उपयोग किया, लेकिन जैसा कि रयान कॉनरैड ने उल्लेख किया है, बाईटेकोड पूरी तरह से अलग है। उन्होंने विपणन उद्देश्यों के लिए जावा JDK का सिर्फ नाम नहीं बदला। अधिक के लिए डालविक की विकिपीडिया प्रविष्टि देखें ।
eldarerathis

3

अगर jar file JavaME के ​​लिए है

नहीं है MicroEmulator जो JavaSE की मदद से JavaME emulates। इससे इन जार फ़ाइलों को एक एपीके में परिवर्तित करना और इसे अपने डिवाइस पर इंस्टॉल करना संभव हो जाता है। प्रक्रिया यहाँ वर्णित है।

नेटरनर एक समान कार्यक्षमता प्रदान करता है।


प्रवाह, कि MicroEmulator लिंक मुझे लगता है कि कुछ और के लिए बदल गया है। क्या आप उत्तर को अपडेट कर सकते हैं।
Firelord

-3

नहीं, आप एंड्रॉइड में जार फाइलें स्थापित नहीं कर सकते हैं, जार से एप्लिकेशन इंस्टॉल करने के लिए हमें J2ME समर्थन की आवश्यकता है जो एंड्रॉइड फोन में नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.