|
1 | 1 | # Preserve source file names and line numbers for stack traces (call site tracking, Bugsnag) |
2 | 2 | -keepattributes SourceFile,LineNumberTable |
3 | 3 |
|
4 | | -# Keep AppRoute class names for analytics screen tracking |
| 4 | +# Keep AppRoute class names. `annotatedEntry` derives each screen's root test tag |
| 5 | +# from the route's simple name (NavMetadata.screenRootTag), so obfuscating these |
| 6 | +# renames every screen-root resource-id the UI tests address. |
5 | 7 | -keepnames class com.flipcash.app.core.AppRoute |
6 | 8 | -keepnames class com.flipcash.app.core.AppRoute$** |
7 | 9 |
|
|
15 | 17 | -keep class * extends io.grpc.stub.AbstractStub { *; } |
16 | 18 | -keep class * implements io.grpc.BindableService { *; } |
17 | 19 |
|
18 | | -# Keep our scan classes that interact with native |
| 20 | +# Keep our scan classes that interact with native. The scanner's JNI constructs |
| 21 | +# these from C++ by name (FindClass("com/kik/scan/UsernameKikCode"), GetMethodID |
| 22 | +# for <init>) and reads their backing fields directly (GetFieldID for "_username", |
| 23 | +# "nativePtr"), none of which AGP's default native-methods rule covers. Five |
| 24 | +# classes, so the wildcard costs little. |
19 | 25 | -keep class com.kik.scan.** { *; } |
20 | 26 |
|
21 | 27 | -assumenosideeffects class android.util.Log { |
|
26 | 32 | public static int e(...); |
27 | 33 | } |
28 | 34 |
|
29 | | --keep public class * extends java.lang.Throwable |
| 35 | +# Error telemetry reads exception names at runtime — Coinbase onramp traces send |
| 36 | +# `it::class.simpleName` as `errorType`, and Events.kt does the same for analytics. |
| 37 | +# Those are plain strings by the time they leave the device, so the Bugsnag mapping |
| 38 | +# upload cannot repair them; the names have to survive obfuscation. Nothing reads |
| 39 | +# the members, and an exception nothing throws need not survive, so this is |
| 40 | +# -keepnames rather than a full keep. |
| 41 | +-keepnames public class * extends java.lang.Throwable |
0 commit comments