Files
timemaster-kiosk/android/app/proguard-rules.pro
T
patrickandClaude Sonnet 5 5b8bfeb4b0 fix(qr-scan): R8/ProGuard zerstörte ML-Kit-Komponenten-Registrierung
Root Cause endlich gefunden (via adb-Logcat auf echtem T10-Pro-Tablet):
NICHT primär ein Hardware/CameraX-Problem, sondern R8-Minifizierung im
Release-Build ohne Keep-Regeln für ML Kit (mobile_scanner nutzt Reflection-
basierte Komponenten-Registrierung, ComponentDiscovery). Log zeigte
"NoSuchMethodException: ...BarcodeRegistrar.<init> []" → in Folge
NullPointerException beim eigentlichen Scan-Callback.

Fix: android/app/build.gradle.kts explizit isMinifyEnabled=true +
proguardFiles inkl. neuer android/app/proguard-rules.pro mit ML-Kit-Keep-
Regeln. Damit war auch der vorherige Downgrade auf mobile_scanner 5.2.3
unnötig – zurück auf ^6.0.2, funktioniert jetzt mit den Keep-Regeln
einwandfrei (auf echtem Gerät verifiziert).

Die vorherige cameraResolution/formats-Einschränkung (v0.1.8) war ein
Fehlschluss (Symptom sah nach Hardware-Inkompatibilität aus), bleibt aber
als sinnvolle Optimierung bestehen (weniger Codec-Last).

v0.1.10+11, deployed 137, release-signiert (gleicher Fingerprint).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dzdm3EWeNdYFUuXFRJryA1
2026-09-10 14:43:06 +02:00

12 lines
630 B
Prolog
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ML Kit (mobile_scanner) registriert seine Komponenten zur Laufzeit per
# Reflection (No-Arg-Konstruktor). R8 entfernt/obfuskiert diese ohne Keep-
# Regeln, was zu "NoSuchMethodException: ...Registrar.<init> []" und in
# Folge zu NullPointerExceptions beim eigentlichen Scan führt (siehe
# Kiosk-App v0.1.8/0.1.9-Debugging, echtes Tablet – nicht nur Hardware-Bug).
-keep class com.google.mlkit.** { *; }
-keep interface com.google.mlkit.** { *; }
-keep class com.google.android.gms.internal.mlkit_vision_barcode.** { *; }
-keep class * extends com.google.mlkit.common.internal.MlKitComponentDiscoveryService {
<init>();
}