Da Android ein abgespaltener Linux-Kernel plus -Software-Stack ist, frage ich mich, ob es Projekte oder Ideen zum Erstellen einer Version von Android gibt, die zu einem Linux-System hinzugefügt werden kann, damit ein Linux-System Android-Anwendungen ausführen kann (kompiliert für z. B. x86) ).
Gibt es so etwas oder wäre es möglich?
(Ich meine nicht den Emulator, der mit dem SDK geliefert wird.)
applications
linux
x86
Andrew J. Brehm
quelle
quelle
Antworten:
Die Dinge haben sich in den Jahren, seitdem dies veröffentlicht wurde, ein wenig geändert.
Es gibt jetzt mehrere (aber noch keine perfekte) Möglichkeiten, Android-Apps unter Linux ohne Emulator oder VM auszuführen.
Übrigens müssen APKs für x86 nicht separat kompiliert werden. Die Apps, die Sie schreiben, werden in Dalvik Executable (DEX) -Code kompiliert, der schließlich vom Kernel in Assembly-Code (entsprechend der erforderlichen Architektur) konvertiert wird , um ihn an den Prozessor zu senden. (Der letzte Teil stammt aus dieser Antwort. )
quelle
Es gibt noch nichts Vergleichbares, da die Apps nicht nativ im Betriebssystem ausgeführt werden, sondern stattdessen Dalvik Virtual Machine ( Wikipedia ) verwenden. Es ist in gewisser Weise vergleichbar mit Java, da es Bytecode verwendet und für jede App eine separate Umgebung erstellt. Sofern die Dalvik-Umgebung nicht auf andere Plattformen portiert ist, können sie nicht auf normaler Hardware ausgeführt werden.
Es gibt ein Projekt namens Alien Dalvik von Myriad, das versucht, Android-Apps in verschiedenen Umgebungen auszuführen, aber es gibt nicht viele Informationen darüber. Myriade Alien Dalvik
quelle
Die Dinge haben sich wieder geändert, seitdem Revetahw veröffentlicht hat.
Schaschlik scheint ein inaktives Projekt zu sein, aber Anbox scheint an Boden zu gewinnen. Der Vorteil von Anbox ist, dass es nicht den Android-Kernel emuliert, sondern Linux-Kernelfunktionen verwendet, um den Kernel zwischen Ihrem Linux-System und dem Android-System zu teilen.
Chrome OS unterstützt nun auch stabile Android-Apps auf mehreren Geräten. Leider handelt es sich bei dieser Integration um eine Closed-Source-Integration, für die keine Open-Source-Integration angekündigt wurde.
quelle
Ich weiß nicht, ob es solche Projekte gibt. Was wahrscheinlich am nächsten kommt, sind die Android-x86-Projekte, die ein Port einer Android-Umgebung auf Desktop-Workstations sind: http://www.android-x86.org/
quelle