Files
EVEngine/platform/android
西风逍遥游 a6901a0691 feat(android): run zeroerr unit_test suite as an Android test app
Adds EVENGINE_ANDROID_TEST_APP build mode: the unit_test sources are
compiled into libmain.so (SDL entry) and packaged by the existing Gradle
APK along with the test assets, so the full zeroerr suite can run on a
device via adb logcat.

- test/main.cpp: Android runner with LogcatBuf (cout/cerr -> logcat),
  chdir to <files>/evengine_test, SDL_Init; keeps SDL_main symbol unmangled.
- test/PathBesideSource.h: shared pathBesideThisSource helper that maps
  __FILE__ to the on-device unpacked tree on Android.
- EVTestActivity: unpacks assets/test + assets/examples to internal
  storage and passes an optional --testcase filter from an intent extra.
- test/CMakeLists.txt: builds `main` instead of unit_test on Android,
  excludes desktop-only devtools tests, links Android system libs.
- Makefile: build/android-debug-test, sync/android-test-assets,
  run/android-test-debug, log/android-test targets.
- Gradle wrapper bumped to 8.5 for Java 21 compatibility.
2026-08-14 23:05:42 +08:00
..

android target SDK notes

This tree (under the android SDK's platform/) is the APK packaging template.

On a dev machine (not on-device):

  1. Copy SDK lib/libmain.so, libSDL2.so, libc++_shared.so (and libhidapi.so if present) into apk/app/src/main/jniLibs/<abi>/.
  2. Copy your game into apk/app/src/main/assets/game/.
  3. Build with Gradle (./gradlew assembleDebug / assembleRelease).

Native plugins (.so) for the same ABI go into jniLibs and are loaded from script with eve.Plugins().load(...).