Added -q option to build.sh, for quick rebuilding C code

This commit is contained in:
Sergii Pylypenko
2014-05-28 22:25:56 +03:00
parent c5449254f0
commit 11840f1028
4 changed files with 26 additions and 28 deletions

1
.gitignore vendored
View File

@@ -1,6 +1,7 @@
project/local.properties
project/bin
project/gen
project/lib
project/libs
project/assets
project/obj

View File

@@ -5,6 +5,7 @@ install_apk=false
run_apk=false
sign_apk=false
build_release=true
quick_rebuild=false
if [ "$#" -gt 0 -a "$1" = "-s" ]; then
shift
@@ -22,6 +23,11 @@ if [ "$#" -gt 0 -a "$1" = "-r" ]; then
run_apk=true
fi
if [ "$#" -gt 0 -a "$1" = "-q" ]; then
shift
quick_rebuild=true
fi
if [ "$#" -gt 0 -a "$1" = "release" ]; then
shift
build_release=true
@@ -34,10 +40,11 @@ if [ "$#" -gt 0 -a "$1" = "debug" ]; then
fi
if [ "$#" -gt 0 -a "$1" = "-h" ]; then
echo "Usage: $0 [-s] [-i] [-r] [release]"
echo "Usage: $0 [-s] [-i] [-r] [-q] [debug|release]"
echo " -s: sign APK file after building"
echo " -i: install APK file to device after building"
echo " -r: run APK file on device after building"
echo " -q: quick-rebuild C code, without rebuilding Java files"
echo " debug: build debug package"
echo " release: build release package (default)"
exit 0
@@ -78,7 +85,7 @@ if uname -s | grep -i "windows" > /dev/null ; then
fi
grep "64.bit" "`which ndk-build | sed 's@/ndk-build@@'`/RELEASE.TXT" >/dev/null 2>&1 && MYARCH="${MYARCH}_64"
rm -r -f project/bin/* # New Android SDK introduced some lame-ass optimizations to the build system which we should take care about
$quick_rebuild || rm -r -f project/bin/* # New Android SDK introduced some lame-ass optimizations to the build system which we should take care about
[ -x project/jni/application/src/AndroidPreBuild.sh ] && {
cd project/jni/application/src
./AndroidPreBuild.sh || { echo "AndroidPreBuild.sh returned with error" ; exit 1 ; }
@@ -119,11 +126,21 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j
|| true ; } && \
cd .. && ./copyAssets.sh && cd project && \
{ if $build_release ; then \
ant release || exit 1 ; \
$quick_rebuild && { \
ln -s -f libs lib ; \
zip -u -r bin/MainActivity-release-unsigned.apk lib assets || exit 1 ; \
} || ant release || exit 1 ; \
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -sigalg MD5withRSA -digestalg SHA1 bin/MainActivity-release-unsigned.apk androiddebugkey || exit 1 ; \
rm -f bin/MainActivity-debug.apk ; \
zipalign 4 bin/MainActivity-release-unsigned.apk bin/MainActivity-debug.apk || exit 1 ; \
else \
ant debug || exit 1 ; \
$quick_rebuild && { \
ln -s -f libs lib ; \
zip -u -r bin/MainActivity-debug-unaligned.apk lib assets || exit 1 ; \
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -sigalg MD5withRSA -digestalg SHA1 bin/MainActivity-debug-unaligned.apk androiddebugkey || exit 1 ; \
rm -f bin/MainActivity-debug.apk ; \
zipalign 4 bin/MainActivity-debug-unaligned.apk bin/MainActivity-debug.apk || exit 1 ; \
} || ant debug || exit 1 ; \
fi ; } && \
{ if $sign_apk; then cd .. && ./sign.sh && cd project ; else true ; fi ; } && \
{ $install_apk && [ -n "`adb devices | tail -n +2`" ] && \

View File

@@ -1,24 +0,0 @@
#!/bin/sh
# Set here your own NDK path if needed
# export PATH=$PATH:~/src/endless_space/android-ndk-r4b
# Set environment to CrystaX NDK with RTTI and exceptions instead of original NDK
# export PATH=$PATH:~/src/endless_space/android-ndk-r4-crystax/ndk-build
NDKBUILDPATH=$PATH
if grep "AppUseCrystaXToolchain=y" AndroidAppSettings.cfg > /dev/null ; then
NDKBUILDPATH=`which ndk-build | sed 's@/[^/]*/ndk-build@/android-ndk-r4-crystax@'`:$PATH
fi
[ -e project/bin/lib ] || ln -s ../libs project/bin/lib
cd project && \
env PATH=$NDKBUILDPATH ndk-build -j2 V=1 && \
cd bin && \
rm -rf DemoActivity-debug-unaligned.apk && \
cp DemoActivity.ap_ DemoActivity-debug-unaligned.apk && \
zip -1 -r DemoActivity-debug-unaligned.apk classes.dex lib && \
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android DemoActivity-debug-unaligned.apk androiddebugkey && \
rm -rf DemoActivity-debug.apk && \
zipalign 4 DemoActivity-debug-unaligned.apk DemoActivity-debug.apk && \
adb install -r DemoActivity-debug.apk

View File

@@ -21,6 +21,10 @@ TODO, which will get actually done
- OpenTTD: Split top toolbar into left/right toolbars.
- OpenTTD: Option to hide mouse cursor.
- OpenTTD: Construct airport window is too tall.
- Debian noroot: Audio support.
- UQM: use gyroscope to steer the ship, search button for starmap.