Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Android Auto Simulation/Port
#1
Hallo alle zusammen,

ich habe heute mal die neue "Android Auto Desktop Headunit" getestet und es wäre natürlich ziemlich genial, wenn man das Teil irgendwie auf dem RPi zum laufen kriegt. Natürlich wäre die Performance nicht so toll, aber da der Quellcode nicht öffentlich ist, wäre das sowieso Zeitverschwendung da was zu machen.

Dann habe ich mal wieder in einen Thread im xda Forum geschaut, wo jemand versucht hat eine App zu schreiben, die eine AA Headunit simuliert. Mittlerweile läuft das Teil auch echt gut, hab das heute ein paar Stunden am laufen gehabt und bin echt beeindruckt. Hier mal der Link

Aber jetzt kommt das eigentlich Problem: Das ganze ist eine Android App, d.h. die Chance es auf dem RPi zum laufen zu kriegen ist ungefähr gleich 0. Soweit ich weiß, hat so ein Port bisher alle Entwickler abgeschreckt. Ich habe relativ wenig Ahnung von Java, aber da sind wohl die Unterschiede zwischen der Java VM und Dalvik VM (mittlerweile ART?) zu groß.

Mike (der Entwickler der App) hat verdammt viel reverse engineering betrieben und in dem Thread aber auch die Funktionsweise von AA beschrieben. Und da ist der Punkt an dem man, denke ich jedenfalls, mit einer nativen Lösung für den RPi ansetzen könnte:

Zitat:Basically, the AA app creates a special environment in which it draws to a virtual screen instead of the real screen. The resulting video is encoded as an H.264 stream and sent via USB to the HU. The HU responds with touch-screen events which the AA app interprets similarly to normal Android app operation.

AA compatible audio apps contain AA audio extensions, which can provide control of audio app playback and provide information about which audio streams or files can be played. The audio app uses it's normal Android audio APIs, which the AA "app" hooks in order to send the audio to the HU, over USB or Bluetooth. I refer to the AA "app" with parentheses, because it has many hooks into Android internals which normal apps do not have access to. Thus, much of the AA "app" is really system level code, though there is a minor UI for some basic configuration and to provide access to AA developer mode functions.



Jetzt wäre die Frage, ob hier irgendwo ein fähiger Java-Entwickler ist, der mal in den Quelltext schauen kann (github)?
Speziell interessieren mich die Fragen:
- Ist es möglich den Code in C/C++ zu portieren, also die Funktion nachstellen?
- Wie groß ist der Aufwand?

Kann sein, dass ich grad einfach zu euphorisch bin und den Haken nicht sehe. Aber es kann doch nicht so schwer sein, diesen Videostream abzufangen und dann auch noch Touch-Events zu generieren. Die Hersteller der 700€+ Radios, die AA unterstützen, arbeiten ja auch nicht mit Zauberwasser. Und durch die Informationen aus Mikes App sollte da doch was gehen. Ich habe ihm auch noch eine Mail geschrieben, vielleicht kann er da auch noch Infos beisteuern
Zitieren
#2
Wenn es eine Android App ist,
nutze doch anstatt dem Pi ein Odroid .

Auf dem Einplatinencomputer läuft ja Android Wink .
Zitieren
#3
Bei einem Umstieg auf Android müsste ich alles an Hardware-Eingabe (Encoder&Buttons) und auch die komplette Steuerung des TDA7318 neu schreiben. Außerdem bin bei Linux doch etwas flexibler was beliebige Erweiterungen angeht.

Ich habe vom Entwickler der App eine Antwort erhalten, es ist zumindest im Kern lauffähig. D.h. ich werde es mir auf jeden Fall mal genauer anschauen.
Falls jemand interessiert ist, da weiter zu schauen, sei er erstmal hierhin verwiesen: LINK
Bei Fragen helfe ich gerne weiter, wenn ich denn kann.

Ich werde mich jetzt aber vorrangig um den DABPi kümmern, um nicht zu viele Sachen gleichzeitig anzufangen Big Grin
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
RasPiCarProjekt