Cocos2d-x 创建Android工程和编译+导入到Eclipse编译
来源:互联网 发布:舒畅和刘亦菲关系知乎 编辑:程序博客网 时间:2024/06/08 06:16
根据前两篇文章,我们大概搭建完成了开发环境,现在来创建Android工程和编译:
1、cygwin编译
进入cocos2d-x,用编辑器打开create-android-project.bat,修改三个路径:
@echo off:: This script is used to create an android project.:: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment.:: Don't change it until you know what you do.setlocal:: Check if it was run under cocos2d-x rootif not exist "%cd%\create-android-project.bat" echo Error!!! You should run it under cocos2dx root & pause & exit 2if not exist "%~dpn0.sh" echo Script "%~dpn0.sh" not found & pause & exit 3:: modify it to work under your environment set _CYGBIN=g:\cygwin\bin// 修改1if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4:: modify it to work under your environmentset _ANDROIDTOOLS=g:\android\sdk\tools// 修改2if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5:: modify it to work under your environmentset _NDKROOT=g:\cygwin\android-ndk-r8e// 修改3if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6:: create android projectset /P _PACKAGEPATH=Please enter your package path. For example: org.cocos2dx.example:set /P _PROJECTNAME=Please enter your project name:if exist "%CD%\%_PROJECTNAME%" echo "%_PROJECTNAME%" exists, please use another name & pause & exit 7echo "Now cocos2d-x suppurts Android 2.1-update1, 2.2, 2.3 & 3.0"echo "Other versions have not tested."call "%_ANDROIDTOOLS%\android.bat" list targetsset /P _TARGETID=Please input target id:set _PROJECTDIR=%CD%\%_PROJECTNAME%echo Create android projectmkdir %_PROJECTDIR%echo Create Android project inside proj.androidcall "%_ANDROIDTOOLS%\android.bat" create project -n %_PROJECTNAME% -t %_TARGETID% -k %_PACKAGEPATH% -a %_PROJECTNAME% -p %_PROJECTDIR%\proj.androidcall "%_ANDROIDTOOLS%\android.bat" update project -l ../../cocos2dx/platform/android/java -p %_PROJECTDIR%\proj.android:: Resolve ___.sh to /cygdrive based *nix path and store in %_CYGSCRIPT%for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn0.sh"') do set _CYGSCRIPT=%%A:: Resolve current dir to cygwin pathfor /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%cd%"') do set _CURRENTDIR=%%A:: Resolve ndk dir to cygwin pathfor /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%_NDKROOT%"') do set _NDKROOT=%%A :: Throw away temporary env vars and invoke script, passing any args that were passed to usendlocal & %_CYGBIN%\bash --login "%_CYGSCRIPT%" %_CURRENTDIR% %_PROJECTNAME% %_NDKROOT% %_PACKAGEPATH% "windows"pause
将_CYGBIN=设置为cycgwin\bin安装的的绝对路径。
将_ANDROIDTOOLS设置为android sdk 的tools绝对路径
将_NDKROOT设置为android ndk的绝对路径
修改完毕,保存后
双击create-android-project.bat开始工程创建向导
首先是输入包名(建议按照android的命名规则),如com.android.hello
然后输入工程名称(注意不要输入已有的文件夹的名字,如果同名,会被覆盖掉的),如helloworld,如下图:
然后选择target id:机器上安装的所有版本的sdk,我们选择6,即2.3.2的sdk,按回车就会创建工程:
注意上图下面红色的框框,如果在上一篇文章最后的NDK环境变量配置成功就会出现这段文字。
进入g:\cocos2d-x目录发现多了一个名为helloworld的目录,里面包含三个目录
其中Classes:是存放默认工程的C++文件
proj.android 是android的eclipse工程项目
Resources 资源文件
接下来编译helloworld工程,打开cygwin,输入 cd /cygdrive/g/cocos2d-x/helloworld/proj.android进入helloworld/proj.android
输入./build_native.sh开始编译:
这个过程会有点久,大家请耐心等等。注意了,编译这个过程如果出现关于NDK_ROOT的错误,比如说找不到文件,都是因为NDK环境变量配置出错,笔者也在这个问题纠结了很久,最后是发现.bash_profile添加NDK路径时候不是用UE打开的,所以再一次强调必须用UE编辑器编辑。具体配置大家请看上一篇文章最后部分。
最后编译成功截图如下:
2、导入到Eclipse编译
接下来就要把编译好的Android工程导入Eclipse里面了,经过Eclipse编译成功,则可以在手机上运行。
首先将helloworld里面的proj.android导入Eclipse中:
导入之后,如果出现以下错误,就是你没有把cocos2d-x的包导入Eclipse工程里面:
这时候选中工程右键 -> Build Path -> Link Source -> Browser,添加G:\cocos2d-x\cocos2dx\platform\android\java\src到项目中。
上述那种导入的方法并不是一劳永逸的,现在介绍一种一劳永逸的。
修改xxx\cocos2d-x\template\android下的 copy_file.sh :
在copy_src_and_jni 函数中添加 cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android 。
运行该工程,右键该工程,选择Run as ->android application(从cocos2d-2.0-rc0a-x-2.0起,支持了open gl es2.0,默认的工程创建是要求运行于open gl es2.0上的,即目前模拟器还未支持,所以必须用真机去调试)。
到此,创建Android工程和编译,再导入到Eclipse编译教程完成。
- Cocos2d-x 创建Android工程和编译+导入到Eclipse编译
- Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- (转)Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- Cocos2d-x学习之创建Android工程和编译
- cocos2d-x---导入eclipse编译
- Cocos2d-x-2.1.4之Android工程创建及编译
- Android cocos2d-x 之创建工程与编译
- Cocos2d-x 3.0 android环境搭建、创建工程、编译
- Android cocos2d-x开发(三)之创建Android工程和编译
- 环境搭建Cocos2d-x学习之创建Android工程和编译
- cocos2d-x-3.8.1在win10下自己创建和编译android工程
- eclipse编译cocos2d-x2.2.x移植到Android
- linux 怎么让普通用户使用sudo权限不需要输入密码
- 高级OWI与ORACLE性能调整读书笔记之Latch:cache buffers chains争用情形
- 静态初始化块的执行顺序
- 青春如梦
- objective-c中 -(void)和+(void) 业精于勤荒于嬉,行成于思毁于随
- Cocos2d-x 创建Android工程和编译+导入到Eclipse编译
- 详解linux vi命令用法
- 如何在有UITextField的界面让键盘更从容的失去第一响应者
- 关于相对路径的说明
- css颜色代码对应表
- Chrome扩展:让你使用浏览器打开Office文件
- 世界上最早的算法:辗转相除法(求两个自然数最大公约数)
- sql 判断字段是否为空
- Android 读取并显示通讯录