MAC下配置android开发环境以及运行cocos2dx项目

Colin-Liao 个人原创,欢迎转载,转载请注明地址。Colin-Liao的专栏地址http://blog.csdn.net/focusdeveloper

最近在MAC上面配置cocos2dx的android开发环境,这里作下总结以及在搭建环境时候遇到的问题,希望给正在困惑的童鞋一些帮助。

首先配置环境必要的条件:

ADT 下载地址:http://eclipse.org/downloads/ 这里adt中包含了eclipse和android SDK,为了让开发android的同学些不那么麻烦。我下载的是最新版本的。

NDK 下载地址: http://developer.android.com/sdk/ndk/index.html我下载的是最新版本r9,如果有的童鞋想下载r8e的http://dl.google.com/android/ndk/android-ndk-r8e-darwin-x86_64.tar.bz2 。这个是64位的 根据自己的情况选择。

cocos2d-x 下载地址:http://code.google.com/p/cocos2d-x/downloads/list?can=1&q=label%3Acocos2d-x 这里各种各样版本都有我下载的最新的。

我把上面下载的文件都放在了/Users/apple/documents/android这个文件夹下面,然后我们就开始下载android SDK 了,在下载下来的ADT文件中找到eclipse,并且运行eclipse。

然后在window选项中选择 android SDK Manager,如下图,然后在刷新出来的选项中选择需要的Android SDK。

                               

如果下载不动的话,请看看我的上一篇博客http://blog.csdn.net/focusdeveloper/article/details/10229091 。

这个步骤估计时间用的比较久,等待完成。

现在配置环境变量,也就是cocos2dx,NDK,SDK的地址:

打开中断 输入 pico .bash_profile,然后配置自己的环境变量,我的地址如下


输入完成后ctrl+x保存下,然后Y确定,回车,环境变量就配置好了

我们现在开始创建cocos2d-x工程打开终端,

输入cd $COCOS2DX_ROOT,回车 (应该到了你的cocos2dx的地址了)

输入./crate-android-project.sh 回车 (创建一个android project) 出现 Input package path. For example: org.cocos2dx.example

输入 org.cocos2dx.focus 回车 这里名字可以自己取。然后会出现如下选择SDK的图片(意思是说你创建的项目的SDK版本)



然后显示input target id: 我选者的是7 即android 2.2的系统,android-8 回车 之后显示input your project name,输入的项目名称 

输入androidTest 回车,不出以外项目就创建完成了。

接下来的工作就是要将刚才创建的项目和NDK一起来编译成真正可以执行的android项目了。

在刚才的终端中cd 进你创建的项目中

输入 cd androidTest 回车

输入 cd proj.android 回车

输入 ./bulid_native.sh(native 是NDK的开头字母)回车

现在开始编译:

如果是用的NDK r9应该会报如下错误


这个问题是ndk r9中自带的bug所以不要在意,以后版本估计会修复(如果用ndk r8e这里将没有问题出现)。现在在文件夹中找到androidTest项目,路径为androidTest/proj.android/jni/Application.mk,然后以文本编辑的格式打开它在后面加入

APP_CFLAGS += -Wno-error=format-security 完成之后在编译一次./build_native.sh.

现在出现如下图所示表示已经完成了编译


那么接下来的工作就是将已经编译好的android项目放到eclipse上面运行了。

打开ADT,选择file->new->project

然后在弹出的窗口中选择android->android project from Existing code 然后next出现如下界面


将之前创建的项目路径browse上去,完成之后,ADT的package explorer下面应该有你的项目了,不过现在貌似有一个红色的叉,出错了。原因是因为没有包含进

cocos2d-2.1rc0-x-2.1.2/cocos2dx/platform/android/文件夹下面的java包,解决这个问题有两种方法

1.像刚才在adt中加入我们创建的项目一样加入这个java包,不过这种方法在每次你在ADT中加项目的时候都要加(如果里面没有)。

2.找到/Users/apple/Documents/android/cocos2d-2.1rc0-x-2.1.2/template/android/文件夹下面的copy_files.sh文件打开找到

# from HelloWorld copy src and jni to APP_DIR
copy_src_and_jni(){
    cp -rf $HELLOWORLD_ROOT/proj.android/jni $APP_DIR/proj.android
    cp -rf $HELLOWORLD_ROOT/proj.android/src $APP_DIR/proj.android
    # replace Android.mk
    sh $COCOS2DX_ROOT/template/android/gamemk.sh $APP_DIR/proj.android/jni/Android.mk $NEED_BOX2D $NEED_CHIPMUNK $NEED_LUA
}
这段代码在其中加入

cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android这句话(它会将java这个包复制到我们新建的项目中),如下

# from HelloWorld copy src and jni to APP_DIR
copy_src_and_jni(){
    cp -rf $HELLOWORLD_ROOT/proj.android/jni $APP_DIR/proj.android
    cp -rf $HELLOWORLD_ROOT/proj.android/src $APP_DIR/proj.android
    #添加代码
    cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android
    # replace Android.mk
    sh $COCOS2DX_ROOT/template/android/gamemk.sh $APP_DIR/proj.android/jni/Android.mk $NEED_BOX2D $NEED_CHIPMUNK $NEED_LUA
}

第二种方法会在项目的proj.android/src/org/cocos2dx文件夹下面声称lib文件夹里面包含了java文件夹下面的文件。

第二种方法在创建项目的时候才起作用,无论用上面哪种方法完成后就因该不会报错啦。

现在可以开始运行了,运行都是很简单的事情。

这里我讲讲连接上真机的时候在android device chooser的框类没有可以选择的真机器,现在该怎么处理呢?



打开终端:

输入 system_profiler SPUSBDataType   在输出结结果中寻找你的设备。(确保现在设备连接在mac上并且设备上的开发者调试是开启的)

找到Samsung Android USB Device: (你的根据自己的是什么设备),找到下面的Vendor ID: 0x04e8,并且将起其录下来。

现在我们要将 这个vendor ID加入到adb_usb.ini文件中。同样两种方法:

1.在终端输入mkdir ~/.android (确保有这个文件夹)

  再次输入echo "0x0x04e8" > ~/.android/adb_usb.ini 回车。这样就将vendor ID 加入到ini文件中了

2.直接找到这个文件直接更改:/Users/apple/.android/adb_usb.ini ,这个是文件路径,但是.android文件夹是隐藏的,在终端输入

defaults write com.apple.finder AppleShowAllFiles -bool true回车,然后重新启动finder .android文件夹就显示出来了。

更改完成后这sdk的platform-tools文件下有一个文件 adb,现在我们要重启adb然后我们的设备估计就能出来

在终端输入/Users/apple/Documents/android/adt-bundle-mac-x86_64/sdk/platform-tools/adb kill-server(这个路径是我的哈,当然你也可以配置环境变量) 回车。

接下来输入/Users/apple/Documents/android/adt-bundle-mac-x86_64/sdk/platform-tools/adb start-server 回车

最后输入 /Users/apple/Documents/android/adt-bundle-mac-x86_64/sdk/platform-tools/adb devices

你的设备就出来了。

现在回到ADT中在运行一次项目,就能够找到真机了。


最后讲一下你创建的如果是sdk 4.0之后的项目那么即使你按照我上面的叙述做的估计都还是会有错误。如下图


错误的原因是因为在项目的res/drawable-hdpi文件夹下面的图片名字为ic_launcher.png,所以将上图的错误icon改为ic_launcher即可。但是别忘了command+s保存,保存的时候会生成R.java文件,现在就没有问题啦。

 

下一篇为如何加入自己的xcode下的cocos2d-x项目到ADT。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值