แอพ Android สามารถทำงานใน Ubuntu ได้หรือไม่?


28

ฉันสงสัยว่าทำไมแอป Android ไม่สามารถเรียกใช้บนUbuntu Touchได้อย่างแท้จริง ฉันหมายความว่าไม่ใช่แค่ลินุกซ์ใช่มั้ย


1
สภาพแวดล้อมเดสก์ท็อปเป็นปัจจัยสำคัญที่ทำให้แอปพลิเคชันรองรับ
Patrick C. James

8
นี่เป็นคำถามที่ค่อนข้างดี Nooby แน่นอน แต่ถูกต้องมาก มี upvote
don.joey

ฉันเห็นด้วยกับ @ don.joey เนื่องจากนี่ไม่ใช่สิ่งที่ค้นคว้าได้ง่ายกว่าบทสรุปประเภท "ใช่" หรือ "ไม่"
MGodby

มีการสนทนาที่น่าสนใจเกี่ยวกับอูบุนตูสดล่าสุดซึ่งครอบคลุมหัวข้อนี้มาก: youtube.com/watch?feature=player_embedded&v=etMduYRRwDc 25:00 27:10 52:45 54:47 55:20 <การประทับเวลาในบางเรื่องที่เกี่ยวข้อง คะแนน
Mateo

นี่เป็นปัญหาที่พวกเขามีซีพียูแตกต่างกันหรือไม่
Kevin Fegan

คำตอบ:


24

คำตอบสั้น ๆ คือ "ไม่"

เคอร์เนลของลีนุกซ์ให้การพูดอย่างเคร่งครัดมากกว่าอินเตอร์เฟสโดยตรงกับฮาร์ดแวร์ที่ใช้งานอยู่ มี API โปรแกรมเฉพาะแอพพลิเคชั่นและแอพพลิเคชั่นอื่น ๆ ที่ขึ้นอยู่กับ Android ของโทรศัพท์ Android ทั้งหมด นอกจากนี้ Android ไม่ได้ทำงานบนเคอร์เนล Linux ทั่วไป แต่จะทำงานบนหนึ่งที่ได้รับการปรับแต่งอย่างสูงจาก Google โดยมีวัตถุประสงค์เฉพาะในการใช้งานระบบปฏิบัติการของพวกเขา

แม้ว่าจะเป็นไปได้ในทางเทคนิคในการทำซ้ำสแต็กทั้งหมดที่จำเป็นสำหรับแอปพลิเคชัน Android เพื่อทำงานบนระบบอื่น


3
ใช่มั้ยการใช้งานชุดคลังโทรศัพท์บนเดสก์ท็อปที่มีประสิทธิภาพมากกว่าถึง 10 เท่านั้นไม่มีประสิทธิภาพอย่างยิ่งหรือ เราใช้อีมูเลเตอร์โทรศัพท์มือถือบนเดสก์ท็อปมาสิบปีแล้ว
MSalters

3
ฉันตอบในหลักฐานที่ผู้ถามมีความหมายโดยกำเนิดคือไม่มีผู้เลียนแบบหรือเวอร์ชวลไลเซชัน
MGodby

5
@MSalters โปรแกรมจำลองจะใช้ทรัพยากรมากขึ้นเพื่อสร้างผลลัพธ์เดียวกันเมื่อเทียบกับโปรแกรมเนทีฟ นั่นคือคำจำกัดความของความไร้ประสิทธิภาพ และ Android Emulators นั้นช้ามากในประสบการณ์ของฉัน
jmathew

1
@ jmathew จากมุมมองของนักพัฒนา (อย่างน้อยฉัน) ประโยชน์อย่างหนึ่งคือถ้าแอปทำงานได้ดีพอในอีมูเลเตอร์บนเครื่องที่ช้าแล้วมันจะทำงานได้ดีบนกองโทรศัพท์ต่อรองราคาต่ำสุดที่ออกมา
zxq9

2
@ jmathew ฉันคิดว่าสิ่งที่ MSalters พยายามพูดคือเมื่อใช้งานอีมูเลเตอร์เป็นเวลาหลายปีแล้วมันไม่มีทางที่การทำงานแบบเดียวกันจะไม่มีประสิทธิภาพ
kasperd

1

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


1

คำตอบสำหรับคำถามของคุณคือไม่ใหญ่

Androidแตกต่างจากUbuntu Touchอย่างสมบูรณ์แม้ว่า Android จะใช้เคอร์เนล linux แต่นั่นไม่ได้หมายความว่าแอปพลิเคชั่นพื้นฐานของ android สามารถทำงานบน linux และในทางกลับกันได้

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

ระบบปฏิบัติการที่มีเคอร์เนลเดียวกันอาจมีพื้นที่ผู้ใช้แตกต่างกันโดยสิ้นเชิงและแอปพลิเคชันดั้งเดิมที่ทำงานในพื้นที่ผู้ใช้เฉพาะ

นอกจากนี้แอป Android ที่มีการพัฒนามักจะใช้ Java และปพลิเคชันหุ่นยนต์ดำเนินการในสภาพแวดล้อมรันไทม์ ( DalvikหรือART ) ซึ่งจะใช้เวลาbytecodeจากJVMเป็น input ในขณะที่การใช้งานลินุกซ์จะถูกแปลงโดยตรงในรหัสเครื่องเมื่อรวบรวม

แอปพลิเคชันที่พัฒนาขึ้นสำหรับ Android ที่ใช้ C ++ ไม่สามารถดำเนินการในสภาพแวดล้อม linux โดยตรง แต่จะต้องรวบรวมเป็นครั้งแรกสำหรับระบบ linux

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