Die KI hat mir eine Quelle genannt, der ich in das "böse" Ausland gefolgt bin. Der entsprechende Beitrag beschreibt, wie sich der Verfasser in die Lage versetzt hat, sein Smartphone über AA mit der Headunit zu verbinden und darüber hinaus Apps auf der Headunit zu installieren.
Die Übersetzung ist etwas holprig, aber
- es geht anscheinend
- vielleicht findet sich jemand, der weniger Digitaldinosaurier ist als ich, und damit etwas anfangen kann.....
hier nun der Beitrag
"Ich wollte schon lange ein normales Android Auto auf einem Android-Magneten bekommen, keine manuelle Auswahl an USB, Pop-ups und zusätzliche Klicks. Das Telefon ist das Pixel 9 Pro, aber es war nicht so einfach.
Das Problem war nicht in Android Auto, sondern in der USB-Berechtigung. Headunit Revived sah das Telefon, konnte aber nicht auf das USB-Gerät zugreifen.
Systemischer Dialog:
com.android.systemui/.usb.UsbPermissionActivity
formell gestartet, aber auf dem Bildschirm wurde normalerweise nicht angezeigt. Infolgedessen ist das Telefon angeschlossen, Android Auto ist bereit, und Headunit kann es nicht öffnen.
Was war ursprünglich
Beim Anschließen des Pixels über USB erschien es in mehreren Modi:
18D1:4EE1 – Google MTP
18D1:2D00 – Android Auto Zubehör
18D1:2D01 – Android Auto Zubehör + ADB
Die erste funktionierende Version war manuell: Vollbild deaktivieren, Problem für MTP, Warten Sie auf den Zubehörmodus, erneutes Problem und Rückgabe des Vollbilds. Funktionierte, aber jedes Mal, um es manuell zu wiederholen - also automatisieren.
Wo es nützliche Wurzel war
Da die Magnete mit Root-Zugriff in die andere Richtung gingen, gingen sie in die andere Richtung: USB-Berechtigungssoftware über den System-USB-Service zu geben.
Erstellte einen kleinen UsbGrant.dex, der über den App_process beginnt und die Systemmethode verursacht:
grantDevicePermission (Gerät, UID)
Das heißt, Headunit erhält Zugriff auf USB ohne einen systemischen Dialog.
Zuerst war es ein separates Dienstprogramm, aber dann wurde klar, dass es besser war, alles direkt in die Übergriffige Headunit Revived einzubetten.
Eingebaut in Headunit wiederbelebt
Die Basis wurde von Headunit Revived v2.3.1 eingenommen.
In der Anwendung wurden UsbGrant.dex und Helfer hinzugefügt, die:
1. Kopiert durch DEX aus Vermögenswerten.
2. Erstellt ein temporäres Shell-Skript.
3. Sie starten durch su.
4. Erhält die USB-Berechtigung UID-Anwendung.
5. Entfernt ein temporäres Skript.
Das Schema handelt davon:
CLASSPATH=/dota/user/0/c.andrenas.deunitreved/files/UsbGrant.dex app_process /system/bin UsbGrant com.andrenas.headrenas.headunitreuvived
Auf dieser Tonbandplatte arbeitete su-c instabil, so dass es zuverlässiger war, ein separates Shell-Skript auszuführen:
su 0 /system/bin/sh script.sh
Nicht nur Google Pixel
Die erste Option war nur die Suche nach Geräten mit:
HerstellerId == 0x18D1
Für Pixel ist das genug, aber für andere Android-Handys – nein. Daher wurde die Logik geändert: Jetzt wird die Berechtigung für alle Geräte erteilt, die Android-Telefon in USB-Klassen ähnlich sind.
Überprüft:
USB_CLASS_COMM
USB_CLASS_STILL_IMAGE — MTP/PTP
USB_CLASS_MISC
USB_CLASS_VENDOR_SPEZIFISCH
ADB-Schnittstelle
Android Auto Zubehör 18D1:20D00 / 18D1:20D01
Danach begann UsbGrant.dex, im MTP-Modus Zugriff auf Nicht-Google-Telefone wie TECNO zu gewähren.
Automatische Verbindung
Auf der Funkpistole befinden sich weitere USB-Geräte, wie der NCM / RNDIS-Netzadapter. Daher können Sie nicht nur das „Einzel-USB-Gerät“ nehmen.
Ich habe einen Rückfall auf das Prinzip gemacht:
Ein telefonähnliches USB-Gerät
Das heißt, Headunit ignoriert Service-USB-Adapter und versucht, das Telefon zu wechseln.
Ergebnis
Jetzt gibt Headunit Revived sich selbst die Erlaubnis USB via root und startet Android Auto ohne manuellen Systemdialog.
Was geschah:
Android Auto wird über USB gestartet.
Die Berechtigung wird automatisch erteilt.
Es funktioniert nicht nur mit Google Pixel.
Root-Grant wird direkt in Headunit Revived gebaut.
Es besteht keine Notwendigkeit mehr für ein separates Dienstprogramm.
P.S.
Root- und USB-Berechtigungsintervention ist immer ein Risiko. Bei einem anderen magnetischen Sulfat su kann USB-Stack oder SystemUI unterschiedlich funktionieren. Es lohnt sich, dies nur zu tun, wenn es ADB-Zugang und ein Verständnis dafür gibt, wie man zurückrollt.
"
Die Quelle ist drive 2 dot R U ohne Leerzeichen und dot als .