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.
android target SDK notes
This tree (under the android SDK's platform/) is the APK packaging template.
On a dev machine (not on-device):
- Copy SDK
lib/libmain.so,libSDL2.so,libc++_shared.so(andlibhidapi.soif present) intoapk/app/src/main/jniLibs/<abi>/. - Copy your game into
apk/app/src/main/assets/game/. - 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(...).