Skip to content

fix: android startup crash and input events#440

Merged
mehah merged 3 commits intoopentibiabr:mainfrom
BenDol:dev
Feb 27, 2023
Merged

fix: android startup crash and input events#440
mehah merged 3 commits intoopentibiabr:mainfrom
BenDol:dev

Conversation

@BenDol
Copy link
Contributor

@BenDol BenDol commented Feb 27, 2023

Description

Fixes startup crash with Android and also fixes input events.

fix: #432

@dudantas dudantas changed the title Fix Android startup crash and input events fix: android startup crash and input events Feb 27, 2023
@mehah mehah merged commit e21a547 into opentibiabr:main Feb 27, 2023
dudantas pushed a commit that referenced this pull request Nov 17, 2023
Fixed the compilation in the docker environment and the error that occurred with linux when it was going to compile on a new "VM" machine.

What happened is that the protobuf was updated and our proto files were generated in an old version, with this change they are ready to work with the latest version of the protobuf made available by vcpkg

Note: vcpkg needs to be updated to the most current version for it to work properly
Kizuno18 added a commit to Kizuno18/otclient that referenced this pull request Mar 26, 2026
…aJIT

Fixes opentibiabr#1642

Black screen fixes:
- Add null check for AAssetManager_open (data.zip missing crash)
- Fix unzipper: create_directory -> create_directories for nested paths
- Fix APP_CMD_LOW_MEMORY permanently destroying EGL surface (no recovery)
- Fix keyboard auto-opening on programmatic focus (only on user tap)

Build modernization:
- Replace pre-compiled Google Drive archive with self-contained build
- LuaJIT cross-compiled via build_luajit_android.sh for all 4 ABIs
  (arm64-v8a, armeabi-v7a, x86_64, x86)
- All other deps (OpenAL, Freetype, protobuf, etc.) via vcpkg
- Vendored minizip source (nmoinvaz fork)
- Separate Android GLES3 from WASM GLES2

LuaJIT cross-compilation requires HOST_CC="gcc -m32" for 32-bit targets
and -DLUAJIT_UNWIND_EXTERNAL for Android NDK compatibility.
See android/BUILDING.md for full details and references to LuaJIT issues
opentibiabr#440, opentibiabr#477, opentibiabr#664.

Build infrastructure:
- build_luajit_android.sh: cross-compile LuaJIT for all ABIs
- setup_android_deps.sh: complete pre-build automation
- Dockerfile.android: reproducible Docker build
- android/BUILDING.md: step-by-step build guide with troubleshooting
- ALOGD debug logging in main.cpp
- Release signing config in build.gradle.kts
Kizuno18 added a commit to Kizuno18/otclient that referenced this pull request Mar 26, 2026
…aJIT

Fixes opentibiabr#1642

Black screen fixes:
- Add null check for AAssetManager_open (data.zip missing crash)
- Fix unzipper: create_directory -> create_directories for nested paths
- Fix APP_CMD_LOW_MEMORY permanently destroying EGL surface (no recovery)
- Fix keyboard auto-opening on programmatic focus (only on user tap)

Build modernization:
- Replace pre-compiled Google Drive archive with self-contained build
- LuaJIT cross-compiled via build_luajit_android.sh for all 4 ABIs
  (arm64-v8a, armeabi-v7a, x86_64, x86)
- All other deps (OpenAL, Freetype, protobuf, etc.) via vcpkg
- Vendored minizip source (nmoinvaz fork)
- Separate Android GLES3 from WASM GLES2

LuaJIT cross-compilation requires HOST_CC="gcc -m32" for 32-bit targets
and -DLUAJIT_UNWIND_EXTERNAL for Android NDK compatibility.
See android/BUILDING.md for full details and references to LuaJIT issues
opentibiabr#440, opentibiabr#477, opentibiabr#664.

Build infrastructure:
- build_luajit_android.sh: cross-compile LuaJIT for all ABIs
- setup_android_deps.sh: complete pre-build automation
- Dockerfile.android: reproducible Docker build
- android/BUILDING.md: step-by-step build guide with troubleshooting
- ALOGD debug logging in main.cpp
- Release signing config in build.gradle.kts
Kizuno18 added a commit to Kizuno18/otclient that referenced this pull request Mar 26, 2026
…aJIT

Fixes opentibiabr#1642

Black screen fixes:
- Add null check for AAssetManager_open (data.zip missing crash)
- Fix unzipper: create_directory -> create_directories for nested paths
- Fix APP_CMD_LOW_MEMORY permanently destroying EGL surface (no recovery)
- Fix keyboard auto-opening on programmatic focus (only on user tap)

Build modernization:
- Replace pre-compiled Google Drive archive with self-contained build
- LuaJIT cross-compiled via build_luajit_android.sh for all 4 ABIs
  (arm64-v8a, armeabi-v7a, x86_64, x86)
- All other deps (OpenAL, Freetype, protobuf, etc.) via vcpkg
- Vendored minizip source (nmoinvaz fork)
- Separate Android GLES3 from WASM GLES2

LuaJIT cross-compilation requires HOST_CC="gcc -m32" for 32-bit targets
and -DLUAJIT_UNWIND_EXTERNAL for Android NDK compatibility.
See android/BUILDING.md for full details and references to LuaJIT issues
opentibiabr#440, opentibiabr#477, opentibiabr#664.

Build infrastructure:
- build_luajit_android.sh: cross-compile LuaJIT for all ABIs
- setup_android_deps.sh: complete pre-build automation
- Dockerfile.android: reproducible Docker build
- android/BUILDING.md: step-by-step build guide with troubleshooting
- ALOGD debug logging in main.cpp
- Release signing config in build.gradle.kts
Kizuno18 added a commit to Kizuno18/otclient that referenced this pull request Mar 26, 2026
…aJIT

Fixes opentibiabr#1642

Black screen fixes:
- Add null check for AAssetManager_open (data.zip missing crash)
- Fix unzipper: create_directory -> create_directories for nested paths
- Fix APP_CMD_LOW_MEMORY permanently destroying EGL surface (no recovery)
- Fix keyboard auto-opening on programmatic focus (only on user tap)

Build modernization:
- Replace pre-compiled Google Drive archive with self-contained build
- LuaJIT cross-compiled via build_luajit_android.sh for all 4 ABIs
  (arm64-v8a, armeabi-v7a, x86_64, x86)
- All other deps (OpenAL, Freetype, protobuf, etc.) via vcpkg
- Vendored minizip source (nmoinvaz fork)
- Separate Android GLES3 from WASM GLES2

LuaJIT cross-compilation requires HOST_CC="gcc -m32" for 32-bit targets
and -DLUAJIT_UNWIND_EXTERNAL for Android NDK compatibility.
See android/BUILDING.md for full details and references to LuaJIT issues
opentibiabr#440, opentibiabr#477, opentibiabr#664.

Build infrastructure:
- build_luajit_android.sh: cross-compile LuaJIT for all ABIs
- setup_android_deps.sh: complete pre-build automation
- Dockerfile.android: reproducible Docker build
- android/BUILDING.md: step-by-step build guide with troubleshooting
- ALOGD debug logging in main.cpp
- Release signing config in build.gradle.kts
Kizuno18 added a commit to Kizuno18/otclient that referenced this pull request Mar 26, 2026
…aJIT

Fixes opentibiabr#1642

Black screen fixes:
- Add null check for AAssetManager_open (data.zip missing crash)
- Fix unzipper: create_directory -> create_directories for nested paths
- Fix APP_CMD_LOW_MEMORY permanently destroying EGL surface (no recovery)
- Fix keyboard auto-opening on programmatic focus (only on user tap)

Build modernization:
- Replace pre-compiled Google Drive archive with self-contained build
- LuaJIT cross-compiled via build_luajit_android.sh for all 4 ABIs
  (arm64-v8a, armeabi-v7a, x86_64, x86)
- All other deps (OpenAL, Freetype, protobuf, etc.) via vcpkg
- Vendored minizip source (nmoinvaz fork)
- Separate Android GLES3 from WASM GLES2

LuaJIT cross-compilation requires HOST_CC="gcc -m32" for 32-bit targets
and -DLUAJIT_UNWIND_EXTERNAL for Android NDK compatibility.
See android/BUILDING.md for full details and references to LuaJIT issues
opentibiabr#440, opentibiabr#477, opentibiabr#664.

Build infrastructure:
- build_luajit_android.sh: cross-compile LuaJIT for all ABIs
- setup_android_deps.sh: complete pre-build automation
- Dockerfile.android: reproducible Docker build
- android/BUILDING.md: step-by-step build guide with troubleshooting
- ALOGD debug logging in main.cpp
- Release signing config in build.gradle.kts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Android crashes on startup in PHYSFS_init(argv0);

2 participants