fix(android): export android_main and gate desktop-only window config
Three changes to get the APK past the NativeActivity launch crash: 1. Export `android_main` — NativeActivity dlopen-s libsolitaire_app.so and calls `android_main` as its entry point. Without the symbol the app crashed immediately with UnsatisfiedLinkError. The function sets bevy::android::ANDROID_APP (required by WinitPlugin) then delegates to the existing `run()`. 2. Gate `resize_constraints` to non-Android — on Android max_width and max_height default to 0.0; Bevy's clamp panicked with min=800 > max=0. 3. Gate `apply_smart_default_window_size` to non-Android — the system calls `.clamp(800.0, logical_w)` which panics when the window surface reports zero dimensions during early Android lifecycle events. Window sizing is OS-controlled on Android so the system is irrelevant there. Verified: app boots on x86_64 Android 14 emulator (Pixel_7 AVD, SwiftShader Vulkan), runs for 2+ minutes without crashing. Desktop build: clippy clean, 1282 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
Reference in New Issue
Block a user