Commit fa5db3a931193f4ddd2c0e1cb173324116d8f3d4

Sam Lantinga 2017-10-28T12:11:25

Added the old ant Android build project structure

diff --git a/android-project-ant/AndroidManifest.xml b/android-project-ant/AndroidManifest.xml
new file mode 120000
index 0000000..94bcaef
--- /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 0000000..b0971e8
--- /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 0000000..edc7f23
--- /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 0000000..9f19a07
--- /dev/null
+++ b/android-project-ant/build.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This should be changed to the name of your project -->
+<project name="SDLActivity" default="help">
+
+    <!-- The local.properties file is created and updated by the 'android' tool.
+         It contains the path to the SDK. It should *NOT* be checked into
+         Version Control Systems. -->
+    <property file="local.properties" />
+
+    <!-- The ant.properties file can be created by you. It is only edited by the
+         'android' tool to add properties to it.
+         This is the place to change some Ant specific build properties.
+         Here are some properties you may want to change/update:
+
+         source.dir
+             The name of the source directory. Default is 'src'.
+         out.dir
+             The name of the output directory. Default is 'bin'.
+
+         For other overridable properties, look at the beginning of the rules
+         files in the SDK, at tools/ant/build.xml
+
+         Properties related to the SDK location or the project target should
+         be updated using the 'android' tool with the 'update' action.
+
+         This file is an integral part of the build system for your
+         application and should be checked into Version Control Systems.
+
+         -->
+    <property file="ant.properties" />
+
+    <!-- if sdk.dir was not set from one of the property file, then
+         get it from the ANDROID_HOME env var.
+         This must be done before we load project.properties since
+         the proguard config can use sdk.dir -->
+    <property environment="env" />
+    <condition property="sdk.dir" value="${env.ANDROID_HOME}">
+        <isset property="env.ANDROID_HOME" />
+    </condition>
+
+    <!-- The project.properties file is created and updated by the 'android'
+         tool, as well as ADT.
+
+         This contains project specific properties such as project target, and library
+         dependencies. Lower level build properties are stored in ant.properties
+         (or in .classpath for Eclipse projects).
+
+         This file is an integral part of the build system for your
+         application and should be checked into Version Control Systems. -->
+    <loadproperties srcFile="project.properties" />
+
+    <!-- quick check on sdk.dir -->
+    <fail
+            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
+            unless="sdk.dir"
+    />
+
+    <!--
+        Import per project custom build rules if present at the root of the project.
+        This is the place to put custom intermediary targets such as:
+            -pre-build
+            -pre-compile
+            -post-compile (This is typically used for code obfuscation.
+                           Compiled code location: ${out.classes.absolute.dir}
+                           If this is not done in place, override ${out.dex.input.absolute.dir})
+            -post-package
+            -post-build
+            -pre-clean
+    -->
+    <import file="custom_rules.xml" optional="true" />
+
+    <!-- Import the actual build file.
+
+         To customize existing targets, there are two options:
+         - Customize only one target:
+             - copy/paste the target into this file, *before* the
+               <import> task.
+             - customize it to your needs.
+         - Customize the whole content of build.xml
+             - copy/paste the content of the rules files (minus the top node)
+               into this file, replacing the <import> task.
+             - customize to your needs.
+
+         ***********************
+         ****** IMPORTANT ******
+         ***********************
+         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+         in order to avoid having your file be overridden by tools such as "android update project"
+    -->
+    <!-- version-tag: 1 -->
+    <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>
diff --git a/android-project-ant/default.properties b/android-project-ant/default.properties
new file mode 100644
index 0000000..0a69b77
--- /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 0000000..5053e7d
--- /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 0000000..5ea0fb4
--- /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 0000000..1adcb6e
--- /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 0000000..faed669
--- /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 0000000..f2fe155
--- /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 0000000..9b84a6b
--- /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 0000000..d50bdaa
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 0000000..0a299eb
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 0000000..a336ad5
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 0000000..d423dac
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 0000000..123c4b6
--- /dev/null
+++ b/android-project-ant/res/layout/main.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    >
+<TextView  
+    android:layout_width="fill_parent" 
+    android:layout_height="wrap_content" 
+    android:text="Hello World, SDLActivity"
+    />
+</LinearLayout>
+
diff --git a/android-project-ant/res/values/strings.xml b/android-project-ant/res/values/strings.xml
new file mode 100644
index 0000000..9bce51c
--- /dev/null
+++ b/android-project-ant/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">SDL App</string>
+</resources>
diff --git a/android-project-ant/src b/android-project-ant/src
new file mode 120000
index 0000000..d5b63ee
--- /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 87cff3f..1e9e8ef 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.
 
 
 ================================================================================