ProGuard / R8 — nothing to configure
The Pulsate SDK ships consumer ProGuard rules inside the AAR. When you enable minification, Gradle applies the SDK's rules automatically:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
No Pulsate-specific -keep rules are needed in your app.
Reducing app size
Use Android App Bundles
Publish an App Bundle (.aab) — Google Play generates optimized APKs per device configuration, so users only download the code and resources they need. This is also a Play Store requirement for new apps.
If you must ship APKs: split by ABI
splits {
abi {
enable true
reset()
include 'arm64-v8a', 'armeabi-v7a'
universalApk false
}
}
Or filter ABIs into a single APK
buildTypes {
release {
ndk {
abiFilters "arm64-v8a", "armeabi-v7a"
}
}
}
x86/x86_64 devices are practically nonexistent among real Android users; excluding those ABIs saves the most space with one line.

