bevy
bevy copied to clipboard
bevy mobile example crashes on Android
trafficstars
Developing on:
- Ubuntu 22.04
- rustup 1.27.1
- rust 1.78.0 nightly
- cargo 1.78.0
- adb 1.0.41
- javac 11.0.22
- java 11.0.22
- gradle 8.7
Building for device:
- Samsung Galaxy Note20 5G
- Android version: 13
I'm trying run the bevy mobile example on my android phone.
What I do:
- I clone bevy repository from GitHub and follow the instructions how to setup and run the example on Android.
- Run
cargo apk run -p bevy_mobile_examplein the repository root directory. - Apk is build successfully and installed to my device.
- The app opens and shows a splash screen with bevy logo for a second before the app closes.
The first lines of output are:
--------- beginning of crash
05-11 22:18:50.644 15057 15057 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 15057 (yengine.example), pid 15057 (yengine.example)
05-11 22:18:50.662 15057 15165 I RustStdoutStderr: thread '<unnamed>' panicked at library/core/src/panicking.rs:156:5:
05-11 22:18:50.663 15057 15165 I RustStdoutStderr: unsafe precondition(s) violated: slice::from_raw_parts requires the pointer to be aligned and non-null, and the total size of the slice not to exceed `isize::MAX`
05-11 22:18:50.663 15057 15165 I RustStdoutStderr: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
05-11 22:18:50.663 15057 15165 I RustStdoutStderr: thread caused non-unwinding panic. aborting.
I also tried building bevy with xbuild and with other target sdk (32, 33), but with the same result.
This is due to https://github.com/rust-mobile/android-activity/issues/153
It should be fixed by updating winit.
As a workaround, you can use either rust 1.77 or nightly-2024-02-08
Another workaround: patching android-activity in Cargo.toml and modifying it with the following commit: https://github.com/rust-mobile/android-activity/pull/157/files