Restrict release ABIs to arm/arm64, limit locales to es/en - #370
Conversation
|
@mxrtins04 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@ericmt-98 please approve the workflow |
|
@ericmt-98 @waterWang please approve workflow. Do you have a tg channel i could join? Or could you give me your tg contact? |
ericmt-98
left a comment
There was a problem hiding this comment.
Reproduced locally against this branch, with the release keystore present.
Everything you claimed holds, and the acceptance criteria are met.
main |
this PR | |
|---|---|---|
| Release APK | 25,405,597 B | 12,971,206 B (12.37 MB) |
| ABIs in release | arm64-v8a, armeabi-v7a, x86, x86_64 | arm64-v8a, armeabi-v7a only |
| Debug APK | 31,233,962 B | 31,233,962 B — byte-for-byte identical |
lib/x86_64 in debug |
present | present |
./gradlew assembleRelease assembleDebug— BUILD SUCCESSFUL, exit 0, on
AGP 8.13.0 / Gradle 8.14.3.- Release drops 12,434,391 bytes, 48.9%, comfortably under the 15 MB target.
- The debug APK coming out identical to
mainis the strongest evidence that
the filter is confined torelease. NoINSTALL_FAILED_NO_MATCHING_ABISrisk
for anyone on an x86_64 emulator. resources.arscis now 147,464 B, down from the ~390 KB the audit measured,
soresConfigsdid its part too.
One number to correct for the record: you reported 12,771,072 B, I measure
12,971,206 B. That's the signing block — you built app-release-unsigned.apk,
as you noted, and this machine has the keystore. Your figure was right for what
you could build; 12.37 MB is the real download size.
Approving. QR scanner verification on physical arm64 and armeabi-v7a hardware
stays with the integrator at merge time, per the issue scope.
Two follow-ups, neither blocking and neither yours to fix here:
ndk.abiFiltersunderreleasealso applies tobundleRelease, so the Play
AAB loses x86_64 as well. That matches the intent of #358, but it's a
decision worth recording rather than discovering later — it drops Chromebooks
and x86 Android devices from Play delivery.resConfigsis deprecated in AGP 8.13 in favour of
androidResources.localeFilters. It works today with a warning; worth a
sweep when the project moves toward AGP 9.
Nice, tight change — four lines, correct scope, and the one subtle trap in the
issue avoided.
|
Merged as You read the delicate part of the issue correctly and kept the filter out of Everyone installing MicoPay by direct link now downloads half of what they did this morning. On entry-level phones over mobile data in Mexico, that is a real difference, not a rounding one. Hope to see you on another issue. |
closes #358
What changed
Restricted release APK to arm64-v8a and armeabi-v7a native libraries via ndk.abiFilters in buildTypes.release, leaving buildTypes.debug unfiltered so x86_64 emulators continue to install correctly. Restricted packaged locale resources to es and en via resConfigs in defaultConfig.
Files changed
micopay/frontend/android/app/build.gradle
Verification
Security / rollback notes
No security-sensitive code touched. Change is confined to app/build.gradle build configuration only — no changes to extractNativeLibs, minifyEnabled, shrinkResources, plugins, dependencies, or i18n files. Rollback is a single revert of this file.
Fill in yourself