Android uygulamalarını (normal) Linux'ta çalıştırmak mümkün müdür?


17

Android çatallı bir Linux çekirdeği artı yazılım yığını olduğu için, bir Linux sisteminin Android uygulamalarını çalıştırmasına izin vermek için bir Linux sistemine eklenebilecek bir Android sürümü oluşturmaya yönelik herhangi bir proje veya fikir olup olmadığını merak ediyorum. ).

Böyle bir şey var mı yoksa mümkün mü?

(SDK ile birlikte gelen emülatör demek istemiyorum.)


2
BlackBerry Playbook için Android Oynatıcı yakın, tabii ki Linux değil QNX üzerinde çalışıyor.
Matthew

Yanıtlar:


2

Bu yayınlanmasından bu yana yıllar içinde işler biraz değişti.

Artık Android uygulamalarını Linux'ta emülatör veya VM olmadan çalıştırmanın birkaç yolu var (bunların hiçbiri henüz mükemmel değil).

  1. shashlik , GNU masaüstü ortamınızla oldukça güzel bir entegrasyona sahiptir. Yine de Google Play Hizmetleri eksik.
  2. ARChon , Google Chrome'u kullanır ve Android uygulamalarını Chrome uygulamalarıymış gibi yüklemenize olanak tanır. Oldukça temiz, burada da uyumluluk mükemmel değil .
  3. Son olarak, Google resmi olarakPlay Store'u Chrome OS'ye yükleyin. Bu, Google tarafından geliştirilen resmi bir proje olduğundan, bunun en iyi uyumluluğa sahip olması gerektiğine inanıyorum. Chrome OS, Gentoo tabanlı bir Linux dağıtımdır. Kaynak kodunun büyük bir kısmı Chromium OS projesi aracılığıyla kullanılabilir. Bu kaynak kodu mevcut olduğundan, bu uyumluluğu popüler GNU / Linux dağıtımlarına taşımak çok zor olmamalıdır. Google, (en azından Apple / Microsoft ile karşılaştırıldığında) açık kaynaklara nispeten dost ve bu tür bir bağlantıya herhangi bir birlikte göstereceklerini sanmıyorum. Bir şey olursa, Play Store'da olabildiğince çok cihaza çarpmaya istekli görünüyorlar. Hatta bu işlevi Linux için Google Chrome'un gelecekteki sürümlerine de ekleyebilir veya ayrı bir paket yayınlayabilirler. Hem Android hem de Chrome OS için kaynak kodun çoğunu yayınlıyorlar,

Bu arada, x86 için APK'ları ayrı ayrı derlemeye gerek yoktur. Yazdığınız uygulamalar , işlemciye göndermek için çekirdek tarafından derleme koduna (gerekli mimariye göre) dönüştürülen Dalvik Yürütülebilir (DEX) kodunda derlenir . (Bu son bölüm bu cevaptan alınmıştır . )


12

Uygulamalar işletim sisteminde yerel olarak çalışmadığından henüz böyle bir şey yok, ancak bunun yerine Dalvik Sanal Makinesi kullanıyorlar ( Wikipedia ). Bytecode kullanması ve her uygulama için ayrı bir ortam oluşturması açısından Java ile biraz karşılaştırılabilir. Dolayısıyla Dalvik ortamı başka platformlara taşınmazsa, normal donanımda çalıştırılamazlar.

Myriad tarafından Alien Dalvik adlı, Android uygulamalarını farklı ortamlarda çalıştırmaya çalışan bir proje var, ancak üzerinde çok fazla bilgi yok. Sayısız Uzaylı Dalvik


1

Revetahw'ın yayınlanmasından bu yana işler tekrar değişti.

Şaşlık aktif olmayan bir proje gibi görünüyor, ancak Anbox zemin kazanıyor gibi görünüyor. Anbox'ın avantajı, Android çekirdeğini taklit etmemesi, aksine çekirdeği Linux sisteminiz ile Android sistemi arasında paylaşmak için Linux çekirdek özelliklerini kullanmasıdır.

Ayrıca, Chrome OS artık birkaç cihazda istikrarlı bir Android uygulama desteğine sahip, ancak ne yazık ki, bu entegrasyon açık kaynaklı bir plan yapmadığı için kapalı kaynak.


0

Bu tür projeler olup olmadığını bilmiyorum. En yakın şey muhtemelen masaüstü iş istasyonlarında bir android ortamının limanı olan android-x86 projeleri: http://www.android-x86.org/


1
Bu, masaüstü iş istasyonlarında bir Android ortamını taklit etmez, normal PC'lere Android bağlantısıdır.
Andrew J. Brehm

Tabii, formülasyonum çok uygun değildi. Düzeltildi, teşekkürler.
Juri
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.