Wie versprochen mache ich hier jetzt einen neues Thema auf, um den Dashcam Faden nicht weiter OT aufzublähen.
Zuerst müsst Ihr das Android (beim Evo ist das Version 14) "entsperren", also den ADB Modus erstmalig aktivieren.
Ich zitiere hierzu die Anleitung von SimpleActivation, ganz vielen lieben Dank nochmal! ![]()
ZitatAlles anzeigenHier nochmal eine komplette Anleitung für die EVOs:
1. Handy per Bluetooth mit dem Auto verbinden.
2. Auf dem Handy Hotspot aktivieren und das Auto per WLAN damit verbinden.
3. Auf dem Handy WeChat installieren, einen Account einrichten und den Chinesen bydadb123 kontaktieren. Achtet auf die Zeitverschiebung. China ist uns 6 Stunden voraus.
4. Ihm 15 USD auf sein PayPal-Konto 18753427592@163.com überweisen. Klärt das aber nochmal mit ihm ab.
4. Im Auto Telefon öffnen und *#91532547#* wählen und ein Foto vom QR-Code an den Chinesen bydadb123 senden.
Wichtig: Bitte warten bis das Debug Menü erscheint. Zwischendrin kommt "Code abgelaufen" oder sowas (bei mir: "Codice QR Scaduto").
Das hat nichts zu bedeuten, solange unten der Sekundenzähler noch läuft.
Dann auf "TestTools" tippen, runter scrollen und dort "Wireless adb debug switch" und "Debug mode when USB is connected" einschalten.
Jetzt ist adb aktiv. Das mit dem USB ist irreführend, es ist der "Master Switch" für adb.
Wichtig: Jetzt bitte keinen Reset des Infotainment Systems machen, das schaltet ADB wieder aus bei unserem Evo, und dann müsst Ihr nochmal bezahlen.
Normales Start/Stopp scheint (bisher bei mir) kein Problem zu sein.
Ich bin dabei eine App zu entwickeln die auch nach einem solchen Reset ADB wieder aufwecken sollte.
Den PacketManagerUnlocked könnt Ihr erst mal vergessen, der funktioniert mit unserer Android Version nicht.
Wenn Ihr den App Manager installieren wollt (empfehlenswert), nehmt die neueste Version (aktuell 4.1.0).
Zum Installieren von Apps verwende ich aktuell noch die Android Platform Tools auf dem Computer (muss im selben WLAN wie der Evo sein).
Dann zum Beispiel so (auf der Kommandozeile Eures Betriebssystems, bei mir Apple Mac OS X):
adb connect [ip_adresse_byd]:5555
adb devices -l
adb install --no-streaming AppManager_v4.1.0-official.apk
adb devices -l sollte in etwa anzeigen:
connected to 192.168.178.60:5555
List of devices attached
192.168.178.60:5555 device product:BYD100F model:BYD100F device:BYD100F transport_id:1
Auf die gleiche Weise könnt Ihr auch andere Apps, wie z.B. VLC installieren, auch ohne den PacketManager zu ersetzen.
Nach dem adb install sollte "success" angezeigt werden.
Und wichtig: Das alles natürlich auf eigene Gefahr. Macht das nur wenn Ihr wisst worauf Ihr Euch einlasst.
Meiner Meinung nach ist es unkritisch, und nach einem Factory Reset ist eh alles weg, falls Bedenken wegen Garantie bestehen.
Meine App telefoniert nicht nach hause, und setzt nur eine einzige Systemvariable, nämlich adb_enabled.
Sobald die fertig ist und ein wenig "poliert" veröffentliche ich auch den Quellcode und stelle das Open Source.
Erster Nachtrag:
Unter diesem Link findet Ihr die APKs sowohl für Android 10 (Atto 3, ungetestet), als auch für den Atto 3 Evo (getestet, funktioniert bei mir).
Bitte schaut euch das README.txt an.
Ist alles noch recht hässlich, aber funktioniert bei mir. Auch nach Infotainment Neustart automatisch.
Die nächste Version gibt's dann via Github in den nächsten Tagen.
Notwendige Schritte zur Installation einstweilen (absichtlich fehlertolerant):
# ============================================================
# BYD ADB Rescue v1.3 – vollständige Installation
# macOS / Linux
# ============================================================
# 1. IP-Adresse des BYD eintragen:
DEVICE_IP="192.168.178.60" # Bitte entsprechend ändern, diese IP4 hat meine Fritz Box dem BYD intern zugewiesen
# 2. Namen der heruntergeladenen APK eintragen:
APK="./BYD-ADB-Rescue-v1.3.apk"
# Für die Android-10-Version stattdessen:
# APK="./BYD-ADB-Rescue-v1.3-android10.apk"
SERIAL="${DEVICE_IP}:5555"
PACKAGE="de.tozzi.bydadbkeeperdiag"
PERMISSION="android.permission.WRITE_SECURE_SETTINGS"
# Prüfen, ob ADB installiert ist:
if ! command -v adb >/dev/null 2>&1; then
echo "FEHLER: adb wurde nicht gefunden."
echo "Bitte zuerst die Android Platform Tools installieren."
exit 1
fi
# Prüfen, ob die APK im aktuellen Ordner liegt:
if [ ! -f "$APK" ]; then
echo "FEHLER: APK nicht gefunden:"
echo "$APK"
echo
echo "Bitte Terminal im Download-Ordner öffnen oder den Pfad anpassen."
exit 1
fi
# Verbindung zum Fahrzeug herstellen:
echo "Verbinde mit $SERIAL ..."
adb connect "$SERIAL"
echo
echo "Verbundene Geräte:"
adb devices -l
# APK installieren:
echo
echo "Installiere $APK ..."
adb -s "$SERIAL" install --no-streaming "$APK"
# Aktiven Android-Benutzer ermitteln:
echo
USER_ID="$(adb -s "$SERIAL" shell am get-current-user | tr -d '\r')"
echo "Aktiver Android-Benutzer: $USER_ID"
# Berechtigung für User 0 vergeben:
echo
echo "Vergebe WRITE_SECURE_SETTINGS für User 0 ..."
adb -s "$SERIAL" shell pm grant --user 0 \
"$PACKAGE" \
"$PERMISSION"
# Berechtigung für den aktiven Benutzer vergeben:
if [ "$USER_ID" != "0" ]; then
echo
echo "Vergebe WRITE_SECURE_SETTINGS für User $USER_ID ..."
adb -s "$SERIAL" shell pm grant --user "$USER_ID" \
"$PACKAGE" \
"$PERMISSION"
fi
# App auf dem Fahrzeugdisplay öffnen:
echo
echo "Starte BYD ADB Rescue ..."
adb -s "$SERIAL" shell am start --user "$USER_ID" \
-n "$PACKAGE/.MainActivity"
# Status prüfen:
echo
echo "Prüfe ADB-Status ..."
echo -n "adb_enabled: "
adb -s "$SERIAL" shell settings get global adb_enabled
echo -n "ADB-Dienst: "
adb -s "$SERIAL" shell getprop init.svc.adbd
echo -n "ADB-Port: "
adb -s "$SERIAL" shell getprop service.adb.tcp.port
echo
echo "Installation abgeschlossen."
echo
echo "Erwartete Werte:"
echo "adb_enabled: 1"
echo "ADB-Dienst: running"
echo "ADB-Port: 5555"
Alles anzeigen