Skip to main content

android_example/
lib.rs

1#[cfg(target_os = "android")]
2use freya::prelude::{
3    LaunchConfig,
4    WindowConfig,
5    launch,
6};
7#[cfg(target_os = "android")]
8use winit::platform::android::activity::AndroidApp;
9
10#[cfg(target_os = "android")]
11mod app;
12
13#[cfg(target_os = "android")]
14#[unsafe(no_mangle)]
15fn android_main(droid_app: AndroidApp) {
16    use freya::android::AndroidPlugin;
17    use freya_winit::renderer::NativeEvent;
18    use winit::{
19        event_loop::EventLoop,
20        platform::android::EventLoopBuilderExtAndroid,
21    };
22
23    android_logger::init_once(
24        android_logger::Config::default().with_max_level(log::LevelFilter::Debug),
25    );
26
27    let event_loop = EventLoop::<NativeEvent>::with_user_event()
28        .with_android_app(droid_app.clone())
29        .build()
30        .expect("Failed to build event loop");
31
32    launch(
33        LaunchConfig::new()
34            .with_plugin(AndroidPlugin::new(droid_app))
35            .with_window(WindowConfig::new(app::app))
36            .with_event_loop(event_loop),
37    )
38}