Cocos2d-x 创建Android工程和编译+导入到Eclipse编译

根据前两篇文章,我们大概搭建完成了开发环境,现在来创建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 root

if not exist "%cd%\create-android-project.bat" echo Error!!! You should run it under cocos2dx root & pause & exit 2	



if 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		// 修改1

if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4



:: modify it to work under your environment

set _ANDROIDTOOLS=g:\android\sdk\tools	// 修改2

if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5


:: modify it to work under your environment

set _NDKROOT=g:\cygwin\android-ndk-r8e	// 修改3

if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6



:: create android project

set /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 7

echo "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 targets

set /P _TARGETID=Please input target id:

set _PROJECTDIR=%CD%\%_PROJECTNAME%



echo Create android project
mkdir %_PROJECTDIR%
echo Create Android project inside proj.android
call "%_ANDROIDTOOLS%\android.bat" create project -n %_PROJECTNAME% -t %_TARGETID% -k %_PACKAGEPATH% -a %_PROJECTNAME% -p %_PROJECTDIR%\proj.android
call "%_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 path
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%cd%"') do set _CURRENTDIR=%%A

:: Resolve ndk dir to cygwin path
for /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 us
endlocal & %_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 。

以后每次导入工程都会自动导入cocos2d-x所需的包。


运行该工程,右键该工程,选择Run as ->android application(从cocos2d-2.0-rc0a-x-2.0起,支持了open gl es2.0,默认的工程创建是要求运行于open gl es2.0上的,即目前模拟器还未支持,所以必须用真机去调试)。

 

到此,创建Android工程和编译,再导入到Eclipse编译教程完成。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值