@@ -31,8 +31,8 @@ cmake --build build -j8 --target run
3131Linux users will need to install some pre-requisites for this template to compile.
3232
3333``` shell
34- sudo apt-get update
35- sudo apt-get install cmake libx11-dev libxfixes-dev libegl-dev libgbm-dev libfontconfig-dev
34+ sudo apt update
35+ sudo apt install cmake libx11-dev libxfixes-dev libegl-dev libgbm-dev libfontconfig-dev
3636```
3737
3838# Android
@@ -45,6 +45,45 @@ This template also supports building and running APKs for Android! Setup for thi
4545
4646To build for Android, you need a few SDKs! [ Android Studio] ( https://developer.android.com/studio ) has a good interface for grabbing these, and doubles as a nice tool for inspecting APKs.
4747
48+
49+ ### If building on Linux (CLI): Quick setup
50+ If you prefer the command line on Linux, this is a minimal setup that matches the versions this template targets.
51+
52+ ``` bash
53+ # 1) Base tools
54+ sudo apt update
55+ sudo apt install cmake libx11-dev libxfixes-dev libegl-dev libgbm-dev libfontconfig-dev unzip curl zip ninja-build openjdk-8-jdk adb google-android-cmdline-tools-13.0-installer
56+
57+ # 2) to rule out potential errors, we explicitly tell sdkmanager where to install the Android SDK & NDK
58+
59+ export ANDROID_HOME=" $HOME /Android/Sdk"
60+
61+ sdkmanager --sdk_root=$ANDROID_HOME \
62+ " platform-tools" \
63+ " platforms;android-32" \
64+ " build-tools;32.0.0" \
65+ " ndk;25.2.9519653"
66+
67+ # 3) More environment variable setup...:
68+
69+ export ANDROID_SDK_ROOT=" $ANDROID_HOME "
70+ export PATH=" $ANDROID_HOME /platform-tools:$PATH "
71+
72+ # 5) Point CMake to the NDK and set JAVA_HOME (OpenJDK 8 on Ubuntu)
73+ export ANDROID_NDK_HOME=" $ANDROID_HOME /ndk/25.2.9519653"
74+ export JAVA_HOME=" /usr/lib/jvm/java-8-openjdk-amd64"
75+
76+ # (Optional) Persist these to your shell profile (after install)
77+ echo ' export ANDROID_HOME="$HOME/Android/Sdk"' >> " $HOME /.bashrc"
78+ echo ' export ANDROID_SDK_ROOT="$HOME/Android/Sdk"' >> " $HOME /.bashrc"
79+ echo ' export ANDROID_NDK_HOME="$HOME/Android/Sdk/ndk/25.2.9519653"' >> " $HOME /.bashrc"
80+ echo ' export PATH="$ANDROID_HOME/platform-tools:$PATH"' >> " $HOME /.bashrc"
81+ echo ' export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"' >> " $HOME /.bashrc"
82+ ```
83+
84+ ### Now you can continue to Android Build section.
85+
86+
4887### Android SDKs
4988From [ Android Studio] ( https://developer.android.com/studio ) , go to Tools->SDK Manager.
5089- Under SDK Platforms, add ** API Level 32**
@@ -102,6 +141,7 @@ mkdir build-android
102141
103142# Configure the build, I'll often make a .bat file for this configure command
104143# just to make it easier to do!
144+
105145cmake -B build-android ^
106146 -G Ninja ^
107147 -DCMAKE_ANDROID_NDK=%ANDROID_NDK_HOME% ^
@@ -110,6 +150,11 @@ cmake -B build-android ^
110150 -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
111151# Same, but as a single line. Nicer if not using a .bat
112152cmake -B build-android -G Ninja -DCMAKE_ANDROID_NDK=%ANDROID_NDK_HOME% -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=32 -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
153+
154+ # Or for Linux:
155+ cmake -B build-android -G Ninja -DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=32 -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
156+
157+
113158# Build an APK, install, and run it
114159cmake --build build-android -j8 --target run
115160# Or just build an APK
0 commit comments