ฉันสงสัยว่าทำไมแอป Android ไม่สามารถเรียกใช้บนUbuntu Touchได้อย่างแท้จริง ฉันหมายความว่าไม่ใช่แค่ลินุกซ์ใช่มั้ย
ฉันสงสัยว่าทำไมแอป Android ไม่สามารถเรียกใช้บนUbuntu Touchได้อย่างแท้จริง ฉันหมายความว่าไม่ใช่แค่ลินุกซ์ใช่มั้ย
คำตอบ:
คำตอบสั้น ๆ คือ "ไม่"
เคอร์เนลของลีนุกซ์ให้การพูดอย่างเคร่งครัดมากกว่าอินเตอร์เฟสโดยตรงกับฮาร์ดแวร์ที่ใช้งานอยู่ มี API โปรแกรมเฉพาะแอพพลิเคชั่นและแอพพลิเคชั่นอื่น ๆ ที่ขึ้นอยู่กับ Android ของโทรศัพท์ Android ทั้งหมด นอกจากนี้ Android ไม่ได้ทำงานบนเคอร์เนล Linux ทั่วไป แต่จะทำงานบนหนึ่งที่ได้รับการปรับแต่งอย่างสูงจาก Google โดยมีวัตถุประสงค์เฉพาะในการใช้งานระบบปฏิบัติการของพวกเขา
แม้ว่าจะเป็นไปได้ในทางเทคนิคในการทำซ้ำสแต็กทั้งหมดที่จำเป็นสำหรับแอปพลิเคชัน Android เพื่อทำงานบนระบบอื่น
Nokia n900 ใช้ maemo witch เป็นระบบปฏิบัติการ linux และยังสามารถเรียกใช้แอพของ Android ผ่าน dalvik environement ที่ถูกพัฒนาขึ้นมาใหม่ แต่ไม่เคยวางตลาด ทำไม? มีเพียงสังคมที่พัฒนา Dalvik สำหรับ n900 เท่านั้นที่รู้ ตอนนี้มีการเรียก apkenv อีกหนึ่งความคิดริเริ่ม ดูเหมือนว่ามันไม่มีอะไรมากไปกว่าที่จะเพิ่มให้กับ n900 ที่ใช้งานเกม android บางตัวและไม่ว่าจะเป็น gpu หรือ cpu power หรือเดสก์ท็อปของ maemo แอพพลิเคชั่นจะมีทะเลสาบเหมือนในการจำลองใด ๆ ดังนั้นเกี่ยวกับการสัมผัสอูบุนตูมันไม่ได้เป็นคำถามของเทคนิค (อาจเป็นฉันผิด แต่โทรศัพท์สัมผัสอย่างเป็นทางการของอูบุนตูเป็น xiaomi ซึ่งใช้สำหรับ Android ด้วยดังนั้นฮาร์ดแวร์ไม่มีปัญหาในกรณีนี้) แต่จะและกฎหมาย thout ที่ google ชนะ '
คำตอบสำหรับคำถามของคุณคือไม่ใหญ่
Androidแตกต่างจากUbuntu Touchอย่างสมบูรณ์แม้ว่า Android จะใช้เคอร์เนล linux แต่นั่นไม่ได้หมายความว่าแอปพลิเคชั่นพื้นฐานของ android สามารถทำงานบน linux และในทางกลับกันได้
ความคล้ายคลึงกันในเคอร์เนลระหว่างระบบปฏิบัติการที่แตกต่างกันไม่ได้ทำให้แอปพลิเคชันของพวกเขาสามารถใช้งานได้บนระบบปฏิบัติการที่แตกต่างกันเหล่านี้ เคอร์เนลเป็นเลเยอร์ซอฟต์แวร์ที่ต่ำที่สุดของระบบ ดังกล่าวข้างต้นเคอร์เนลอยู่พื้นที่ของผู้ใช้ซึ่งประกอบด้วยซอฟต์แวร์ระบบและอินเตอร์เฟซโปรแกรม
ระบบปฏิบัติการที่มีเคอร์เนลเดียวกันอาจมีพื้นที่ผู้ใช้แตกต่างกันโดยสิ้นเชิงและแอปพลิเคชันดั้งเดิมที่ทำงานในพื้นที่ผู้ใช้เฉพาะ
นอกจากนี้แอป Android ที่มีการพัฒนามักจะใช้ Java และปพลิเคชันหุ่นยนต์ดำเนินการในสภาพแวดล้อมรันไทม์ ( DalvikหรือART ) ซึ่งจะใช้เวลาbytecodeจากJVMเป็น input ในขณะที่การใช้งานลินุกซ์จะถูกแปลงโดยตรงในรหัสเครื่องเมื่อรวบรวม
แอปพลิเคชันที่พัฒนาขึ้นสำหรับ Android ที่ใช้ C ++ ไม่สามารถดำเนินการในสภาพแวดล้อม linux โดยตรง แต่จะต้องรวบรวมเป็นครั้งแรกสำหรับระบบ linux