เป็นไปได้ไหมที่จะใช้งานแอพพลิเคชั่น Android บน (ปกติ) Linux?


17

เนื่องจาก Android เป็นเคอร์เนลลินุกซ์และซอฟต์แวร์ที่ซ้อนกันฉันสงสัยว่ามีโครงการหรือแนวคิดใด ๆ เกี่ยวกับการสร้าง Android เวอร์ชันที่สามารถเพิ่มลงในระบบ Linux เพื่อให้ระบบ Linux สามารถใช้งานแอปพลิเคชัน Android (รวบรวมเพื่อพูด x86 )

มีอะไรเช่นนั้นที่มีอยู่หรือเป็นไปได้ไหม?

(ฉันไม่ได้หมายถึงโปรแกรมจำลองที่มาพร้อมกับ SDK)


2
Android Player สำหรับ BlackBerry Playbook อยู่ใกล้ แต่แน่นอนว่ามันรันบน QNX ไม่ใช่ Linux
Matthew อ่าน

คำตอบ:


2

สิ่งต่าง ๆ มีการเปลี่ยนแปลงเล็กน้อยในปีที่ผ่านมานับตั้งแต่นี้ถูกโพสต์

ขณะนี้มีหลายวิธี (ในขณะนี้ยังไม่มีวิธีที่สมบูรณ์แบบ) ในการใช้งานแอพ Android บน Linux โดยไม่มีตัวจำลองหรือ VM

  1. Shashlikมีการรวมที่ดีกับสภาพแวดล้อมเดสก์ท็อป GNU ของคุณ แม้ว่าขาดบริการ Google Play
  2. ARChonใช้ Google Chrome และให้คุณติดตั้งแอพ Android ราวกับเป็นแอป Chrome มันเป็นระเบียบสวย แต่ที่นี่เกินไปความเข้ากันได้ไม่สมบูรณ์
  3. ในที่สุด Google ก็นำอย่างเป็นทางการPlay Store ไปยัง Chrome OS เนื่องจากนี่เป็นโครงการอย่างเป็นทางการที่พัฒนาโดย Google ฉันเชื่อว่ามันควรมีความเข้ากันได้ดีที่สุด Chrome OS เป็น Linux distro อ้างอิงจาก Gentoo ส่วนใหญ่ของซอร์สโค้ดนั้นมีให้ผ่านโครงการ Chromium OS ซอร์สโค้ดนี้ใช้งานได้ไม่ควรยากเกินกว่าที่จะพอร์ตความเข้ากันได้นี้กับการแจกแจง GNU / Linux ที่ได้รับความนิยม Google ค่อนข้างเป็นมิตรกับโอเพนซอร์ส (อย่างน้อยเมื่อเทียบกับ Apple / Microsoft) และฉันไม่คิดว่าพวกเขาจะทิ้งสิ่งกีดขวางบนถนนเพื่อย้ายพอร์ตดังกล่าว หากมีสิ่งใดพวกเขาดูเหมือนจะกระตือรือร้นใน Play Store ที่กระทบอุปกรณ์ให้ได้มากที่สุด พวกเขาอาจสร้างฟังก์ชันการทำงานนี้เป็น Google Chrome รุ่นสำหรับอนาคตหรือเผยแพร่แพ็คเกจแยกต่างหาก พวกเขาปล่อยซอร์สโค้ดส่วนใหญ่สำหรับทั้ง Android และ Chrome OS

ไม่จำเป็นต้องรวบรวม APK สำหรับ x86 แยกกัน แอพที่คุณเขียนจะถูกรวบรวมเป็นรหัส Dalvik Executable (DEX) ซึ่งในที่สุดจะถูกแปลงเป็นรหัสประกอบ (ตามสถาปัตยกรรมที่ต้องการ) โดยเคอร์เนลเพื่อส่งไปยังโปรเซสเซอร์ (ส่วนสุดท้ายนี้นำมาจากคำตอบนี้ )


12

ยังไม่มีอะไรที่เป็นเช่นนี้เนื่องจากแอพไม่ได้ทำงานในระบบปฏิบัติการ แต่พวกเขาใช้ Dalvik Virtual Machine แทน ( Wikipedia ) มันค่อนข้างเทียบเคียงกับ Java ในแง่ที่ว่ามันใช้ bytecode และสร้างสภาพแวดล้อมที่แยกออกจากกันสำหรับแต่ละแอพ ดังนั้นหากสภาพแวดล้อมของ Dalvik ไม่ได้รับการพอร์ตไปยังแพลตฟอร์มอื่น ๆ พวกเขาจะไม่สามารถทำงานบนฮาร์ดแวร์ปกติได้

มีโครงการชื่อ Alien Dalvik โดย Myriad ที่พยายามเรียกใช้แอพ Android ในสภาพแวดล้อมที่แตกต่างกัน แต่ไม่มีข้อมูลมากนัก My Dalad Alien Dalvik


1

สิ่งต่าง ๆ มีการเปลี่ยนแปลงอีกครั้งนับตั้งแต่ Revetahw โพสต์

ดูเหมือนว่า Shashlik จะเป็นโปรเจ็กต์ที่ไม่ได้ใช้งาน แต่ Anbox ดูเหมือนจะได้รับความสนใจ ข้อดีของ Anbox คือมันไม่ได้เลียนแบบเคอร์เนลของ Android แต่ใช้คุณลักษณะของเคอร์เนล Linux เพื่อแชร์เคอร์เนลระหว่างระบบ Linux และระบบ Android ของคุณ

ตอนนี้ Chrome OS รองรับการใช้งานแอพ Android ที่เสถียรบนอุปกรณ์หลายเครื่อง แต่น่าเสียดายที่การรวมกลุ่มนี้เป็นแหล่งข้อมูลปิดที่ไม่มีแผนเปิดโอเพ่นซอร์ส


0

ฉันไม่รู้ว่ามีโครงการประเภทนี้หรือไม่ สิ่งที่ใกล้เคียงที่สุดอาจเป็นโครงการ Android-x86 ที่เป็นพอร์ตของสภาพแวดล้อม Android บนเวิร์กสเตชันเดสก์ทอป: http://www.android-x86.org/


1
นี่ไม่ได้จำลองสภาพแวดล้อม Android บนเวิร์กสเตชันเดสก์ท็อป แต่เป็นพอร์ตของ Android ไปยังพีซีปกติ
Andrew J. Brehm

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