hi people.
first of all: I’m looking for help, but I’m also not looking for help. if you have something useful to say, I want to hear, if you don’t know the answer, I’ll find my answer myself after days reading of brain-damaging documentation. I’ll report my discoveries here.
I want to make a build for Android, preferably inside Termux, otherwise inside MSYS2, otherwise on Windows. I don’t use WSL2, I don’t have any Linux desktop. I have 22 GB spare in my laptop and 44 GB available in my smartphone. I’m also super lazy, so bear with me. I want to do stuff with the least amount of effort possible. like, I want to run make my-epic-game.apk
and have stuff just work. I don’t want to sacrifice three albino elephants every time I want to test stuff on Android.
I’m still using SDL2 and not SDL3 because… that’s what is packaged for MSYS2 and this is what appears when running emcc --show-ports
.
so, what do I even do? I never built anything for Android, not even a “Hello, world!” in Java. what is possible, what is the least worse?? like, there are these instructions:
which seem somewhat useful, but not for a noob and lazy person like me.
- it tells you to run
create-android-project.py
, but where do I find it? I actually know where but as I said, I’m lazy, I don’t want to search for it. why the hell ain’t there a hyperlink pointing directly to it?? we are in 21st century, hyperlinks exist!! - how smart is this
create-android-project.py
? like, does it know I’m inside MSYS2 or Termux? if I’m missing something in my PATH or some dependency, will it know? if it is very smart, can it even tell me what to do to get going? well, I don’t know. you could put a warning telling the poor user how much trouble he will go through - there is this SDL3 Android Archive, is it “easier”? but then I have to use
sdl2-compat
, but where do I find prebuilt binaries for all CPU architectures that Android uses, like ARM, that I can easilycurl
? like, the downloads link in this README.md is just broken. is my use case even possible? - why is Android Studio so annoying?
- like, it weighs 400 gigatons, but it doesn’t even setup my environment variables. useless. c’mon, I’m a Windows user, it should do stuff for me like I’m an idiot. if everyone has the same setup, things work more smoothly. thus, I’m not installing Android Studio, it seems to serve no purpose as far as I can tell.
- then, the “Command line tools only” is only a zip, like, what do I do with it, do I extract it inside my project’s folder and add rules to .gitignore??? what?
- if I do get everything right, am I supposed to work inside PowerShell? but then, I don’t have Python on Windows, only inside MSYS2. should I expose MSYS2 Python for PowerShell, or somehow get the Android stuff inside MSYS2? what about binary compatibility clashes between MSVC and mingw?
- I just noticed I have
android-tools
installed in MSYS2, but it only providesadb
, it doesn’t providesdkmanager
, nor NDK, nor anything else. there is nothing else relevant prepackaged for MSYS2 - I’m just overall dazed that building HTML5 is incommensurably leagues easier than making a mobile app. what the hell?! I can compile, run and ship SDL inside a Web browser in three simple commands. what is Google doing at all? does it want apps for Android at all?
- Termux provides
ndk-multilib
,ndk-multilib-native-static
,ndk-multilib-native-stubs
,ndk-sysroot
,openjdk-17
,openjdk-21
,gradle
,aapt
,aapt2
,dx
,ecj
and some other stuff. I heard stories about developing Android inside Android… but it always felt noisy with lots of error-prone manual steps to get anywhere.