# Android-Panel mit dem Windows-Installationshelfer einrichten

Das Paket **`4WEB-Android-Windows-Installer.zip`** vollständig entpacken und im
Ordner `4WEB-Android-Windows-Installer` die Datei **`Install-4WEB-Android.cmd`**
doppelt anklicken. Im vollständigen USB-Paket liegt derselbe Helfer unter
`Android\Windows-Installer\Install-4WEB-Android.cmd`.

Der Helfer zeigt ein Fenster zur Geräteauswahl, lädt die freigegebene Android-App
und richtet sie auf dem ausgewählten Panel als Device Owner ein. Eine Kamera ist
dafür nicht erforderlich.

`Install-4WEB-Android.ps1` und `ApkVerifier.cs` müssen neben der CMD-Datei liegen.
Den vollständigen Ordner aus der vertrauenswürdigen 4WEB-Auslieferung verwenden;
das ZIP vorher vollständig entpacken und die Dateien beisammenlassen.

## Voraussetzungen

- Windows 10 oder 11 mit Windows PowerShell 5.1 und einer grafischen Oberfläche.
  Python, Java und Android Studio werden auf dem Service-PC nicht benötigt.
- Internetzugang des PCs für die offiziellen Android Platform-Tools und die
  aktuell freigegebene APK. Die Windows-Oberfläche beschafft die benötigten
  Platform-Tools selbst.
- Android 9 oder neuer und ein vom Panel-Hersteller freigegebener ADB-Servicezugang.
  Am Panel USB-Debugging aktivieren und die Freigabe dieses PCs bestätigen.
- Ein datenfähiges USB-Kabel und der passende Device-/OTG-Serviceanschluss des
  Panels. Ein USB-A-Anschluss ausschließlich für Tastatur oder USB-Stick genügt
  nicht. Anschluss und gegebenenfalls erforderlichen Windows-Treiber beim
  Hersteller prüfen.

Der Helfer benötigt für seinen normalen Betrieb keinen Administratorstart. Eine
separate Installation eines OEM-USB-Treibers kann Administratorrechte verlangen.
Ein gesperrter Serviceanschluss lässt sich durch die App oder das Windows-Programm
nicht freischalten.

## Ablauf

1. **Panel vorbereiten.** In den Entwickleroptionen USB-Debugging einschalten. Die
   Entwickleroptionen werden je nach Hersteller durch mehrmaliges Antippen der
   Buildnummer unter den Geräteinformationen freigeschaltet. Das Panel möglichst
   vor dem Anlegen von Konten, weiteren Benutzern und Kundenkonfiguration einrichten.
2. **Verbinden und freigeben.** Panel entsperren, mit dem Service-PC verbinden und
   die angezeigte RSA-Debugging-Anfrage auf dem Panel bestätigen. Diese Freigabe
   muss am Panel erfolgen.
3. **Windows-Helfer starten.** Im Ordner des Windows-Installationshelfers
   `Install-4WEB-Android.cmd` doppelt anklicken.
   Die Vorbereitung und die erste Gerätesuche abwarten. Die Liste lässt sich mit
   **„Geraeteliste aktualisieren“** erneut laden.
4. **Ziel auswählen.** Das richtige Panel anhand der angezeigten Seriennummer und
   Geräteangaben ausdrücklich auswählen. Bei mehreren angeschlossenen Geräten
   Seriennummer mit dem vorgesehenen Panel abgleichen. Ein nicht freigegebenes
   oder nicht erreichbares Gerät zuerst am Panel bzw. an der USB-Verbindung klären.
5. **Installation starten.** **„4WEB installieren“** anklicken.
   Der Helfer lädt die freigegebene APK, prüft sie und
   installiert bzw. aktualisiert sie auf genau diesem Gerät. Anschließend richtet
   er Device Owner ein und liest den Verwaltungsstatus zur Kontrolle erneut aus.
   Die abschließende Erfolgsmeldung abwarten.
6. **App einrichten.** In der gestarteten App die anfängliche Admin-PIN `1234`
   durch eine eigene PIN ersetzen. Verbindungen, Autostart und gewünschte
   Android-Sperre konfigurieren. Die Device-Owner-Zuweisung ersetzt diese
   betriebsspezifischen Einstellungen nicht.

Die App darf bereits installiert sein. Eine Aktualisierung mit derselben
Produktionssignatur erhält PIN, Verbindungen und weitere App-Daten. Eine bestehende
4WEB-Device-Owner-Zuweisung bleibt erhalten.

## 4WEB deinstallieren

Das Panel wie oben beschrieben verbinden, USB-Debugging am Panel freigeben und
in der Geräteliste ausdrücklich auswählen. Im Windows-Helfer die Deinstallation
starten und den Hinweis bestätigen. Wenn 4WEB Device Owner ist und eine ältere
Version verwendet, installiert der Helfer zunächst die neueste, auf Produktionssignatur
und Paketidentität geprüfte App-Version als Update. Einstellungen und PIN bleiben
dabei erhalten.

Bei Device Owner danach am Panel die **4WEB-Admin-PIN erneut eingeben** und die
Entfernung der Geräteverwaltung bestätigen. Der Helfer prüft, ob 4WEB tatsächlich
nicht mehr Device Owner ist, und deinstalliert erst dann die App. Ohne Device Owner
erfolgt die Deinstallation nach der Bestätigung im Windows-Helfer direkt. Eine
fremde Geräteverwaltung wird nicht entfernt. Die Deinstallation löscht die lokalen 4WEB-App-Daten,
darunter PIN und Konfiguration; bei Bedarf vorher über 4WEB **Wartung** sichern.
Kein Werksreset wird ausgelöst.

Alternativ kann die Deinstallation ab Version 1.2.10 direkt in 4WEB unter
**Wartung** gestartet werden. Auch dort sind PIN und Bestätigung erforderlich;
Android zeigt anschließend den eigenen Deinstallationsdialog an.

Android bezeichnet die verwendete API zur Aufhebung von Device Owner als
veraltet und für Tests vorgesehen. Die Richtlinienbereinigung ist laut Android
nur bestmöglich; Geräte- und Herstellerverwaltungen können das Ergebnis
beeinflussen. Device Owner lässt sich anschließend normalerweise nur bei der
Geräteeinrichtung erneut zuweisen. Vor dem Einsatz auf einem Panel die Anleitung
des Herstellers und die eigene Geräteverwaltung beachten.

## Welche Version wird geladen?

Der Helfer verwendet das öffentliche Android-Manifest unter
[`apps.4web-automation.de/install/android/manifest.json`](https://apps.4web-automation.de/install/android/manifest.json).
Das Manifest nennt das veröffentlichte Android-Paket mit dem **höchsten
Versionscode im Downloadarchiv**. Dieser Installationskanal ist von
der OTA-Freigabe bestehender Geräte unabhängig. Eine neue Version kann dadurch
für die Windows-Erstinstallation bereitstehen, während vorhandene Geräte
weiterhin ihren bisherigen OTA-Stand verwenden.

Manifest und APK werden über HTTPS geladen. Vor der Installation werden Paketname,
Versionscode, SHA-256-Prüfsumme, Produktionssignatur und APK-Inhalt geprüft.
Danach wird auch die installierte 4WEB-Paketversion mit dem Manifest abgeglichen.
Bei einer fehlenden Veröffentlichung, einem Downloadfehler oder einer ungültigen
Prüfung beendet sich der Vorgang mit einer Fehlermeldung. Der Windows-Helfer ist
damit für die Online-Einrichtung vorgesehen. Für eine ausdrücklich ausgewählte
lokale APK steht im vollständigen USB-Paket der Terminal-Installationshelfer
`Android\install_android_device_owner.py` mit der Anleitung
`Android\DEVICE-OWNER.txt` zur Verfügung; dieser Terminalweg benötigt Python 3.

## Wenn Device Owner abgelehnt wird

Android entscheidet, ob das Panel als vollständig verwaltetes Gerät eingerichtet
werden darf. Vorhandene Konten, zusätzliche Benutzer, eine andere Geräteverwaltung
oder Vorgaben des Panel-Herstellers können die Zuweisung verhindern.

Eine erfolgreiche APK-Installation allein bestätigt noch keinen Device Owner.
Wenn erst dieser zweite Schritt scheitert, bleibt die App installiert; die
Fehlermeldung muss vor der Übergabe geklärt werden. Der Helfer löscht keine Konten,
entfernt keine fremde Verwaltung und führt keinen Werksreset aus. Ein erforderliches
Zurücksetzen gehört in einen gesondert geplanten Hersteller-/Einrichtungsprozess.

## Hilfe bei Verbindungsproblemen

| Anzeige oder Problem | Nächster Schritt |
| --- | --- |
| Kein Panel in der Liste | Datenkabel, Service-/OTG-Anschluss, USB-Debugging und OEM-Treiber prüfen; anschließend die Liste aktualisieren. |
| `unauthorized` | Panel entsperren und die RSA-Freigabe für diesen PC am Panel bestätigen. |
| `offline` | Verbindung nach Herstellervorgabe erneut herstellen und die Liste aktualisieren. |
| Installation wegen Signatur oder Versionsstand abgelehnt | Die bisherige Produktionssignatur bzw. den installierten Versionsstand prüfen; die vorhandene Kundeninstallation erhalten. |
| Manifest, Prüfsumme oder Signatur ungültig | Vorgang abbrechen und die 4WEB-Veröffentlichung bzw. Verbindung prüfen lassen. |
| PowerShell durch Unternehmensrichtlinie blockiert | Die zuständige IT um Freigabe des Installationshelfers bitten. |

Der Ablauf und eventuelle Fehler erscheinen im Fensterprotokoll und in einer
lokalen Datei unter `%LOCALAPPDATA%\4WEB\AndroidInstaller\Installation-*.log`.
Der CMD-Starter ändert keine dauerhafte PowerShell-Ausführungsrichtlinie;
verbindliche Unternehmensrichtlinien bleiben wirksam.

Für Panels mit ausschließlich freigegebenem Netzwerk-ADB gilt der gesonderte
Hersteller-/Terminalweg in `Android\DEVICE-OWNER.txt` des vollständigen USB-Pakets.
Der Windows-Helfer aktiviert keinen ADB-TCP-Dienst und öffnet keine Serviceports.

## Prüfstand

Die grafische Bedienung, Treibererkennung und Skriptausführung auf Windows müssen
noch auf einem Windows-10-/11-Service-PC abgenommen werden. Die bereits geprüfte
Android-Installation und Device-Owner-Zuweisung im Tablet-Simulator ersetzt diese
Windows-Abnahme und die Anschlussprüfung am konkreten Industriepanel nicht.

Technische Grundlagen: [Android Platform-Tools](https://developer.android.com/tools/releases/platform-tools),
[OEM-USB-Treiber unter Windows](https://developer.android.com/studio/run/oem-usb),
[Android-Geräterichtlinien über ADB](https://developer.android.com/tools/adb#dpm).
