【备忘】Android下编译cocos2dx工程 @import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 1- 下载 adt bundle,解压到/home/ide/adt-bundle-mac 2- 下载 ndk,解压到/home/sdk/android-ndk-r8c (这里的r8c是版本号) 3- 下载 cocos2dx-1.0.1-x-0.13.0-beta,解压到/home/sdk/cocos2dx-0.13 4- 修改 cocos2dx-0.13 下的 create-android-project.sh 开头的ndk的路径和android sdk 路径为 /home/sdk/android-ndk-r8c 和 /home/ide/adt-bundle-mac/sdk 5- 执行 create-android-project.sh,按照提示输入应用名,id,工程名,然后会生成 <工程名> 这样一个文件夹。 6- 在工程文件夹内的android文件夹,执行build-native.sh,会把cocos2dx和其他的cpp都编译为一个libgame.so。 7- 用adt bundle带的eclipse,新建一个other中的android project from exist code,文件夹指向 工程文件夹。 8- 编译可能会出一个找不到图标的错误,以及R相关的错误,这时候双击AndroidManifest.xml,在Application标签页,点击icon后面的...按钮,选择一个图标,自动会产生一个R.java,各种参数都会配置好。 9- 最后编译,在虚拟机上运行即可。

【可能会出现的问题】 1- 出现eglconfigchooser异常 需要在src下的org.cocos2dx.lib包下的 Cocos2dxGLSurfaceView.java 里 151行,setRenderer 前面加上一句 setEGLConfigChooser(8,8,8,8,16,0); 2- 在eclipse里整合c++编译 在工程属性里,增加新的Builder,类型为Program。 Main下面 location 选择为项目android目录下的 build_native.sh working directory 选择为项目目录 Refresh下面 指定资源目录到jni Build Options下面 选中 Allocate Console (necessary for input) 选中 Run the builder 下的每个选项 制定资源目录为jni 确定就可以了。在clean和确定后,系统会开始编译c++代码。 【这里可以考虑将cocos2dx的编译和游戏编译分开,避免每次的重新编译。】 【原来的build_native.sh将cocos2dx和声音引擎编译为.a库,可以把他们和自己游戏需要的其他辅助库预先编译】 【游戏,则链接他们编译为.so】


3- 如何设置ndk的目标版本 在project.properties文件里,target=android-<版本>
4- 如何设置目标apk版本 打开AndroidManifest.xml,里面的 uses-sdk下的 android:minSdkVersion 修改为指定的api版本即可。

更多相关文章

  1. Android 版本及别名
  2. android 各个版本介绍(截止2017年)
  3. Android api对应版本(持续更新)
  4. eclipse中加入写好的android工程和出现的错误
  5. quick-cocos2d-x如何在windows下编译安卓版本
  6. Android 10.0系统源码中 编译android studio工程
  7. Eclipse将普通工程转化为Android工程

随机推荐

  1. 你知道为啥不再建议使用GOPATH以及如何使
  2. go语言有goto吗
  3. go语言都用什么框架
  4. go语言make的用法有哪些
  5. centos go语言环境怎么搭建
  6. go语言适合于哪些领域
  7. 有哪些大公司已经用Go语言了
  8. go语言有指针吗
  9. go语言是啥
  10. go属于解释型语言么