Skip to content

Conversation

@radicalgeek
Copy link

Problem

Google Play Store now rejects apps targeting Android 15 (API 35+) that don't support 16KB memory page sizes. The current version (v0.10.26) of MediaPipe's libmediapipe_tasks_vision_jni.so is compiled with 4KB page alignment, causing rejection.

Deadline: November 1, 2025

Solution

This PR updates the library to support Android 15's 16KB page size requirement by:

Changes Made

  1. Updated MediaPipe dependency from 0.10.260.10.29

  2. Added 16KB linker flags to build configuration:

    • CMakeLists.txt: Added -Wl,-z,max-page-size=0x4000 flags
    • build.gradle: Added CMake arguments for 16KB support
    • gradle.properties: Configured android.bundle.enableUncompressedNativeLibs=false
  3. Restored missing dependencies:

    • Restored libyuv git submodule (required for image processing)
    • Restored C++ JNI source files (ResizeConvert module)
    • Updated package.json to include libyuv in distribution

Testing

  • ✅ Package builds successfully with all dependencies included
  • ✅ Commit follows conventional commits format
  • ✅ All essential files included in distribution

Impact

  • Backward compatible: No API changes, existing apps continue to work
  • Forward compatible: Apps can now target Android 15 and pass Google Play validation
  • No breaking changes: Drop-in replacement for existing installations

Checklist

  • Cleaned up temporary development files
  • Removed accidental dependencies
  • All essential changes staged and committed
  • Follows conventional commits format
  • Proper git submodule configuration

This update addresses Google Play Store requirements for Android 15 (API 35+)
which mandates 16KB memory page size support. Fixes Google Play rejection of
apps due to libmediapipe_tasks_vision_jni.so lacking 16KB alignment.

Changes:
- Updated MediaPipe tasks-vision dependency from 0.10.26 to 0.10.29
  (version 0.10.29 includes built-in 16KB page size support)
- Added 16KB linker flags to CMakeLists.txt and build.gradle
  (-Wl,-z,max-page-size=0x4000)
- Configured android.bundle.enableUncompressedNativeLibs=false
- Restored libyuv git submodule (required dependency for image processing)
- Restored C++ JNI source files for ResizeConvert native module
- Updated package.json to include libyuv in distribution

Resolves: Google Play Store rejection for Android 15 16KB requirement
Deadline: November 1, 2025
Reference: google-ai-edge/mediapipe#6105
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant