8 if [[ $# -ge 2 ]]; then
12 MKSOURCES="$MKSOURCES $(basename $src)"
19 MKSOURCES="$MKSOURCES $(basename $src)"
24 if [ -z "$1" ] || [ -z "$SOURCES" ]; then
25 echo "Usage: androidbuild.sh com.yourcompany.yourapp < sources.list"
26 echo "Usage: androidbuild.sh com.yourcompany.yourapp source1.c source2.c ...sourceN.c"
27 echo "To copy SDL source instead of symlinking: COPYSOURCE=1 androidbuild.sh ... "
31 SDLPATH="$( cd "$(dirname "$0")/.." ; pwd -P )"
33 if [ -z "$ANDROID_HOME" ];then
34 echo "Please set the ANDROID_HOME directory to the path of the Android SDK"
38 if [ ! -d "$ANDROID_HOME/ndk-bundle" -a -z "$ANDROID_NDK_HOME" ]; then
39 echo "Please set the ANDROID_NDK_HOME directory to the path of the Android NDK"
45 BUILDPATH="$SDLPATH/build/$APP"
52 cp -r $SDLPATH/android-project/* $BUILDPATH
55 mkdir -p $BUILDPATH/app/jni/SDL
56 if [ -z "$COPYSOURCE" ]; then
57 ln -s $SDLPATH/src $BUILDPATH/app/jni/SDL
58 ln -s $SDLPATH/include $BUILDPATH/app/jni/SDL
60 cp -r $SDLPATH/src $BUILDPATH/app/jni/SDL
61 cp -r $SDLPATH/include $BUILDPATH/app/jni/SDL
64 cp -r $SDLPATH/Android.mk $BUILDPATH/app/jni/SDL
65 sed -i -e "s|YourSourceHere.c|$MKSOURCES|g" $BUILDPATH/app/jni/src/Android.mk
66 sed -i -e "s|org\.libsdl\.app|$APP|g" $BUILDPATH/app/build.gradle
67 sed -i -e "s|org\.libsdl\.app|$APP|g" $BUILDPATH/app/src/main/AndroidManifest.xml
70 for src in "${SOURCES[@]}"
72 cp $src $BUILDPATH/app/jni/src
75 # Create an inherited Activity
76 cd $BUILDPATH/app/src/main/java
77 for folder in "${APPARR[@]}"
83 ACTIVITY="${folder}Activity"
84 sed -i -e "s|\"SDLActivity\"|\"$ACTIVITY\"|g" $BUILDPATH/app/src/main/AndroidManifest.xml
86 # Fill in a default Activity
87 cat >"$ACTIVITY.java" <<__EOF__
90 import org.libsdl.app.SDLActivity;
92 public class $ACTIVITY extends SDLActivity
97 # Update project and build
98 echo "To build and install to a device for testing, run the following:"
100 echo "./gradlew installDebug"