mirror of https://github.com/axmolengine/axmol.git
136 lines
3.7 KiB
Bash
Executable File
136 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# This script should be called by create-android-project.bat
|
|
# or should be runned in linux shell. It can not be runned under
|
|
# cygwin.
|
|
# Don't modify the script until you know what you do.
|
|
|
|
# set environment paramters
|
|
NDK_ROOT_LOCAL="/home/laschweinski/android/android-ndk-r5"
|
|
ANDROID_SDK_ROOT_LOCAL="/home/laschweinski/android/android-sdk-linux_86"
|
|
|
|
NEED_BOX2D=false
|
|
NEED_CHIPMUNK=false
|
|
NEED_LUA=false
|
|
|
|
# try to get global variable
|
|
if [ $NDK_ROOT"aaa" != "aaa" ]; then
|
|
echo "use global definition of NDK_ROOT: $NDK_ROOT"
|
|
NDK_ROOT_LOCAL=$NDK_ROOT
|
|
fi
|
|
|
|
if [ $ANDROID_SDK_ROOT"aaa" != "aaa" ]; then
|
|
echo "use global definition of ANDROID_SDK_ROOT: $ANDROID_SDK_ROOT"
|
|
ANDROID_SDK_ROOT_LOCAL=$ANDROID_SDK_ROOT
|
|
fi
|
|
|
|
# parameters passed to .bat or .sh
|
|
PARAMS=
|
|
|
|
print_usage(){
|
|
echo ERROR!!!
|
|
echo usage
|
|
echo "$0(or corresponding bat file on windows) [-b|--box2d] [-c|--chipmunk] [-l|--lua]"
|
|
}
|
|
|
|
check_param(){
|
|
for param in ${PARAMS[@]}
|
|
do
|
|
case $param in
|
|
-b | --box2d)
|
|
echo using box2d
|
|
NEED_BOX2D=true
|
|
;;
|
|
-c | --chipmunk)
|
|
echo using chipmunk
|
|
NEED_CHIPMUNK=true
|
|
;;
|
|
-l | --lua)
|
|
echo using lua
|
|
NEED_LUA=true
|
|
;;
|
|
-linux)
|
|
// skip it
|
|
;;
|
|
*)
|
|
print_usage
|
|
exit 1
|
|
esac
|
|
done
|
|
|
|
if [ $NEED_BOX2D = "true" ]; then
|
|
if [ $NEED_CHIPMUNK = "true" ]; then
|
|
echo Warning!!!
|
|
echo Use box2d and chipmunk together????
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# check if it was called by .bat file
|
|
if [ $# -ge 5 ];then
|
|
if [ $5 = "windows" ];then
|
|
# called by .bat file
|
|
length=`expr $# - 5`
|
|
PARAMS=${@:6:$length}
|
|
check_param
|
|
sh $1/template/android/copy_files.sh $1 $2 $3 $4 $NEED_BOX2D $NEED_CHIPMUNK $NEED_LUA
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
# the bash file should not be called by cygwin
|
|
KERNEL_NAME=`uname -s | grep "CYGWIN*"`
|
|
if [ $KERNEL_NAME"hi" != "hi" ]; then
|
|
echo "Error!!!"
|
|
echo "Don't run in cygwin. You should run corresponding bat."
|
|
exit
|
|
fi
|
|
|
|
# ok, it was run under linux
|
|
|
|
# check it was runned in cocos2d-x root
|
|
check_path(){
|
|
if [ ! -f create-android-project.sh ];then
|
|
echo Error!!!
|
|
echo Please run in cocos2dx root
|
|
exit
|
|
fi
|
|
}
|
|
|
|
create_android_project(){
|
|
echo "Input package path. For example: org.cocos2dx.example"
|
|
read PACKAGE_PATH
|
|
echo "Now cocos2d-x supports Android 2.2 or upper version"
|
|
$ANDROID_SDK_ROOT_LOCAL/tools/android list targets
|
|
echo "input target id:"
|
|
read TARGET_ID
|
|
echo "input your project name:"
|
|
read PROJECT_NAME
|
|
PROJECT_DIR=`pwd`/$PROJECT_NAME
|
|
|
|
# check if PROJECT_DIR is exist
|
|
if [ -d $PROJECT_DIR ]; then
|
|
echo "$PROJECT_DIR is exist, please use another name"
|
|
exit
|
|
fi
|
|
|
|
# Make project directory
|
|
mkdir $PROJECT_DIR
|
|
# Create Android project inside proj.android
|
|
$ANDROID_SDK_ROOT_LOCAL/tools/android create project -n $PROJECT_NAME -t $TARGET_ID -k $PACKAGE_PATH -a $PROJECT_NAME -p $PROJECT_DIR/proj.android
|
|
$ANDROID_SDK_ROOT_LOCAL/tools/android update project -l cocos2dx/platform/android/java -p $PROJECT_DIR/proj.android
|
|
}
|
|
|
|
check_path
|
|
PARAMS=$@
|
|
check_param
|
|
create_android_project
|
|
|
|
if [ $0 = "linux" ]; then
|
|
# invoked by create-linux-android-project.sh
|
|
sh `pwd`/template/linux/mycopy_files.sh `pwd` $PROJECT_NAME $NDK_ROOT_LOCAL $PACKAGE_PATH $NEED_BOX2D $NEED_CHIPMUNK $NEED_LUA
|
|
else
|
|
# invoke template/android/copy_files.sh
|
|
sh `pwd`/template/android/copy_files.sh `pwd` $PROJECT_NAME $NDK_ROOT_LOCAL $PACKAGE_PATH $NEED_BOX2D $NEED_CHIPMUNK $NEED_LUA
|
|
fi
|
|
|