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,如需转载请自行联系原作者
相关文章
|
3月前
|
缓存 Unix Android开发
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
303 8
|
3月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
191 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
3月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
206 6
|
10月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
639 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
10月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1193 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
10月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
314 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
11月前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
492 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
11月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
339 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
369 6
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
201 2

热门文章

最新文章