diff --git a/android-project-ant/AndroidManifest.xml b/android-project-ant/AndroidManifest.xml new file mode 120000 index 000000000..94bcaefd0 --- /dev/null +++ b/android-project-ant/AndroidManifest.xml @@ -0,0 +1 @@ +../android-project/app/src/main/AndroidManifest.xml \ No newline at end of file diff --git a/android-project-ant/ant.properties b/android-project-ant/ant.properties new file mode 100644 index 000000000..b0971e891 --- /dev/null +++ b/android-project-ant/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/android-project-ant/build.properties b/android-project-ant/build.properties new file mode 100644 index 000000000..edc7f2305 --- /dev/null +++ b/android-project-ant/build.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/android-project-ant/build.xml b/android-project-ant/build.xml new file mode 100644 index 000000000..9f19a077b --- /dev/null +++ b/android-project-ant/build.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android-project-ant/default.properties b/android-project-ant/default.properties new file mode 100644 index 000000000..0a69b7743 --- /dev/null +++ b/android-project-ant/default.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "build.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-16 diff --git a/android-project-ant/jni/Android.mk b/android-project-ant/jni/Android.mk new file mode 100644 index 000000000..5053e7d64 --- /dev/null +++ b/android-project-ant/jni/Android.mk @@ -0,0 +1 @@ +include $(call all-subdir-makefiles) diff --git a/android-project-ant/jni/Application.mk b/android-project-ant/jni/Application.mk new file mode 100644 index 000000000..5ea0fb4ce --- /dev/null +++ b/android-project-ant/jni/Application.mk @@ -0,0 +1,10 @@ + +# Uncomment this if you're using STL in your project +# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information +# APP_STL := stlport_static + +APP_ABI := armeabi armeabi-v7a x86 + +# Min SDK level +APP_PLATFORM=android-10 + diff --git a/android-project-ant/jni/src/Android.mk b/android-project-ant/jni/src/Android.mk new file mode 100644 index 000000000..1adcb6e9a --- /dev/null +++ b/android-project-ant/jni/src/Android.mk @@ -0,0 +1,18 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := main + +SDL_PATH := ../SDL + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include + +# Add your application source files here... +LOCAL_SRC_FILES := YourSourceHere.c + +LOCAL_SHARED_LIBRARIES := SDL2 + +LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog + +include $(BUILD_SHARED_LIBRARY) diff --git a/android-project-ant/jni/src/Android_static.mk b/android-project-ant/jni/src/Android_static.mk new file mode 100644 index 000000000..faed669c0 --- /dev/null +++ b/android-project-ant/jni/src/Android_static.mk @@ -0,0 +1,12 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := main + +LOCAL_SRC_FILES := YourSourceHere.c + +LOCAL_STATIC_LIBRARIES := SDL2_static + +include $(BUILD_SHARED_LIBRARY) +$(call import-module,SDL)LOCAL_PATH := $(call my-dir) diff --git a/android-project-ant/proguard-project.txt b/android-project-ant/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/android-project-ant/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/android-project-ant/project.properties b/android-project-ant/project.properties new file mode 100644 index 000000000..9b84a6b4b --- /dev/null +++ b/android-project-ant/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-16 diff --git a/android-project-ant/res/drawable-hdpi/ic_launcher.png b/android-project-ant/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 000000000..d50bdaae0 Binary files /dev/null and b/android-project-ant/res/drawable-hdpi/ic_launcher.png differ diff --git a/android-project-ant/res/drawable-mdpi/ic_launcher.png b/android-project-ant/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 000000000..0a299eb3c Binary files /dev/null and b/android-project-ant/res/drawable-mdpi/ic_launcher.png differ diff --git a/android-project-ant/res/drawable-xhdpi/ic_launcher.png b/android-project-ant/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 000000000..a336ad5c2 Binary files /dev/null and b/android-project-ant/res/drawable-xhdpi/ic_launcher.png differ diff --git a/android-project-ant/res/drawable-xxhdpi/ic_launcher.png b/android-project-ant/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..d423dac26 Binary files /dev/null and b/android-project-ant/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/android-project-ant/res/layout/main.xml b/android-project-ant/res/layout/main.xml new file mode 100644 index 000000000..123c4b6ea --- /dev/null +++ b/android-project-ant/res/layout/main.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/android-project-ant/res/values/strings.xml b/android-project-ant/res/values/strings.xml new file mode 100644 index 000000000..9bce51cb3 --- /dev/null +++ b/android-project-ant/res/values/strings.xml @@ -0,0 +1,4 @@ + + + SDL App + diff --git a/android-project-ant/src b/android-project-ant/src new file mode 120000 index 000000000..d5b63ee14 --- /dev/null +++ b/android-project-ant/src @@ -0,0 +1 @@ +../android-project/app/src/main/java \ No newline at end of file diff --git a/docs/README-android.md b/docs/README-android.md index 87cff3ff3..1e9e8eff8 100644 --- a/docs/README-android.md +++ b/docs/README-android.md @@ -4,7 +4,10 @@ Android Matt Styles wrote a tutorial on building SDL for Android with Visual Studio: http://trederia.blogspot.de/2017/03/building-sdl2-for-android-with-visual.html -The rest of this README covers the traditional style build process. +The rest of this README covers the Android gradle style build process. + +If you are using the older ant build process, it is no longer officially +supported, but you can use the "android-project-ant" directory as a template. ================================================================================