70 lines
2.1 KiB
Bash
Executable File
70 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
KEYSTORE=~/.ssh/android.keystore
|
|
ALIAS=pelya
|
|
APPS_SKIP="src scummvm"
|
|
APPS_BUILD="$*"
|
|
|
|
mkdir -p apk
|
|
|
|
if [ "-$1" = "--a" ] ; then
|
|
cd apk
|
|
for F in *.apk; do
|
|
APPS_SKIP="$APPS_SKIP `echo $F | sed 's/\(.*\)[.]apk/\1/'`"
|
|
done
|
|
cd ..
|
|
fi
|
|
|
|
echo -n "Enter password for keystore at $KEYSTORE alias $ALIAS: "
|
|
stty -echo
|
|
read PASSWORD
|
|
stty echo
|
|
|
|
echo
|
|
|
|
# First edit app settings if their format was changed
|
|
for APP1 in project/jni/application/*/AndroidAppSettings.cfg; do
|
|
APP=`echo $APP1 | sed 's@project/jni/application/\([^/]*\)/.*@\1@'`
|
|
if [ -n "$APPS_BUILD" ] ; then
|
|
echo "$APPS_BUILD" | grep "$APP" || continue
|
|
else
|
|
if echo $APPS_SKIP | grep $APP > /dev/null ; then
|
|
continue
|
|
fi
|
|
fi
|
|
rm project/jni/application/src
|
|
ln -s $APP project/jni/application/src
|
|
echo
|
|
echo ===== Settings for $APP =====
|
|
./ChangeAppSettings.sh -v
|
|
rm -f apk/$APP.apk
|
|
done
|
|
|
|
for APP1 in project/jni/application/*/AndroidAppSettings.cfg; do
|
|
APP=`echo $APP1 | sed 's@project/jni/application/\([^/]*\)/.*@\1@'`
|
|
if [ -n "$APPS_BUILD" ] ; then
|
|
echo "$APPS_BUILD" | grep "$APP" || continue
|
|
else
|
|
if echo $APPS_SKIP | grep $APP > /dev/null ; then
|
|
continue
|
|
fi
|
|
fi
|
|
rm -f project/jni/application/src
|
|
ln -s $APP project/jni/application/src
|
|
rm -rf project/obj/local/*/libapplication.so project/obj/local/*/objs/application
|
|
rm -rf project/obj/local/*/libsdl*.so project/obj/local/*/objs/sdl*
|
|
./ChangeAppSettings.sh -a
|
|
NDKBUILD=ndk-build
|
|
if grep "AppUseCrystaXToolchain=y" AndroidAppSettings.cfg > /dev/null ; then
|
|
NDKBUILD=`which ndk-build | sed 's@/[^/]*/ndk-build@/android-ndk-r4-crystax@'`/ndk-build
|
|
fi
|
|
echo Compiling $APP
|
|
APPVERSION=`grep 'AppVersionCode=' AndroidAppSettings.cfg | sed 's/AppVersionCode=\(.*\)/\1/'`
|
|
OLDPATH="`pwd`"
|
|
( cd project && nice -n5 $NDKBUILD -j4 V=1 && ant release && \
|
|
jarsigner -verbose -keystore "$KEYSTORE" -storepass "$PASSWORD" bin/DemoActivity-unsigned.apk $ALIAS && \
|
|
zipalign 4 bin/DemoActivity-unsigned.apk ../apk/$APP.apk && \
|
|
mkdir -p debuginfo/$APP-$APPVERSION && cp -f obj/local/armeabi/libapplication.so obj/local/armeabi/libsdl-*.so debuginfo/$APP-$APPVERSION &&
|
|
cd .. ) || exit 1
|
|
done
|