forked from cocos2d/cocos2d-x
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate-android-project.sh
executable file
·140 lines (119 loc) · 4.06 KB
/
create-android-project.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/bash
# parameters passed to script
# 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.
PARAMS=$@
# you can set the environment here and uncomment them if you haven't set them in .bashrc
#export NDK_ROOT=
#export ANDROID_SDK_ROOT=
#export COCOS2DX_ROOT=
# set environment paramters
if [ "x${NDK_ROOT}" == "x" ] ; then
NDK_ROOT="/opt/android-ndk"
fi
if [ "x${ANDROID_SDK_ROOT}" == "x" ] ; then
ANDROID_SDK_ROOT="/opt/android-sdk-update-manager"
fi
ANDROID_CMD="${ANDROID_SDK_ROOT}/tools/android"
if [ "x${COCOS2DX_ROOT}" == "x" ] ; then
COCOS2DX_ROOT="${HOME}/cocos2d-x"
if [ ! -d $COCOS2DX_ROOT ] ; then
COCOS2DX_ROOT=`pwd`
fi
fi
if [ ! -d ${NDK_ROOT} -o ! -d ${ANDROID_SDK_ROOT} -o ! -x ${ANDROID_CMD} ] ; then
echo "Please set the environment at first"
fi
USE_BOX2D=false
USE_CHIPMUNK=false
USE_LUA=false
print_usage(){
echo "usage:"
echo "$0 [-b|--box2d] [-c|--chipmunk] [-l|--lua]"
}
check_param(){
for param in ${PARAMS[@]}
do
case $param in
-b | --box2d)
echo using box2d
USE_BOX2D=true
;;
-c | --chipmunk)
echo using chipmunk
USE_CHIPMUNK=true
;;
-l | --lua)
echo using lua
USE_LUA=true
;;
-linux)
// skip it
;;
*)
print_usage
exit 1
esac
done
if [ $USE_BOX2D == "true" -a $USE_CHIPMUNK == "true" ] ; then
echo '[WARN] Using box2d and chipmunk together!'
fi
}
# check if it was called by .bat file
if [ $# -ge 5 -a "x$5" == "xwindows" ] ; then
# should be called by .bat file
length=`expr $# - 5`
PARAMS=${@:6:$length}
check_param
ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT COCOS2DX_ROOT=$COCOS2DX_ROOT sh $COCOS2DX_ROOT/template/android/copy_files.sh $1 $2 $3 $4 $USE_BOX2D $USE_CHIPMUNK $USE_LUA
exit
fi
# the bash file should not be called by cygwin
KERNEL_NAME=`uname -s | grep "CYGWIN*"`
if [ "x$KERNEL_NAME" != "x" ] ; then
echo "[ERROR] Don't run in cygwin. You should run .bat file"
exit
fi
# ok, it was run under linux
create_android_project(){
DEFAULT_PACKAGE_PATH='org.cocos2dx.demo'
DEFAULT_TARGET_ID='1'
DEFAULT_PROJECT_NAME="Hello"
echo -n "Input package path [${DEFAULT_PACKAGE_PATH}]:"
read PACKAGE_PATH
if [ "x${PACKAGE_PATH}" == "x" ] ; then
PACKAGE_PATH=${DEFAULT_PACKAGE_PATH}
fi
${ANDROID_CMD} list targets
echo -n "Input target id [${DEFAULT_TARGET_ID}]:"
read TARGET_ID
if [ "x${TARGET_ID}" == "x" ] ; then
TARGET_ID=${DEFAULT_TARGET_ID}
fi
echo -n "Input your project name [${DEFAULT_PROJECT_NAME}]:"
read PROJECT_NAME
if [ "x${PROJECT_NAME}" == "x" ] ; then
PROJECT_NAME=${DEFAULT_PROJECT_NAME}
fi
PROJECT_DIR=`pwd`/${PROJECT_NAME}
# check if PROJECT_DIR is exist
if [ -d $PROJECT_DIR ] ; then
echo "$PROJECT_DIR already exist, please use another name"
exit
fi
# Make project directory
mkdir $PROJECT_DIR
# Create Android project inside proj.android
$ANDROID_CMD create project -n $PROJECT_NAME -t $TARGET_ID -k $PACKAGE_PATH -a $PROJECT_NAME -p $PROJECT_DIR/proj.android
$ANDROID_CMD update project -l ${COCOS2DX_ROOT}/cocos2dx/platform/android/java -p $PROJECT_DIR/proj.android
}
check_param
create_android_project
if [ $0 = "linux" ]; then
# invoked by create-linux-android-project.sh
ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT COCOS2DX_ROOT=$COCOS2DX_ROOT sh $COCOS2DX_ROOT/template/linux/mycopy_files.sh $COCOS2DX_ROOT $PROJECT_NAME $NDK_ROOT $PACKAGE_PATH $USE_BOX2D $USE_CHIPMUNK $USE_LUA
else
# invoke template/android/copy_files.sh
ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT COCOS2DX_ROOT=$COCOS2DX_ROOT sh $COCOS2DX_ROOT/template/android/copy_files.sh $COCOS2DX_ROOT $PROJECT_DIR $PACKAGE_PATH $USE_BOX2D $USE_CHIPMUNK $USE_LUA
fi