È possibile eseguire applicazioni Android su (normale) Linux?


17

Dato che Android è un kernel Linux biforcuto più stack software, mi chiedo se ci siano progetti o idee riguardanti la creazione di una versione di Android che può essere aggiunta a un sistema Linux per consentire a un sistema Linux di eseguire applicazioni Android (compilato, diciamo, x86 ).

Esiste qualcosa del genere o sarebbe possibile?

(Non intendo l'emulatore fornito con l'SDK.)


2
Il lettore Android per il BlackBerry Playbook è vicino, anche se ovviamente funziona su QNX e non su Linux.
Matteo Leggi il

Risposte:


2

Le cose sono cambiate un po 'negli anni da quando questo è stato pubblicato.

Ora ci sono molti (anche se nessuno dei quali perfetto ancora) per eseguire app Android su Linux senza emulatore o VM.

  1. Shashlik offre una buona integrazione con l'ambiente desktop GNU. Manca di Google Play Services, però.
  2. ARChon utilizza Google Chrome e ti consente di installare app Android come se fossero app Chrome. È abbastanza pulito, anche se anche qui, la compatibilità non è perfetta .
  3. Infine, Google lo è portando ufficialmenteil Play Store su Chrome OS. Poiché si tratta di un progetto ufficiale sviluppato da Google, credo che dovrebbe avere la migliore compatibilità del lotto. Chrome OS è una distribuzione Linux, basata su Gentoo. La maggior parte del suo codice sorgente è resa disponibile attraverso il progetto Chromium OS. Poiché questo codice sorgente è disponibile, non dovrebbe essere troppo difficile eseguire il porting di questa compatibilità con le diffuse distribuzioni GNU / Linux. Google è relativamente amichevole all'open source (almeno rispetto ad Apple / Microsoft), e non penso che porterebbe a blocchi di questo porting. Semmai, amano il Play Store colpire il maggior numero possibile di dispositivi. Potrebbero persino integrare questa funzionalità nelle versioni future di Google Chrome per Linux o rilasciare un pacchetto separato. Rilasciano gran parte del codice sorgente sia per Android che per Chrome OS,

A proposito, non è necessario compilare APK separatamente per x86. Le app che scrivi vengono compilate nel codice eseguibile di Dalvik (DEX), che viene infine convertito in codice assembly (secondo l'architettura richiesta) dal kernel per l'invio al processore. (Quest'ultima parte è presa da questa risposta. )


12

Non esiste ancora nulla del genere poiché le app non vengono eseguite in modo nativo nel sistema operativo, ma usano invece Dalvik Virtual Machine ( Wikipedia ). È in qualche modo paragonabile a Java, nel senso che utilizza bytecode e crea un ambiente separato per ogni app. Quindi, a meno che l'ambiente Dalvik non sia trasferito su altre piattaforme, non possono essere eseguiti su hardware normale.

Esiste un progetto chiamato Alien Dalvik di Myriad che tenta di eseguire app Android in ambienti diversi, ma non contiene molte informazioni. Una miriade di alieni Dalvik


1

Le cose sono cambiate di nuovo da quando Revetahw ha pubblicato.

Shashlik sembra essere un progetto inattivo, ma Anbox sembra guadagnare terreno. Il vantaggio con Anbox è che non emula il kernel Android, ma piuttosto utilizza le funzionalità del kernel Linux per condividere il kernel tra il sistema Linux e il sistema Android.

Inoltre, Chrome OS ora ha un supporto per app Android stabile su diversi dispositivi, ma sfortunatamente questa integrazione è a codice chiuso senza piani per open-source.


0

Non so se ci sono progetti di questo tipo. Ciò che si avvicina probabilmente sono i progetti Android-x86 che è una porta di un ambiente Android su workstation desktop: http://www.android-x86.org/


1
Questo non emula un ambiente Android su workstation desktop, è una porta di Android per PC normali.
Andrew J. Brehm,

Certo, la mia formulazione non era molto adatta. Risolto il problema, grazie.
Juri,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.