In order to build using prebuild NDK versions, this project must be initialized from a custom repo using:
mkdir android-games-sdk
cd android-games-sdk
repo init -u https://android.googlesource.com/platform/manifest -b android-games-sdk
# Or for Googlers:
# repo init -u persistent-https://googleplex-android.git.corp.google.com/platform/manifest -b android-games-sdk
repo sync -c -j8cd gamesdk
ANDROID_HOME=../prebuilts/sdk ./gradlew gamesdkZipwill build static and dynamic libraries for several SDK/NDK pairs.
By default, the gradle script builds target archiveZip.
./gradlew archiveZip # Without Tuning Fork
./gradlew archiveTfZip # With Tuning ForkThis will use a locally installed SDK/NDK pointed to by ANDROID_HOME (and ANDROID_NDK, if the ndk isn't in ANDROID_HOME/ndk-bundle).
Samples are classic Android projects, using CMake to build the native code. They are also all triggering the build of the Game SDK.
cd samples/bouncyball && ./gradlew assemble
cd samples/cube && ./gradlew assemble
cd samples/tuningfork/tftestapp && ./gradlew assembleThe Android SDK/NDK exposed using environment variables (ANDROID_HOME) will be used for building both the sample project and the Game SDK.
Open projects using Android Studio:
samples/bouncyballsamples/cubesamples/tuningfork/tftestapp
and run them directly (Shift + F10 on Linux, Control + R on macOS). The local Android SDK/NDK (configured in Android Studio) will be used for building both the sample project and the Game SDK.
After opening a sample project using Android Studio, uncomment the line containing add_gamesdk_sources().
This will add the Swappy/Tuning Fork sources as part of the project. You can then inspect the source code (with working auto completions) and run the app in debug mode (with working breakpoints and inspectors).