Pertanyaan Apakah aplikasi Android dapat berjalan di Ubuntu sentuhan aslinya?


Saya bertanya-tanya mengapa aplikasi Android tidak dapat dijalankan secara bawaan Ubuntu Touch. Maksud saya, bukankah semuanya hanya Linux?


28
2017-10-10 15:23


asal


Lingkungan desktop adalah faktor besar dalam hal apa aplikasi kompatibel. - Patrick C. James
Ini sebenarnya pertanyaan yang cukup bagus. Nooby memang, tapi sangat valid. Miliki upvote. - don.joey
Saya setuju dengan @ don.joey karena ini bukan sesuatu yang mudah diteliti melampaui jenis kesimpulan "ya" atau "tidak". - MGodby
Ada beberapa diskusi menarik tentang live ubuntu terbaru, yang mencakup banyak topik ini: youtube.com/watch?feature=player_embedded&v=etMduYRRwDc 25:00 27:10 52:45 54:47 55:20 <prangko waktu pada beberapa poin yang relevan - Mateo
Bukankah itu juga masalah bahwa mereka mungkin memiliki CPU yang berbeda? - Kevin Fegan


Jawaban:


Jawaban singkatnya adalah "tidak."

Secara tegas, kernel Linux menyediakan sedikit lebih dari satu antarmuka langsung ke perangkat keras yang sedang berjalan. Ada seluruh tumpukan API, program, aplikasi, dll. Khusus ponsel Android yang menjadi tempat aplikasi Android bergantung. Selain itu, Android tidak berjalan di kernel Linux generik, tetapi berjalan di salah satu yang telah sangat disesuaikan oleh Google dengan tujuan khusus menjalankan OS mereka.

Bahkan jika secara teknis mungkin untuk mereproduksi seluruh tumpukan yang diperlukan untuk aplikasi Android untuk dijalankan pada sistem lain, itu akan kembung dan sangat tidak efisien.


24
2017-10-10 15:36



Hak - menjalankan seperangkat perpustakaan telepon di desktop yang 10 kali lebih kuat sangat tidak efisien? Kami telah menjalankan emulator ponsel di desktop selama satu dekade sekarang. - MSalters
Saya menjawab pada premis bahwa penanya bermaksud secara alami, yaitu tanpa emulator atau virtualisasi. - MGodby
@MSalters Emulator akan digunakan lebih banyak sumber daya untuk menghasilkan output yang sama dibandingkan dengan program asli. Itu cukup banyak definisi inefisiensi. Dan Emulator Android sangat lambat dalam pengalaman saya. - jmathew
@jmathew Dari perspektif pengembang (setidaknya saya) satu manfaatnya adalah jika sebuah aplikasi berjalan dengan cukup baik dalam emulator pada mesin yang lambat, maka ia akan berkinerja cukup baik pada tumpukan ponsel murah murah di luar sana. - zxq9
@jmathew Saya pikir apa yang MSalters coba katakan adalah bahwa ketika sudah praktis selama beberapa tahun untuk menggunakan emulator, maka tidak ada cara yang menjalankan hal yang sama secara native bisa tidak efisien. - kasperd


Nokia n900 menjalankan maemo witch adalah linux os dan dapat menjalankan aplikasi android melalui lingkungan dalvik yang dikembangkan untuk itu tetapi tidak pernah dipasang di pasar atau repisitories. Mengapa? Hanya masyarakat yang mengembangkan dalvik untuk n900 yang tahu. Sekarang ada inisiatif lain memanggil apkenv. Tampaknya tidak ada banyak hal yang perlu ditambahkan untuk membuat n900 menjalankan beberapa game android dan tidak peduli tentang GPU atau daya cpu atau desktop maemo aplikasi berjalan di sana beberapa danau seperti di emulasi tetapi beberapa berjalan dengan sempurna beberapa tidak. Jadi tentang sentuhan ubuntu itu bukan pertanyaan teknis (mungkin saya salah tapi satu telepon sentuhan resmi ubuntu adalah xiaomi yang digunakan untuk android juga jadi perangkat keras tidak masalah dalam hal ini) tetapi akan dan hukum bahwa google menang ' t senang bahwa ubuntu menjalankan aplikasi android dan menggunakan google play sebagai repositori kedua (perhatikan bahwa dimungkinkan untuk mengunduh .apk sebagai .deb dan menginstal setelah).


1
2018-03-14 19:43





Jawaban atas pertanyaan Anda adalah a TIDAK BESAR.

Android benar-benar berbeda dari Ubuntu Touch meskipun android didasarkan pada kernel linux tetapi itu tidak berarti bahwa aplikasi native android dapat berjalan di linux dan sebaliknya.

Kesamaan dalam kernel antara OS yang berbeda tidak membuat aplikasi mereka dapat dieksekusi pada OS yang berbeda ini. Kernel adalah lapisan perangkat lunak terendah dari suatu sistem. Di atas kebohongan kernel ruang pengguna yang terdiri dari perangkat lunak sistem dan antarmuka aplikasi.

OS dengan kernel yang sama mungkin memiliki ruang pengguna yang sepenuhnya berbeda dan aplikasi asli yang dijalankan dalam ruang pengguna tertentu.

Selain itu, aplikasi Android dikembangkan biasanya menggunakan java dan aplikasi android dijalankan dalam lingkungan runtime (Dalvik atau SENI) yang mengambil bytecode dari JVM sebagai input, sedangkan aplikasi linux secara langsung diubah menjadi kode mesin setelah kompilasi.

Aplikasi yang dikembangkan untuk android menggunakan C ++ tidak dapat dijalankan di lingkungan linux secara langsung melainkan harus dikompilasi terlebih dahulu untuk sistem linux.


1
2018-03-15 03:30