# LedGrab ProGuard / R8 rules. # # IMPORTANT: Chaquopy resolves Java/Kotlin classes and static methods by # name from Python (e.g. UsbSerialBridge.INSTANCE.listDevices()) via # reflection. Anything reachable through PyObject must be kept by name # or the release build will throw NoSuchMethod / ClassNotFound at # runtime — silently, only on the user's device. # # Keep ALL of com.ledgrab.android.* members for safety. The app is # small enough that the size win from stripping these isn't worth the # fragility. -keep class com.ledgrab.android.** { *; } # Chaquopy runtime itself. -keep class com.chaquo.python.** { *; } -dontwarn com.chaquo.python.** # usb-serial-for-android — driver classes are loaded via the prober's # default device-id list, which uses reflection in some chip drivers. -keep class com.hoho.android.usbserial.driver.** { *; } -dontwarn com.hoho.android.usbserial.** # Kotlin coroutines — keep the debug agent off and the metadata intact. -dontwarn kotlinx.coroutines.** # Standard Android best-practice keeps. -keepattributes Signature, InnerClasses, EnclosingMethod, *Annotation*