Ship R8 consumer keep rules in the Android AAR for the UniFFI/JNA FFI surface.
Deliverable
- Package
consumer-rules.pro into the AAR as proguard.txt.
- Keep
com.sun.jna.Structure$FieldOrder.
- Keep annotated
com.synonym.bitkitcore struct classes, fields, and constructors.
- Keep
com.sun.jna.* JNI names used by libjnidispatch.
- Keep classes that extend
com.sun.jna.*, including com.sun.jna.ptr ByReference types.
- Keep JNA
Structure fields and constructors in com.synonym.bitkitcore.
- Keep JNA
Callback methods in com.synonym.bitkitcore.
- Keep
UniffiLib and IntegrityCheckingUniffiLib native method names in com.synonym.bitkitcore.
- Fail
bundleReleaseAar when those consumer keep rules are missing or empty.
Acceptance
- The release AAR contains a non-empty
proguard.txt with those keep rules.
- A minified Bitkit build loads
com.synonym.bitkitcore without an app keep for that package.
Ship R8 consumer keep rules in the Android AAR for the UniFFI/JNA FFI surface.
Deliverable
consumer-rules.prointo the AAR asproguard.txt.com.sun.jna.Structure$FieldOrder.com.synonym.bitkitcorestruct classes, fields, and constructors.com.sun.jna.*JNI names used bylibjnidispatch.com.sun.jna.*, includingcom.sun.jna.ptrByReference types.Structurefields and constructors incom.synonym.bitkitcore.Callbackmethods incom.synonym.bitkitcore.UniffiLibandIntegrityCheckingUniffiLibnative method names incom.synonym.bitkitcore.bundleReleaseAarwhen those consumer keep rules are missing or empty.Acceptance
proguard.txtwith those keep rules.com.synonym.bitkitcorewithout an app keep for that package.