chore: arm64-v8a build and native dependency updates for Play 16KB page-size compliance#93
Open
PremSharma-Intelegencia wants to merge 1 commit into
Open
Conversation
compliance This update ensures the app complies with current Google Play and Android platform rules for 64-bit native architectures and the new 16 KB memory page-size requirement. What changed: - Updated `android/app/build.gradle` to include an NDK `abiFilters` block that restricts builds to **arm64-v8a** only. - Updated native-dependent libraries in `package.json`, including: - `react-native-background-geolocation` - `react-native-mmkv-storage` - `react-native-vision-camera` - plus other related native modules requiring modern NDK compatibility. - Verified dependency updates now align with 64-bit architecture support and current page-size expectations for Android 15+ devices. Why this is required: - Google Play requires all apps using native code to ship **64-bit libraries** (including `arm64-v8a`) for new releases and updates: https://developer.android.com/google/play/requirements/64-bit - Starting **1 November 2025**, Play will enforce **16 KB memory page-size** compatibility for apps targeting Android 15 or later: https://developer.android.com/guide/practices/page-sizes - Limiting ABIs to `arm64-v8a` avoids packaging unused architectures, reduces APK size, and ensures native modules match the Play distribution criteria. - Updating native libraries ensures they are built with modern NDKs and tool chains, preventing Play Console warnings about missing 64-bit support or page-size incompatibilities.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This pull request updates the Android build configuration and native-related dependencies to ensure the project complies with the latest Google Play and Android platform requirements. These rules affect all apps that include native code and target newer Android versions (including Android 15).
What’s included
1. Build configuration updates
android/app/build.gradleto add an NDKabiFiltersblock.2. Native dependency updates
Updated several native-heavy dependencies in
package.json, including:react-native-background-geolocationreact-native-mmkv-storagereact-native-vision-cameraOther native modules were also refreshed to versions that support modern NDK tooling and 64-bit builds.
3. Compatibility verification
Why these changes are necessary
Google Play is tightening requirements for apps that include native code:
64-bit requirement: All apps shipping native code must include arm64-v8a libraries.
Official docs:
https://developer.android.com/google/play/requirements/64-bit
16 KB memory page-size requirement (effective 1 November 2025):
Apps targeting Android 15 or later must support 16 KB page sizes on compatible devices.
Official docs:
https://developer.android.com/guide/practices/page-sizes
Updating the ABI configuration and native dependencies ensures:
Impact
Notes for maintainers
lib/arm64-v8a/directory.