Apakah mungkin menjalankan aplikasi Android di Linux (normal)?

17

Karena Android adalah kernel Linux bercabang ditambah tumpukan perangkat lunak, saya bertanya-tanya apakah ada proyek atau ide mengenai membuat versi Android yang dapat ditambahkan ke sistem Linux untuk memungkinkan sistem Linux menjalankan aplikasi Android (dikompilasi untuk, katakanlah, x86 ).

Apakah hal seperti itu ada atau mungkinkah?

(Maksud saya bukan emulator yang datang dengan SDK.)

Andrew J. Brehm
sumber
2
Android Player untuk BlackBerry Playbook dekat, meskipun tentu saja berjalan pada QNX dan bukan Linux.
Matius Baca

Jawaban:

2

Banyak hal telah berubah sedikit pada tahun-tahun sejak ini diposting.

Sekarang ada beberapa (walaupun belum ada yang sempurna) untuk menjalankan aplikasi Android di Linux tanpa emulator atau VM.

  1. Shashlik fitur integrasi yang cukup bagus dengan lingkungan desktop GNU Anda. Tidak memiliki Layanan Google Play.
  2. ARChon memanfaatkan Google Chrome, dan memungkinkan Anda menginstal aplikasi Android seolah-olah itu adalah aplikasi Chrome. Cukup rapi, meskipun di sini juga, kompatibilitasnya tidak sempurna .
  3. Akhirnya, Google secara resmi membawaPlay Store ke Chrome OS. Karena ini adalah proyek resmi yang dikembangkan oleh Google, saya percaya ini harus memiliki kompatibilitas yang terbaik. Chrome OS adalah distro Linux, berbasiskan Gentoo. Sebagian besar kode sumbernya tersedia melalui proyek Chromium OS. Kode sumber ini tersedia, seharusnya tidak terlalu sulit untuk port kompatibilitas ini ke distribusi GNU / Linux populer. Google relatif ramah terhadap open source (setidaknya dibandingkan dengan Apple / Microsoft), dan saya tidak berpikir mereka akan melemparkan hambatan apa pun ke porting seperti itu. Jika ada, mereka tampaknya tertarik di Play Store mengenai sebanyak mungkin perangkat. Mereka bahkan dapat membangun fungsionalitas ini ke versi Google Chrome untuk Linux yang akan datang, atau merilis paket terpisah. Mereka merilis sebagian besar kode sumber untuk Android dan Chrome OS,

Omong-omong, tidak perlu mengkompilasi APK secara terpisah untuk x86. Aplikasi yang Anda tulis dikompilasi menjadi kode Dalvik Executable (DEX), yang akhirnya dikonversi menjadi kode assembly (sesuai dengan arsitektur yang diperlukan) oleh kernel untuk dikirim ke prosesor. (Bagian terakhir ini diambil dari jawaban ini. )

Revetahw berkata Reinstate Monica
sumber
12

Belum ada yang seperti itu karena aplikasi tidak berjalan secara native di OS, tetapi mereka menggunakan Dalvik Virtual Machine sebagai gantinya ( Wikipedia ). Ini agak sebanding dengan Java dalam arti menggunakan bytecode dan menciptakan lingkungan yang terpisah untuk setiap aplikasi. Jadi, kecuali lingkungan Dalvik porting ke platform lain, mereka tidak dapat dijalankan pada perangkat keras normal.

Ada sebuah proyek bernama Alien Dalvik oleh Myriad yang mencoba menjalankan aplikasi Android di lingkungan yang berbeda, tetapi tidak ada banyak info tentangnya. Myriad Alien Dalvik

onik
sumber
1

Banyak hal telah berubah lagi sejak Revetahw mengepos.

Shashlik tampaknya merupakan proyek yang tidak aktif, tetapi Anbox tampaknya mendapatkan dukungan. Keuntungan dengan Anbox adalah tidak meniru kernel Android, melainkan menggunakan fitur kernel Linux untuk berbagi kernel antara sistem Linux Anda dan sistem Android.

Juga, Chrome OS sekarang memiliki dukungan aplikasi Android yang stabil pada beberapa perangkat, tetapi sayangnya, integrasi ini adalah sumber tertutup tanpa rencana untuk open-source yang diumumkannya.

Manusia Timah
sumber
0

Saya tidak tahu apakah ada proyek semacam ini. Apa yang paling mendekati mungkin adalah proyek android-x86 yang merupakan port dari lingkungan android di workstation desktop: http://www.android-x86.org/

Juri
sumber
1
Ini tidak meniru lingkungan Android di workstation desktop, ini adalah port Android ke PC normal.
Andrew J. Brehm
Tentu, formulasi saya tidak terlalu cocok. Memperbaikinya, terima kasih.
Juri