windows下cocos2dx 2.2.x编译安卓工程
来源:互联网 发布:红磷分析纯价格淘宝 编辑:程序博客网 时间:2024/05/22 17:34
在VisualStudio里面写完游戏代码后需要将游戏项目部署到安卓编译环境,并且编译成apk装到手机,以下讲解如何搭建开发环境。
软件准备
- eclipse+adt(或者adt-bundle,推荐使用adt-bundle,如果是aclipse+adt的话可能导致与adt或者sdk,ndk版本不兼容各种问题)
- jdk
- android-sdk(用adt-bundle可省)
- android-ndk
- cygwin
保险起见,都装32位的。
创建cocos2dx项目
用python创建自己的cocos2dx项目。参看:http://blog.csdn.net/u012234115/article/details/40018783工程目录:
其中我修改了demo项目的一个h和一个cpp,在cpp里面加了点东西。
配置安卓开发环境
1,安装jdk,sdk,ndk,cygwin其中sdk和ndk可以用离线版的压缩包解压,cygwin安装时只需要将devel那一项改为install就可以了,这个工具是编译安卓需要的,装完后最好运行一下cygwin.bat配置出事参数,能打开bash控制台就行了。
2,配置环境变量
JAVA_HOME C:\Program Files (x86)\Java\jdk1.6.0_45
ANDROID_SDK_ROOT D:\android-sdk (如果是adt-bundle集成开发包就不用配这个)
NDK_ROOT D:\android-ndk
最后把这些变量用%xxx%的形式加入到用户变量或者系统变量的Path中,例如:Path %ANDROID_SDK_ROOT%;%NDK_ROOT% (分号隔开)
CYGWIN的环境变量C:\cygwin\bin 必须写到系统变量Path后面,因为c盘权限问题,如果写到用户变量可能找不到
3,eclipse中导入cocos2dx项目
eclispe要先安装adt插件(adt-bundle省略这个)
eclipse中import创建的那个cocos2dx项目,file->import->Existing Android Code Into Workspace->Browse,把创建的项目那个proj.android文件夹导入工程
导入后看到src上有个叉,有错误
项目加载进来后会提示缺少cocos2dx包,我们去cocos2d-x-2.2.5/cocos2dx/pathform/android/java/scr/ 把org文件拷到我们项目APKtest/proj.android/src/下,然后refresh一下eclipse项目就可以了
(还有另外一种方法,导入另一个Android项目,项目位置为“C:\cocos2d-x-2.2.0\cocos2dx\platform\android”。导入项目之后,错误即会消失,有时候那个红叉不会立即消失,别管他,编译时自动没了)
配置eclipse中androidsdk的位置,window->preferences->android,如果没有设置,后面编译时会提示设置的
配置目标编译平台,项目->properties->android,勾选安卓api版本(我只装了api19,如果是完整sdk,下拉列表有很多版本,另外cocos2dx创建的项目默认最低api是8,勾选8以上的就可以了)
配置Android.mk后保存,这个是jni设置cpp文件链接规则的文件,把修改的或者增加的cpp文件按照那个格式写进去,不能多也不能少,只要cpp不要h
开始编译,点击eclipse上面的run按钮,第一次编译需要选择run as android application,等一杯茶的功夫,cygwin和ndk需要将项目交叉编译到arm平台
编译成功,在内proj.android\bin目录里可以看到生成的apk包
第一次的话需要配置安卓虚拟机,会自动打开AVD manager,配置好虚拟器之后会自动启动虚拟机,安装打包好的apk,运行程序
打开logcat可以看程序运行日志
最终结果
游戏的屏幕适配策略需要根据安卓手机的分辨率做修改。
注意:
1,cocos2dx 2.2.5编译错误:proj.android/../../../extensions/CocoStudio/Reader/WidgetReader/LabelReader/LabelReader.cpp:54:9: error: 'transform' is not a member of 'std',解决方法:找到LabelReader.cpp文件在前面添加 #include <algorithm>
2,可以在AndroidManifest.xml文件里面修改android:screenOrientation="landscape" 为android:screenOrientation="portrait" 默认横屏改竖屏
3,遇到程序白屏闪退,并且logcat里面显示 FATAL EXCEPTION: GLThread 11 ,解决方法:在创建虚拟机时勾选GPU模拟 即,Use Host GPU,最好api 在14以上
4,如果有自己额外添加的游戏资源,比如图片,音乐,字体,图标等,需要在Resouces文件夹拷贝到proj.android\assets下参与编译打包,否则程序黑屏
0 0
- windows下cocos2dx 2.2.x编译安卓工程
- windows下cocos2dx 2.2.x编译安卓工程
- windows下cocos2dx 3.x编译安卓工程
- cocos2dx 2.x 安卓工程的创建 Mac下
- [cocos2dx]windows上编译安卓程序
- eclipse下编译cocos2dx工程(windows下无cygwin)
- cocos2d-x 2.2.5 安卓工程编译的问题
- cocos2d-x 2.2.5 安卓工程编译的问题
- eclipse下编译cocos2dx工程
- quick-cocos2d-x如何在windows下编译安卓版本
- cocos2dx 3.x mac 下创建工程
- cocos2dx安卓编译出错
- Windows下cocos2DX安卓开发环境配置
- windows下cocos2dx生成安卓APK包
- cocos2dx 3.X 在windows下的环境搭建并建立第一个HelloWorld工程
- Coco2d-x-2.x和3.x创建工程以及编译安卓注意事项
- 关于cocos2dx 3.10 js 新建的 安卓工程无法编译解决
- cocos2dx 3.x 命令行创建和编译工程
- Nginx 定时器事件
- UICollectionView 和UICollectionViewController(网格和网格控制器)
- typedef使用大全(指向函数的指针)
- xml里面的修饰符号
- 开始学习
- windows下cocos2dx 2.2.x编译安卓工程
- C#开发之简单的日志打印类
- java5中Lock与Condition的应用
- 【java】itoo项目实战之常见问题一
- 出色的移动线框图设计工具
- 链表---约瑟夫问题
- ***1240 Ivan的阿柒工作室 解题报告
- 典型相关分析
- 选出需要rebuild的索引