COCOS2D-X编译成android的项目

简介:

 今天对cocos2d-x编译成android做个笔记,本文使用的是2.2.1版本。这里指记录如何编译。本文主要参考http://blog.csdn.net/sttyytw/article/details/17005263

1、创建通过python来创建项目

1
python create_project.py  - project helloworld  - package com.xzw.game  - language cpp

 另外提供批处理,方便下次创建:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@ echo  off
  :label1
  @cls
  echo  欢迎使用Python创建Cocos2d-x工程
  set  /p  project=请输入需要创建的工程名:
  set  /p  aID=请输入需要创建的android版本包标识名:
  echo  您输入的工程名为%project%
  echo  您输入的android版本包标识名为%aID%
  echo  确认创建工程吗?
  CHOICE  /C  123  /M  "确认请按 1,取消请按 2,或者退出请按 3。"
  echo  %errorlevel%
  if  %errorlevel%==1 goto label2
  if  %errorlevel%==2 goto label1
  if  %errorlevel%==3 goto label3
  :label2
  echo  正在创建工程...
  python create_project.py -project %project% -package %aID% -language cpp
  :label3
  pause

wKioL1LOZPewKWVhAAH3GcXskgI882.jpg


创建好后会在cocos2d-x-2.2.1\projects目录下。

2、使用cygwin进入proj.android目录下,然后执行./build_native.sh就可以进行编译了。

wKioL1LObFGhTbsXAAOZr63cMRA798.jpg

前提是需要对build_natvie.sh进行修改,这样才能够自动将所需要cocos2d-x的类加到工程中。

首先在cygwin中添加cocos2d-x的配置

1
2
COCOS2DX_DIR= /cygdrive/e/resource/cocos2d-x/cocos2d-x-2 .2.1 /cocos2d-x-2 .2.1
export  COCOS2DX_DIR

然后修改cocos2d-x-2.2.1\template\multi-platform-cpp\proj.android下的build_native.sh文件进行修改。如下图:

wKiom1LObsbxXSYcAAdvufsrTKI669.jpg

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
APPNAME= "HelloCpp"
# options
buildexternalsfromsource=
usage(){
cat  << EOF
usage: $0 [options]
Build C /C ++ code  for  $APPNAME using Android NDK
OPTIONS:
-s  Build externals from  source
-h  this help
EOF
}
while  getopts  "sh"  OPTION;  do
case  "$OPTION"  in
s)
buildexternalsfromsource=1
;;
h)
usage
exit  0
;;
esac
done
# paths
if  [ -z  "${NDK_ROOT+aaa}"  ]; then
echo  "please define NDK_ROOT"
exit  1
fi
if  [ -z  "${COCOS2DX_DIR+aaa}"  ]; then
echo  "please define COCOS2DX_DIR"
exit  1
fi
DIR= "$( cd " $(  dirname  "${BASH_SOURCE[0]}"  ) " && pwd )"
# ... use paths relative to current directory
COCOS2DX_ROOT= "$DIR/../../.."
APP_ROOT= "$DIR/.."
APP_ANDROID_ROOT= "$DIR"
echo  "COCOS2DX_DIR = $COCOS2DX_DIR"
echo  "NDK_ROOT = $NDK_ROOT"
echo  "COCOS2DX_ROOT = $COCOS2DX_ROOT"
echo  "APP_ROOT = $APP_ROOT"
echo  "APP_ANDROID_ROOT = $APP_ANDROID_ROOT"
# make sure assets is exist
if  [ -d  "$APP_ANDROID_ROOT" /assets  ];  then
     rm  -rf  "$APP_ANDROID_ROOT" /assets
fi
mkdir  "$APP_ANDROID_ROOT" /assets
# copy resources
for  file  in  "$APP_ROOT" /Resources/ *
do
if  [ -d  "$file"  ];  then
     cp  -rf  "$file"  "$APP_ANDROID_ROOT" /assets
fi
if  [ -f  "$file"  ];  then
     cp  "$file"  "$APP_ANDROID_ROOT" /assets
fi
done
for  file  in  "$COCOS2DX_DIR" /cocos2dx/platform/android/java/src/ *
do
if  [ -d  "$file"  ];  then
     cp  -rf  "$file"  "$APP_ANDROID_ROOT" /src
fi
if  [ -f  "$file"  ];  then
     cp  "$file"  "$APP_ANDROID_ROOT" /src
fi
done
# run ndk-build
if  [[  "$buildexternalsfromsource"  ]];  then
     echo  "Building external dependencies from source"
     "$NDK_ROOT" /ndk-build  -C  "$APP_ANDROID_ROOT"  $* \
         "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
else
     echo  "Using prebuilt externals"
     "$NDK_ROOT" /ndk-build  -C  "$APP_ANDROID_ROOT"  $* \
         "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
fi


3、eclipse导入比运行

wKiom1LObIfiN_GNAAFIWPOiBMY664.jpg

wKioL1LObHviohPVAAHqi_di1BY297.jpg

运行即可。就这么就记录了。



本文转自xuzw13 51CTO博客,原文链接:http://blog.51cto.com/xuzhiwei/1350191,如需转载请自行联系原作者
相关文章
|
1天前
|
Linux 编译器 开发工具
Android内核的编译过程
Android内核的编译过程
12 0
|
1天前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
15 2
|
13小时前
|
Android开发
jack-server导致 Android 编译 出现异常
jack-server导致 Android 编译 出现异常
13 6
|
1天前
|
移动开发 jenkins 持续交付
jenkins编译H5做的android端编译卫士app记录
jenkins编译H5做的android端编译卫士app记录
|
1天前
|
Android开发
在android源码中编译ADW_Launcher
在android源码中编译ADW_Launcher
11 2
|
1天前
|
XML Java Android开发
Android 分享机顶盒项目的封装类《GridView》(三)(转)
Android 分享机顶盒项目的封装类《GridView》(三)(转)
11 2
|
1天前
|
Ubuntu Android开发
Android Froyo基于32 bit ubuntu 10.10编译问题
Android Froyo基于32 bit ubuntu 10.10编译问题
|
1天前
|
Shell 开发工具 Android开发
android 修改kernel编译版本信息
android 修改kernel编译版本信息
21 0
|
1天前
|
Ubuntu Linux Shell
Android-NDK-clang 编译 FFmpeg
Android-NDK-clang 编译 FFmpeg
18 0
|
1天前
|
编译器 Android开发
Android S内置APK时AndroidManifest使用uses-library编译报错
Android S内置APK时AndroidManifest使用uses-library编译报错
13 0