You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.9 KiB
57 lines
1.9 KiB
3 years ago
|
# hello-sdl2-android
|
||
|
|
||
|
## Synopsis
|
||
|
|
||
|
This project is an update of the hello world project here https://github.com/stephen47/android-sdl2-gradle-template, as I couldn't find a good way to integrate a CMake built C++ project to an android application.
|
||
|
It features a sample hello world using SDL and SDL_image.
|
||
|
|
||
|
## Requirements
|
||
|
- JDK and JRE 8
|
||
|
- Android SDK and NDK (with Android Build-tools 28.0.3 and Android Platform API 28, though these are configurable)
|
||
|
- ANDROID_HOME and ANDROID_NDK_HOME environment variables set (I did this in /etc/environment)
|
||
|
|
||
|
## Compiling the sample program (command line)
|
||
|
|
||
|
You can download the dependencies (SDL2 and SDL2_image), compile your program and then install it on a connected device with the following commands:
|
||
|
```
|
||
|
./get_dependencies
|
||
|
cd android
|
||
|
./gradlew assembleDebug
|
||
|
./gradlew installDebug
|
||
|
```
|
||
|
|
||
|
## Compiling the sample program (Android Studio 3.2.1)
|
||
|
|
||
|
First download the dependencies (SDL2 and SDL2_image) as above or manually like below. Then open the ./android folder as an existing project in Android Studio.
|
||
|
|
||
|
## Downloading dependencies manually
|
||
|
|
||
|
Download the latest source release from SDL and SDL_image websites:
|
||
|
|
||
|
https://www.libsdl.org/download-2.0.php
|
||
|
https://www.libsdl.org/projects/SDL_image/
|
||
|
|
||
|
Unzip it, put the SDL2-x.x.x and SDL2_image-x.x.x folders in `external/SDL2` and rename them to SDL2 and SDL2_image so your project folder looks like this:
|
||
|
```
|
||
|
+ android
|
||
|
+ external
|
||
|
| + SDL2
|
||
|
| | + Android.mk
|
||
|
| | | SDL2
|
||
|
| | | SDL2_image
|
||
|
```
|
||
|
|
||
|
There, it's done!
|
||
|
|
||
|
## Thanks
|
||
|
|
||
|
Most of the code here is inspired by these repositories:
|
||
|
|
||
|
https://github.com/stephen47/android-sdl2-gradle-template (Android + gradle)
|
||
|
|
||
|
https://github.com/suikki/simpleSDL/ (Android + CMake)
|
||
|
|
||
|
The example libSDL2 program which draws the square on screen was found at https://stackoverflow.com/questions/21890627/drawing-a-rectangle-with-sdl2/21903973#21903973.
|
||
|
|
||
|
The Google NDK example projects were very helpful: https://github.com/googlesamples/android-ndk
|