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
12 lines
630 B
Prolog
12 lines
630 B
Prolog
# 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>();
|
||
}
|