fix(release): keep security-crypto/Tink classes — release APK could not read stored auth token (#899)

R8 obfuscates androidx.security.crypto + com.google.crypto.tink, which
resolve primitives via reflection. Only -dontwarn existed, so release
builds silently read an empty token: every API call 401'd and the app
showed 'Session expired' (debug builds were unaffected — no minification).

Verified on device: release APK before → 401 on WS ticket mint; after →
existing token read and session connects with no re-login.

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-08-13 17:33:55 +03:00
1 parent 9e454ce67b
commit f1c5c2816c
1 file changed
+5
+5
View File
@@ -35,6 +35,11 @@
}
# ── AndroidX Security Crypto ─────────────────────────────────────────────
# EncryptedSharedPreferences / MasterKey resolve primitives via Tink's
# reflection-based Registry. Without -keep, R8 obfuscates those classes and
# token reads silently fail (401 on every API call, "Session expired").
-keep class androidx.security.crypto.** { *; }
-keep class com.google.crypto.tink.** { *; }
-dontwarn androidx.security.crypto.**
# ── Tink / Error Prone ───────────────────────────────────────────────────