-
Notifications
You must be signed in to change notification settings - Fork 529
Android support for devices with 16k pages
Marek Habersack edited this page Jun 13, 2024
·
17 revisions
Android is moving towards supporting devices with 16k memory page size, for the x64
and arm64
architectures. This affects all the native components of the application. In our case it means the MonoVM runtime, the BCL support libraries and .NET for Android native runtime and libraries.
Google plan to make support for 16k devices a requirement for Google Play application submissions next year.
A lot of work needs to be done.
Google have an article with more technical details.
- All the native libraries must be rebuilt with flags enabling 16k alignment of data and code
- Code review of native (and maybe some managed?) code needs to be done in order to make sure we don't assume 4k page size anywhere. This includes MonoVM runtime/JIT/interpreter code.
- APK/AAB archives we build must be aligned to 16k, instead of the current 4k
- Visual Studio must create/update emulators it manages to use 16k system images
- We need to start using Cuttlefish virtual Android devices on our CI
- It requires a Linux VM with KVM enabled
- APK Tests on the Hyper V Emulator
- Design Time Build System
- Profile MSBuild Tasks
- Diagnose Fast Deployment Issues
- Preview layout XML files with Android Studio
- Documentation