-
Notifications
You must be signed in to change notification settings - Fork 34
Feature/16kb page size support #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Upgrade Android Gradle Plugin to 8.7.3, update target SDK to 35, add 16KB ELF alignment flags, and fix NDK r27 compilation issues across harfbuzz, SDL, and native libraries to ensure compliance with mandatory Play Store requirements effective November 2025.
There was a problem hiding this 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 pull request updates the Android build environment to meet Google Play Store 2025 requirements and improve compatibility with the latest Android SDKs. Key changes include upgrading to Android SDK/Gradle versions and implementing 16KB page size alignment support.
Key changes:
- Upgraded Android SDK from version 34 to 35 and Gradle from 8.2 to 8.9
- Added 16KB page size alignment linker flags across all build configurations
- Enhanced compiler warning suppression to handle stricter build requirements
Reviewed Changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| gradle/wrapper/gradle-wrapper.properties | Updates Gradle wrapper from 8.2 to 8.9 |
| app/build.gradle | Upgrades Android SDK versions and adds 16KB page alignment |
| app/src/main/jni/Application.mk | Adds global compiler flags and 16KB page alignment |
| app/src/main/jni/tuxpaint/Android.mk | Adds include paths and 16KB page alignment for tuxpaint module |
| app/src/main/jni/glib-2.77.0/Android.mk | Adds compiler warning suppression flags |
| app/src/main/jni/cairo-1.14.0/Android.mk | Adds int-conversion warning suppression |
| app/src/main/jni/SDL2_ttf/external/harfbuzz/Android.mk | Adds extensive compiler warning suppression |
| app/src/main/jni/tuxpaint/src/tuxpaint.c | Updates SDL mouse wheel API calls and adds header include |
| app/src/main/jni/tuxpaint/src/i18n.c | Adds SDL and Android header includes |
| app/src/main/jni/SDL2/src/sensor/android/SDL_androidsensor.c | Changes sensor polling method for better event handling |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
Hi @perepujal , it appears Google Play is requiring 16kb page size for all apps starting Oct 31. Additionally, they're asking to target minSDK 34 but I bumped to 35 to gain 16kb support. This is a pretty big change as it required a big Gradle update and so the NDK/SDL did as well. The new NDK/gradle is quite strict so I had to suppress quite a few things. Also, I would call your attention to With these changes, I have it compiling both command line with |
|
you should also adapt the readme with my changes in #43 especailally the hint
|
|
in the emulator on Ubuntu 2024.04 i get this lots of repeated in the log and the start screen has no funciton. like in #43 |
This pull request updates the Android build environment and codebase for compatibility with the latest SDKs and Google Play Store requirements, while also improving code robustness and maintainability. The most significant changes involve upgrading the Android SDK and Gradle versions, adding support for 16KB page size alignment, and enhancing compiler flag usage to address stricter warnings and errors.
Build system and platform updates:
compileSdkVersionandtargetSdkVersioninapp/build.gradlefrom 34 to 35 to support the latest Android APIs.gradle/wrapper/gradle-wrapper.propertiesfrom 8.2 to 8.9 for improved build tooling and compatibility.Google Play Store 2025 requirements:
-Wl,-z,max-page-size=16384in multiple build scripts (app/build.gradle,Application.mk,tuxpaint/Android.mk, and for magic modules) to ensure 16KB page size alignment as required by Google Play Store. [1] [2] [3] [4]Compiler warning and error handling:
-Wno-errorand related flags in severalAndroid.mkandApplication.mkfiles to suppress new or stricter compiler warnings (such ascast-function-type-strict,int-conversion) and prevent build failures due to treated warnings as errors. [1] [2] [3] [4]Codebase and dependency improvements:
tuxpaint/Android.mkto support additional modules and libraries, improving modularity and maintainability.SDL_androidsensor.cto useALooper_pollOnceinstead ofALooper_pollAllfor more precise event handling.Minor code and dependency updates:
tuxpaint.cto use floating point values and the proper SDL wheel event type for improved input accuracy.i18n.candtuxpaint.c. [1] [2]