|author||Henry Daitx <firstname.lastname@example.org>||Thu Oct 03 17:08:42 2019 +0100|
|committer||Henry Daitx <email@example.com>||Thu Oct 03 17:25:54 2019 +0100|
Add build script This is a mitigation for the fact that changes to the build config in google3 will not be reflected in presubmits right away. Bug: 142054548 Test: None Change-Id: I6812bc9f743441687c9c40ce776c9b7bca603657
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 -j8
cd gamesdk ANDROID_HOME=../prebuilts/sdk ./gradlew gamesdkZip
will build static and dynamic libraries for several SDK/NDK pairs.
By default, the gradle script builds target
./gradlew archiveZip # Without Tuning Fork ./gradlew archiveTfZip # With Tuning Fork
This will use a locally installed SDK/NDK pointed to by
ANDROID_NDK, if the ndk isn't in
./gradlew localUnitTests # Requires a connected ARM64 device to run ./gradlew localDeviceInfoUnitTests # No device required, tests are running on host
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 assemble
The 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:
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).