Skip to content

Conversation

@TranceLove
Copy link
Collaborator

@TranceLove TranceLove commented Aug 28, 2025

Description

In response to Google Play's notice for supporting 16KB devices.

  • Forcing use of NDK 28c (if applicable)
  • CMakeLists.txt add linker flag to force page size of 16KB
  • Added setup NDK step in Github Actions workflow to force use of NDK 28c, borrowed from Migrate file_operations to use Rust #4431

Manual tests

  • Done

Build tasks success

Successfully running following tasks on local:

  • ./gradlew assembledebug
  • ./gradlew spotlessCheck

- Forcing use of NDK 28c (if applicable)
- CMakeLists.txt add linker flag to force page size of 16KB
- Added setup NDK step in Github Actions workflow to force use of NDK 28c
@TranceLove
Copy link
Collaborator Author

After this change, the built APK still has the not supporting 16KB devices nag.

Screenshot from 2025-08-29 00-28-48

But if app bundle AAB is built, no warning was given, which should comply - we shall be uploading AAB instead of APKs to Google Play Store anyway.

Screenshot from 2025-08-29 00-29-30

@TranceLove TranceLove added Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. Area-CICD Issues related to CI/CD. labels Aug 28, 2025
@TranceLove TranceLove marked this pull request as ready for review August 28, 2025 23:16
@TranceLove TranceLove requested a review from Copilot August 28, 2025 23:16
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements Android 16KB page size support in response to Google Play's requirements for newer devices, focusing on NDK and build system adaptations.

  • Forces use of NDK 28c across all build configurations
  • Adds CMake linker flag to enforce 16KB page size for native libraries
  • Updates GitHub Actions workflows to consistently use NDK 28c

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

File Description
gradle/libs.versions.toml Adds NDK version specification (28c) to centralized version catalog
file_operations/src/main/c/CMakeLists.txt Adds linker flag to enforce 16KB page size for native library
file_operations/build.gradle References NDK version from version catalog
.github/workflows/*.yml Adds NDK setup steps to all GitHub Actions workflows

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Member

@EmmanuelMess EmmanuelMess left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, there should not be any visible changes in the app.

@EmmanuelMess EmmanuelMess merged commit 119d719 into TeamAmaze:release/4.0 Aug 29, 2025
4 checks passed
@EmmanuelMess EmmanuelMess deleted the feature/play-16kb branch August 29, 2025 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-CICD Issues related to CI/CD. Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants