Entwicklung einer individuellen AOSP-App für einen biometrischen Scanner

Eine kompakte Android-Softwarelösung für spezielle Geräte zur biometrischen Erfassung von Handflächen und Gesten über zwei Kanäle. Sie ist für Geräte mit begrenzten Ressourcen optimiert und bietet zuverlässige Datenübertragung sowie sichere Updates aus der Ferne.

Entwicklung einer individuellen AOSP-App für einen biometrischen Scanner hero background

Über unseren Kunden

Unser Kunde ist ein europäischer Technologieanbieter, der eigene Hardwarelösungen für sichere Zugangskontrolle, Fintech und biometrische Identifikation entwickelt. Sein Hauptprodukt ist ein Scanner für Handflächen und Gesten zur Zugangskontrolle und Identitätsprüfung.

Der Kunde benötigte eine einsatzbereite AOSP-App zur Steuerung von Scans in zwei Spektralbereichen und zur Verarbeitung großer Mengen biometrischer Videodaten. Sie sollte auf leistungsschwachen Geräten zuverlässig laufen und die Fernverwaltung ohne Google Mobile Services ermöglichen.

  • Region: Europa
  • Branche: Biometrie / Sicherheit / Zugangskontrolle / FinTech
  • Projektdauer: ca. 3 Monate
Über unseren Kunden

Herausforderung

Das Projekt erforderte die Entwicklung von Software für spezielle biometrische Scanner mit begrenzter Rechenleistung. Die wichtigsten technischen Herausforderungen waren:

  • Optimierung der Videoverarbeitung auf leistungsschwachen Geräten ohne Überhitzung oder Bildausfälle
  • Umgang mit fehlenden nativen Multimedia-Codecs in der angepassten AOSP-Umgebung
  • Anpassung von AOSP an spezielle Hardware und deren technische Einschränkungen
  • Cross-Kompilierung von C/C++-Bibliotheken für Multimedia auf der Zielhardware mit Android
  • Präzise Synchronisierung von RGB- und Infrarotvideos auf Einzelbildebene
  • Überwachung von CPU-Temperatur, Speicherplatz, Scanner-Einstellungen und Netzwerkverbindung
  • Übertragung großer biometrischer Videodateien bei instabiler Netzwerkverbindung
  • Implementierung von App-Updates aus der Ferne ohne Google Mobile Services
Herausforderung

Hauptziele

Um die gewünschte App für biometrische Scans zu entwickeln, legten wir folgende Ziele fest:

  • Entwicklung einer kompakten AOSP-App für biometrische Geräte mit begrenzter Rechenleistung
  • Implementierung einer C/C++-Pipeline zur Videoverarbeitung mit Android NDK und FFmpeg
  • Synchronisierung von RGB- und Infrarot-Videostreams
  • Zuverlässige Dateiübertragung mit automatischer Wiederaufnahme nach Netzwerkunterbrechungen
  • Überwachung von Gerätezustand und Netzwerkverbindung
  • Sichere App-Updates aus der Ferne ohne Abhängigkeit von Google Mobile Services
Hauptziele

Projektübersicht

Wir entwickelten eine individuelle AOSP-App auf Kotlin-Basis, die als zentrale Systemsoftware für die Scanner des Kunden zur Erkennung von Handflächen und Gesten diente.

Die App kommunizierte über RNDIS mit dem Scanner und empfing gleichzeitig RGB- und Infrarot-Videostreams. Da die AOSP-Umgebung nicht über die nötigen Codecs verfügte, entwickelten wir eine mit C/C++ und Android NDK optimierte FFmpeg-Pipeline zur Videoverarbeitung.

Die App übernahm zudem die Geräteüberwachung, Konfiguration, lokale Datenverwaltung, Protokollierung und Übertragung abgeschlossener Scanvorgänge. Große biometrische Dateien wurden in Datenblöcken übertragen. Unterbrochene Uploads konnten automatisch fortgesetzt werden.

Projektübersicht

Lösung

Die entwickelte Lösung kombinierte eine kompakte Kotlin-App mit optimierten nativen C/C++-Komponenten, um biometrische Daten auch auf Geräten mit begrenzter Rechenleistung zuverlässig zu verarbeiten. Dafür setzten wir folgende technische Ansätze um:

  • Native Videoverarbeitung: Wir kompilierten und optimierten FFmpeg mit C/C++ und Android NDK für die Zielhardware. Die Cross-Kompilierung ermöglichte die Anpassung an AOSP und die Verarbeitung synchronisierter RGB- und Infrarotvideos.
  • Bildgenaue Videosynchronisierung: Wir synchronisierten zwei über RNDIS empfangene Videostreams auf Einzelbildebene, um präzise biometrische Scans zu ermöglichen.
  • Zuverlässige Uploads in Datenblöcken: Große biometrische Dateien wurden aufgeteilt und parallel übertragen. Nach Netzwerkunterbrechungen wurden Uploads automatisch fortgesetzt.
  • Hardwareüberwachung: Wir überwachten kontinuierlich CPU-Temperatur, freien Speicherplatz sowie WLAN- und Ethernet-Verbindungen für einen stabilen Gerätebetrieb.
  • Dateibasierte Datenverwaltung: Wir nutzten einfache Dateisystemoperationen für Scanner-Einstellungen, Protokolle und Aufgabenwarteschlangen, um den Datenbankaufwand zu minimieren.
  • OTA-Updates ohne GMS: Wir integrierten eine externe OTA-Plattform, um sichere App-Updates aus der Ferne auf angepassten AOSP-Geräten zu ermöglichen.
Lösung

Kernfunktionen

  • Kompakte AOSP-App, optimiert für leistungsschwache Geräte
  • Erfassung und Synchronisierung von RGB- und Infrarotvideos
  • Native Videoverarbeitung mit C/C++ über Android NDK
  • Individuelle FFmpeg-Pipeline zur Videokodierung und -verarbeitung
  • RNDIS-Kommunikation mit den eigenen Scannern des Kunden
  • Zuverlässige, fortsetzbare Übertragung biometrischer Daten in Blöcken
  • Überwachung von CPU, Speicherplatz und Netzwerk in Echtzeit
  • Dateibasierte Konfiguration und Betriebsprotokollierung
  • Automatische App-Updates aus der Ferne ohne Google Mobile Services
Kernfunktionen

Technologie-Stack

Für zuverlässige biometrische Scans, native Videoverarbeitung und eine stabile Geräteverwaltung setzten wir folgende Technologien ein:

  • App: Kotlin, Android Open Source Project (AOSP)
  • Native Entwicklung: C/C++, Android NDK, Kotlin
  • Videoverarbeitung: Individuelle FFmpeg-Version, Integration über die Kommandozeile
  • Hardwarekommunikation: RNDIS, Herstellerspezifische APIs
  • Netzwerk: HTTP/REST-APIs, Dateiübertragung in Blöcken und parallele Uploads
  • Datenverwaltung: Dateizugriff auf Systemebene für Konfiguration, Protokolle und Aufgabenwarteschlangen
  • Geräteverwaltung: Externe OTA-Update-Plattform
Technologie-Stack

Kernteam

  • Lösungsarchitekt / Leitender AOSP-Entwickler: Konzipierte die AOSP-Architektur, Hardwarekommunikation und Kotlin/C++-Integration.
  • AOSP- / Android-Entwickler: Entwickelte die App, Geräteüberwachung, Konfiguration und Betriebsabläufe.
  • C/C++- / Embedded-Entwickler: Implementierte native Komponenten und optimierte die Leistung für Geräte mit begrenzten Ressourcen.
  • Ingenieur für Videoverarbeitung: Entwickelte die FFmpeg-Pipeline und synchronisierte RGB- und Infrarotvideos.
  • Backend- / Integrationsentwickler: Implementierte zuverlässige Datenübertragung und Gerätefernverwaltung.
  • QA-Ingenieur: Testete Scans, Synchronisierung, Verbindungen, Dateiübertragung, Gerätestabilität und OTA-Updates.
Kernteam

Zugehörige Fallbeispiele