ฉันจะติดตั้งไฟล์. jar บน Android ได้อย่างไร


9

ฉันดาวน์โหลดเกม 3 มิติแล้วคลายซิปและรับไฟล์. jar ฉันจะใช้สิ่งเหล่านี้ใน Android ได้อย่างไร ฉันใช้ Galaxy S 2.1 อยู่

คำตอบ:


13

แม้ว่า Android จะใช้จาวา แต่ก็ไม่รองรับไฟล์ JAR ปกติ แต่จะใช้รูปแบบเฉพาะของ Android ที่เรียกว่า APK ข้อแตกต่างที่สำคัญคือ Android ไม่ได้ใช้ Java Virtual Machine ปกติ แต่มี Dalvik Virtual Machine เป็นของตัวเองซึ่งได้รับการปรับให้เหมาะสมสำหรับ Android


คุณหมายถึงว่าฉันไม่สามารถติดตั้งไฟล์ jar ใน android 2.1 ได้
Jeevan Bhatt

5
@ Jeevan Bhatt: แน่นอน สิ่งนี้สามารถเปลี่ยนแปลงได้ในอนาคต (ถ้ามีคนเขียน JVM สำหรับ Android) แต่ฉันจะไม่กลั้นลมหายใจ
onik

ฉันค้นหาบนอินเทอร์เน็ตและรู้ว่า Android รองรับไฟล์ apk เท่านั้นดังนั้นฉันต้องแปลง. jar เป็น. apk โดยตัวแปลงบางตัวจริงหรือไม่
Jeevan Bhatt

4
ใช่มีตัวแปลงบางตัว แต่มันไม่น่าเชื่อถือ ปัญหาคือ Android ใช้ส่วนหนึ่งของไลบรารี java ทั้งหมดและเพิ่มห้องสมุดของตัวเองเพื่อควบคุมคุณสมบัติส่วนใหญ่ ตัวอย่างเช่นคลาส Graphical User Interface ไม่สามารถใช้บน Android (เช่น swing) ตัวแปลงต้องเขียนเหตุการณ์ UI ทั้งหมดเช่นฟังก์ชันหน้าจอสัมผัส / แป้นพิมพ์ เห็นได้ชัดว่าตัวแปลงบางตัวสามารถทำสิ่งนี้สำหรับ MIDP applets (J2ME) ที่ใช้กับโทรศัพท์รุ่นเก่า แต่แอป Java ปกติ (อาจ) ไม่ทำงาน คุณสามารถลองใช้เครื่องมือแปลงได้ แต่ผลลัพธ์ส่วนใหญ่จะล่าช้าเป็นรถหรือผิดพลาด
onik

9

ฉันไม่เห็นด้วยกับ Ryan Conrad & Onik บางส่วน

ฉันมี Samsung Spica และติดตั้งแอปล่วงหน้าในขณะที่ใช้งาน v1.6 และตอนนี้ใช้งาน 2.1 (ทั้งในรุ่นอย่างเป็นทางการของ Samsung India) - เรียกว่า Java ME Apps

ฉันใช้งานแอพ Java หลายตัว (สำหรับโทรศัพท์ที่ไม่ใช่ Android)

ทั้งคู่เป็นไฟล์ JAR และเมื่อเรียกใช้ผ่านแอป Java ME ทั้งคู่จะทำงานตามที่คาดไว้

ดังนั้นโดยสรุปแล้วมีวิธีเรียกใช้แอพ JAR บน Android อย่างไรก็ตามฉันเห็นด้วยกับทุกสิ่งที่กล่าวถึง WRT APK และ Dalvik


แอป Formula 1 ที่คุณเชื่อมโยงดูเหมือนว่าจะเป็นแอพ Android และไม่ใช่แอปพลิเคชัน java / j2me ..
Irfan

1
ตอนนี้มันเป็น ... เมื่อฉันโพสต์มันไม่มีรุ่น Android - เพียงแค่ J2ME ;-)
Sparx

คุณทำงานได้อย่างไร
อยากรู้อยากเห็น

4

Android ไม่ได้ใช้ "จาวา" ด้วยซ้ำ ภาษาที่ใช้ในการเขียนโค้ดคือ Java แต่ android SDK นั้นใช้โค้ดไบต์ที่รวบรวมและแปลงเป็น Dalvik bytecode

ดังนั้นจึงเป็นความเข้าใจผิดที่ Android ใช้จาวา Android รัน Dalvik ซึ่งไลบรารีแกนหลักนั้นใช้เฟรมเวิร์ก Java แต่ท้ายที่สุดไฟล์ไบนารีที่ได้นั้นไม่เหมือนกันและเครื่องเสมือนก็แตกต่างกันโดยสิ้นเชิง

เช่นเดียวกับ Dalvik VM จะไม่เรียกใช้ Java bytecode, Java VM จะไม่เรียกใช้ Dalvik bytecode

การแปลงไลบรารีเป็น Dalvik อาจเป็นไปได้ถ้าคุณสมบัติทั้งหมดนั้นมีอยู่ใน Android (หรือไลบรารีเพิ่มเติม) แต่สิ่งใดก็ตามที่มี Java UI จะไม่ทำงาน


ฉันไม่เห็นด้วยจริงๆ Google ไม่ได้เขียนภาษาที่เรียกว่าภาษาจาวาพวกเขาแค่เชื่อว่าใช้ OpenJDK และตั้งชื่อให้ Dalvik และอื่น ๆ เพื่อการตลาด
YumYumYum

1
คุณเคยเปรียบเทียบโค้ด dalvik byte กับโค้ด java byte หรือไม่
Ryan Conrad

1
@Google: นั่นคือผิดอย่างแท้จริง Google ใช้ไวยากรณ์ Java (และบางไลบรารี) แต่ตามที่ Ryan Conrad ตั้งข้อสังเกตว่า bytecode นั้นแตกต่างอย่างสิ้นเชิง พวกเขาไม่เพียง "เปลี่ยนชื่อ" Java JDK เพื่อวัตถุประสงค์ทางการตลาด ดูรายการ Wikipedia ของ Dalvikเพิ่มเติม
eldarerathis

3

หากไฟล์ jar สำหรับ JavaME

มีMicroEmulatorซึ่งเลียนแบบ JavaME ด้วยความช่วยเหลือจาก JavaSE ทำให้สามารถแปลงไฟล์ jar เหล่านี้เป็น apk และติดตั้งบนอุปกรณ์ของคุณ กระบวนการอธิบายไว้ที่นี่

NetRunnerมีฟังก์ชันการทำงานที่คล้ายกัน


Flow ลิงก์ MicroEmulator นั้นดูเหมือนจะเปลี่ยนเป็นอย่างอื่นที่ฉันคิดเอาไว้ คุณช่วยอัพเดทคำตอบได้ไหม
Firelord

-3

ไม่คุณไม่สามารถติดตั้งไฟล์ jar ใน Android เพื่อติดตั้งแอปพลิเคชันจาก jar เราต้องการการสนับสนุน J2ME ซึ่งไม่ได้อยู่ในโทรศัพท์ Android

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.