crowforkotlin opened issue #12220:
<img width="1262" height="176" alt="Image" src="https://github.com/user-attachments/assets/a5986e5f-869a-43e1-bd82-8c4494716cff" />
<img width="298" height="283" alt="Image" src="https://github.com/user-attachments/assets/bfcfbb91-dc86-439e-8742-2e26e793a55c" />
The project is currently built based on Release-version Android .so libraries, which do not yet support 16KB page sizes. We are looking forward to supporting this in future updates.
Currently, Wasmline successfully runs on Kotlin Multiplatform (Android, Windows, and Ubuntu) via JNI using Wasmtime. For iOS support, the implementation will be handled through the Kotlin/Native side.
Project Link: https://github.com/crowforkotlin/wasmline
Reference (Android 16KB Page Size): Android Developer Documentation
alexcrichton commented on issue #12220:
Do you know what we would need to do to modify our binaries to work with 16k page sizes? Is it just a compiler a flag? A linker flag? An updated SDK?
Most of us aren't Android experts so outside guidance on how to solve this would be much appreciated.
alexcrichton added the wasmtime:platform-support label to Issue #12220.
crowforkotlin commented on issue #12220:
@alexcrichton
Hi there,
I am very glad to see your reply!
I would like to share that I’ve successfully built the Android library with 16KB page size alignment tonight by modifying
./ci/build-release-artifacts.sh. The process was quite smooth and didn't require any additional configuration changes.Currently, I am working on a project called wasmline, which is a Kotlin Multiplatform (KMP) project. My goal is to provide cross-platform support leveraging a minimized version of Wasmtime. Initially, I found that the default
minbuild profile stripped too many features required to execute Wasm binaries produced by the Kotlin/WASI compiler.To address this, I customized the build parameters to restore the essential features while opting for a JIT-less configuration. This allowed me to significantly reduce the binary footprint from 29MB to 3.9MB.
I have verified that the 16KB ELF alignment is correctly supported, and I am currently integrating these
.solibraries into the wasmline project to enable Android support.You can find my modifications and the project structure here:
- Modified build script: https://github.com/crowforkotlin/wasmtime/blob/main/ci/build-release-artifacts.sh
- Wasmline project: https://github.com/crowforkotlin/wasmline/tree/main/wasmline-multiplatform
Thank you very much for your support!
<img width="1439" height="667" alt="Image" src="https://github.com/user-attachments/assets/445370d3-4bf7-4530-b60d-2db78cd2ccf9" />
<img width="1405" height="689" alt="Image" src="https://github.com/user-attachments/assets/400c2d16-0b03-468d-81f3-aeb7d4a24db7" />
<img width="720" height="648" alt="Image" src="https://github.com/user-attachments/assets/047dee2e-ced4-49bb-8d8b-a116928db457" />
crowforkotlin commented on issue #12220:
<img width="1662" height="1035" alt="Image" src="https://github.com/user-attachments/assets/8cb4edd1-9ebf-496b-af5b-6d674d4c08a0" />
@alexcrichton
crowforkotlin commented on issue #12220:


alexcrichton commented on issue #12220:
I've sent https://github.com/bytecodealliance/wasmtime/pull/12246 to attempt to fix this. I don't have a great way of verifying the result, so @crowforkotlin you'll need to verify yourself too. Additionally if you're performing your own build then you can set
RUSTFLAGSto pass-Clink-argand that's not something we'd bake into Wasmtime itself.Also, FWIW, if you're able to copy/paste text instead of pasing screenshots that'd be appreciated as they're easier to digest and analyze. Thanks!
alexcrichton closed issue #12220:
<img width="1262" height="176" alt="Image" src="https://github.com/user-attachments/assets/a5986e5f-869a-43e1-bd82-8c4494716cff" />
<img width="298" height="283" alt="Image" src="https://github.com/user-attachments/assets/bfcfbb91-dc86-439e-8742-2e26e793a55c" />
The project is currently built based on Release-version Android .so libraries, which do not yet support 16KB page sizes. We are looking forward to supporting this in future updates.
Currently, Wasmline successfully runs on Kotlin Multiplatform (Android, Windows, and Ubuntu) via JNI using Wasmtime. For iOS support, the implementation will be handled through the Kotlin/Native side.
Project Link: https://github.com/crowforkotlin/wasmline
Reference (Android 16KB Page Size): Android Developer Documentation
Last updated: Jan 09 2026 at 13:15 UTC