ฉันดาวน์โหลดเกม 3 มิติแล้วคลายซิปและรับไฟล์. jar ฉันจะใช้สิ่งเหล่านี้ใน Android ได้อย่างไร ฉันใช้ Galaxy S 2.1 อยู่
ฉันดาวน์โหลดเกม 3 มิติแล้วคลายซิปและรับไฟล์. jar ฉันจะใช้สิ่งเหล่านี้ใน Android ได้อย่างไร ฉันใช้ Galaxy S 2.1 อยู่
คำตอบ:
แม้ว่า Android จะใช้จาวา แต่ก็ไม่รองรับไฟล์ JAR ปกติ แต่จะใช้รูปแบบเฉพาะของ Android ที่เรียกว่า APK ข้อแตกต่างที่สำคัญคือ Android ไม่ได้ใช้ Java Virtual Machine ปกติ แต่มี Dalvik Virtual Machine เป็นของตัวเองซึ่งได้รับการปรับให้เหมาะสมสำหรับ Android
ฉันไม่เห็นด้วยกับ Ryan Conrad & Onik บางส่วน
ฉันมี Samsung Spica และติดตั้งแอปล่วงหน้าในขณะที่ใช้งาน v1.6 และตอนนี้ใช้งาน 2.1 (ทั้งในรุ่นอย่างเป็นทางการของ Samsung India) - เรียกว่า Java ME Apps
ฉันใช้งานแอพ Java หลายตัว (สำหรับโทรศัพท์ที่ไม่ใช่ Android)
ทั้งคู่เป็นไฟล์ JAR และเมื่อเรียกใช้ผ่านแอป Java ME ทั้งคู่จะทำงานตามที่คาดไว้
ดังนั้นโดยสรุปแล้วมีวิธีเรียกใช้แอพ JAR บน Android อย่างไรก็ตามฉันเห็นด้วยกับทุกสิ่งที่กล่าวถึง WRT APK และ Dalvik
Android ไม่ได้ใช้ "จาวา" ด้วยซ้ำ ภาษาที่ใช้ในการเขียนโค้ดคือ Java แต่ android SDK นั้นใช้โค้ดไบต์ที่รวบรวมและแปลงเป็น Dalvik bytecode
ดังนั้นจึงเป็นความเข้าใจผิดที่ Android ใช้จาวา Android รัน Dalvik ซึ่งไลบรารีแกนหลักนั้นใช้เฟรมเวิร์ก Java แต่ท้ายที่สุดไฟล์ไบนารีที่ได้นั้นไม่เหมือนกันและเครื่องเสมือนก็แตกต่างกันโดยสิ้นเชิง
เช่นเดียวกับ Dalvik VM จะไม่เรียกใช้ Java bytecode, Java VM จะไม่เรียกใช้ Dalvik bytecode
การแปลงไลบรารีเป็น Dalvik อาจเป็นไปได้ถ้าคุณสมบัติทั้งหมดนั้นมีอยู่ใน Android (หรือไลบรารีเพิ่มเติม) แต่สิ่งใดก็ตามที่มี Java UI จะไม่ทำงาน
มีMicroEmulatorซึ่งเลียนแบบ JavaME ด้วยความช่วยเหลือจาก JavaSE ทำให้สามารถแปลงไฟล์ jar เหล่านี้เป็น apk และติดตั้งบนอุปกรณ์ของคุณ กระบวนการอธิบายไว้ที่นี่
NetRunnerมีฟังก์ชันการทำงานที่คล้ายกัน
ไม่คุณไม่สามารถติดตั้งไฟล์ jar ใน Android เพื่อติดตั้งแอปพลิเคชันจาก jar เราต้องการการสนับสนุน J2ME ซึ่งไม่ได้อยู่ในโทรศัพท์ Android