rive-app / rive-app/rive-android

Rive Android library (.so files) causes 16KB page alignment failures

Open
#423 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
Kotlin
Stars
538
Forks
66
PR merge metrics
No merged PRs in 30d

Description

Image

When building an Android APK that includes the Rive Android runtime library (e.g., app.rive:rive-android), the resulting APK fails the 16KB page alignment check required for compatibility with Android 15 (API 35) and higher. Specifically, the warning indicates that some native libraries have LOAD segments not aligned to 16KB boundaries, making the APK incompatible with 16KB-aligned devices.
This issue blocks deployment to production devices running Android 15+, as Google Play and Android Studio enforce stricter alignment for performance and security reasons (related to the new 16KB page size support in ARM64 architectures).
Expected Behavior:
The Rive library should ship with native binaries (.so files) that have all LOAD segments properly aligned to 16KB boundaries, ensuring seamless compatibility with Android 15+ without requiring manual post-processing by developers.
Actual Behavior:
During APK build or analysis (e.g., via Android Studio's APK Analyzer or apkanalyzer), the following warning appears:
Android 16KB Alignment
APK app-debug.apk is not compatible with 16KB devices. Some libraries have LOAD segments not aligned at 16KB boundaries: [list of affected .so files, e.g., libnative-rive.so, etc.]
This results in the APK being flagged as incompatible, and it may fail installation or sideloading on 16KB-enabled devices.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by building an APK containing app.rive:rive-android and inspect it with Android Studio's APK Analyzer or apkanalyzer to identify the affected .so files and their LOAD segments. Trace how those native binaries are produced and packaged; done means every LOAD segment is aligned to 16KB boundaries and the APK passes the Android 15+ compatibility check.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
build-system, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.