rive-app / rive-app/rive-android
Rive Android library (.so files) causes 16KB page alignment failures
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 538
- Forks
- 66
- PR merge metrics
- No merged PRs in 30d
Description
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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