cocos2dx程序不能只在VS2012下运行,迟早是要搬运到Android和IOS上的。Windows下移植IOS平台先搁下不说比较困难,而且只有越狱的苹果机才可以运行,而且毕竟IOS高端、小众。这里主要讲一下移植Android,windows下cocos2dx打包成APK和在eclipse下运行的方法。
本文接上篇win8下环境配置的博客,在cocos2dx和VS2012的配置完成后( 如果还没有配置cocos2dx+VS2012的环境,请最好先参考博客进行配置:http://blog.csdn.net/u012200908/article/details/38056917)
cocos2dx和VS2012相比配置Android十分简单。在配置完成之后,这个时候系统变量path中有了cocos2dx的目录和Python的目录,这些也是移植Android平台要使用的。
篇幅长主要是因为笔者网上看过很多教程讲的不够透彻,许多新手看不懂,自己不想这样。所以这篇博客图片较多,造成长篇累牍。还请各位读者见谅。
下面先说一下准备工作配置Android有关的环境,用的东西包含如下:
1、
      首先需要JDK,我用版本是1.8.0.11,64位
      官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html
      可以上网搜一下,或者百度云(百度云共享的为64位,如果有人是win8或者win732位的系统还是按上面的网址去官网下载吧):
      http://pan.baidu.com/s/1dDzRQBf

2、

Android ADT
     官网可以直接下最新的(7月2号的版本):
     http://developer.android.com/sdk/index.html
        我的百度网盘有64位的可以下
         http://pan.baidu.com/s/1bn8dwXT
            
     解压到你习惯的目录下(建议某磁盘根目录)
     
如果你想使用我的版本

(14年3月21号的)

以避免可能出现的问题,我认为应该不会有的。。

     网盘里面也有64位的可以下:
     http://pan.baidu.com/s/1sj15u1n

3、

Android NDK
     这个很关键,不要下r10版本,会有问题,这个是因为官方的原因。
参见

http://cn.cocos2d-x.org/tutorial/show?id=1187

这里选择r9d版本,我实在是在官网找不到下载链接,因为只看到r10的一堆链接,其他版本一个下载链接没找到。。。
最后找到一个网址:
     https://dl.google.com/android/ndk/android-ndk-r9d-windows-x86_64.zip
     https://dl.google.com/android/ndk/android-ndk-r9d-windows-x86.zip
     后缀有64即为64位系统
     可以去我的百度云下载64位NDK:
     http://pan.baidu.com/s/1jGsWan8
     先不急着解压


4、下载ANT
     这里使用的是1.9.4的ANT
     官网直接下载zip包:
     http://ant.apache.org/bindownload.cgi
     先不急着解压
     
5、现在将NDK和ANT全部解压到ADT下面去,以方便管理
     现在ADT下面有
     NDK
     SDK
     Eclipse
     ANT
     SDK Manager.exe
     

这里要强调一下,CMD运行要尽量都在管理员身份运行的情况下,请从查看所有程序,发送一个快捷方式到桌面,每次右键以管理员身份运行。然后CD到你要用的目录。


下面正式开始:
 step 1:
      安装JDK,记住JDK的路径,这里要强调一点,就是你文件夹路径里面不可以有空格和中文字符。所以你不要装在默认的program files里面。建议自己找个地方装JDK。
      计算机-右键属性-高级系统设置-环境变量


点击进入环境变量,在系统变量下点击新建
     JAVA_HOME     C\Java\jdk1.8.0_11//就是你JDK的路径,这里不需要加分号
     CLASS_PATH     .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;//前面有个点,请大家注意

再找到path变量,要加三个东西
     (1)在最前面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
     (2)path里面还要再加上Android SDK下面tools文件夹的路径。

     例如笔者的是:C:\adt-bundle-windows\sdk\tools;

     请使用绝对路径,加上这个路径之后,在使用android list targets查看sdk版本的时候就不会出现Android不是内部或者外部命令这样的错误。

     (3)然后把ANT的变量也一起配置一下,有备无患。path中继续添加     ANT目录\bin;//建议直接找到那个目录然后将路径复制黏贴到里面,但注意后面要加上\bin

step2:
     上面的工作完成之后,我们需要再次运行setup.py将NDK_ROOT、SDK_ROOT、ANT_ROOT关联到cocos。
     打开CMD,cd到cocos2dx目录下
     输入setup.py,回车。还记得一开始只配置cocos2dx和VS时候的运行结果吗?
     结果如下,他会提示你Please enter the path of NDK_ROOT

参照我下面输入的一个个输入进去,建议拷贝路径之后右键黏贴,然后回车。(我的路径有点儿长,没有改ADT的名字,后来我全部删除重新调试过,大家可能会发现我的ADT前后不一样,这个大家知道一下就行了。一定要输入自己的正确的路径)
回车就会添加一个变量。到最后ANT_ROOT设置完了之后,这一块也就完了。然后他会提示你重启命令提示符或重启系统,这里重启下CMD就行了。如果有问题再重启吧。



可以在关闭之后再次在这个文件夹打开CMD,再次运行setup.py验证是否生效。
或者输入set NDK_ROOT、set ANDROID_SDK_ROOT、set ANT_ROOT查看

这里请注意,笔者再次提醒,图片笔者是两次截图,所以路径有的地方是adt-bundle-windows-x86_64-20140702,后来笔者改用了20140321的版本,造成其他地方路径是修改了之后的adt-bundle-windows,如果有不便还请谅解一下啦。

step3:
构建Android工程(apk)
下面新建一个工程,这里不做赘述。
工作目录内,shift + 右键 打开CMD
cocos new helloworld -l cpp -p com.losers.game
在工作目录下创建了一个helloworld项目(这里要注意,如果工作目录路径里面有空格建议删除工作目录重建,否则会编译出错)

在构建APK之前,先打开ADT中的Eclipse,启动SDK Manager,更新一下SDK,至少保证一个版本的SDK可以使用。但这个版本要新一些,笔者选择了4.4.2,因为太旧了会有OpenGL的问题,建议大家也更新一下4.4.2,大有用处。这里先说一下,后面具体解释。
更新SDK的时候可能存在Fetching很慢的问题,请点击Tools——option——下面的Others中,把第一个选项勾中即可。
相信速度会快很多。而且下载成功率也会大大提高。其他的方法比如修改hosts文件在此不冗述,请大家自己百度一下方法。

  在确保有至少一个完整可用版本的SDK后,后面要用的是cocos2d-console,compile的命令
     在helloworld目录下打开CMD下输入下列命令查看帮助
     cocos compile --help或者 cocos compile -h



然后输入cocos compile -p android -j 4,打包APK。这儿说一下,要在管理员模式下执行命令提示符,以防出现问题。
即编译当前目录的安卓工程,可以同时有4个编译任务,让4核机器满负荷跑。
这里当然可以根据你的手机Android版本加上 --ap 数字(10 —— 20,目前是这样的,以后除了新版本数字会增加)这里我选择了缺省,让他自己找。因为原理上是可以自己找的,我要全方面判断是否有问题。

版本对应的数字我想在用SDK Manager的时候大家都会看到

如果你不知道,可以在CMD中输入android list targets查看,如下图

     笔者SDK只有2.3.3和4.4.2的,对应数字是10和19

然后执行

cocos compile -p android -j 4,打包APK


根据它提示的路径去找到那个让我们又爱又恨的APK
跟同学借个手机来跑跑试试。结果如下,版本Android4.0:

这里要说一下,笔者在打包APK的时候遇到了一些问题,说java.exe不是内部或者外部命令,也不是可运行的程序,也不是批处理文件。
     这个应该是一开始的JAVA环境变量配置有问题造成的,你要看看你的跟java有关的变量路径里面是否有类似于program files一样有空格的路径。如果有,请卸载JDK重装再别的路径没有中文和空格的文件夹里面,然后修改路径,重启电脑,以管理员方式运行CMD重试一下,笔者就是这样解决了问题。

step4:
eclipse下跑程序
     继续回到前面打开的Eclipse,将我们要打开的项目给整进来。
     但在这之前,最好查看NDK和SDK路径是否正确
     window——preferences——Android查看SDK和NDK,检查location是否正确 
     
     如果你用的新版本(7月2号版本的)你会发现,卧槽?为啥怎么找NDK都找不到啊?这个原因我也不知道。需要往Eclipse的plugins文件夹下拷贝一个jar包,叫做com.android.ide.eclipse.ndk_23.0.2.1259578.jar
     这是下载地址:
     http://pan.baidu.com/s/1i3xbM0d
     这个NDK里面没有应该是没有什么影响的,我是在配置环境出错的时候病急乱投医了,找了各种方法,觉得这个还是加上好,所以就说一下。幸亏我用的不是这个版本,不过我的大神舍友说,这个NDK就算空着也不会影响。。。。。
     
     下面开始导入我们的项目
     import-Existing Android Code Into Workspace
     选择我们的项目中proj.android文件-Finish
     这里一定不要勾选copy projects into workspace,否则后果很严重,笔者亲测。。。。


这个时候程序会有错误,是因为类库没有引入,以后每次都要引用一下了。你需要找到你创建的项目所在的地方。

我是在C:\cocosworkspace\helloworld\cocos2d\cocos\platform\android\java\src

下面,(就是原项目里面)里面有个org文件夹,复制一下,拷贝到我们用Eclipse打开的helloworld项目的src中去。提示是否重写,选yes,这样错误就没有了。

下面重点来了。
     第一点:我们可以看到,这个地方默认的版本是Android2.3.3,笔者就是在这个地方被困住了两天两夜,我新建了2.3.3的AVD,也勾选了Use Host GPU,但就是报相关OPENGL的错误。后来我多方查证才知道openGl在Android2.2之后才支持真机,所以默认版本是2.3.3,模拟器版本4.0.3之后才能跑,我只想说,cocos2dx和Android都太(哔哔)了(自己和谐一下)。
     
     所以这个地方,在项目上右键——properties——切换到4.4.2版本,等一会儿Eclipse为我们自动切换。
切换了版本之后,新建4.4.2的AVD,勾选下方的Use Host GPU,这个AVD就是我们要用的模拟器。

第二点:同时这里要注意,如果以后你编写cocos程序,增加了cpp,你需要到Android.mk文件中将cpp添加进去
下面是Android.mk文件(jnj文件夹下)
     要在LOCAL_SRC_FILES下面写上你所有的cpp文件,这里要注意,除了最后一个cpp以外,每个后面都有一个斜杠。

以上都完成之后,启动AVD运行一下,大家请看~当当当当~
这里我调整成了较宽的AVD。

到此配置就完成了!~~~~~

因为我学cocos2dx的时间也不是很长,只有一个多月,写这篇博客是一位cocos2dx吧的吧友提出的疑问,我就自己配置了一下,虽然在cocos2dx下做项目,但我是用Xcode和VS2012。打包APK和一直Android平台是另一位队友的任务。这位吧友也让我学到了不少,知道了自己的不足,持续了一个多周总算是把Mac下和windows 8.0下cocos2dx3.2移植Android平台的教程都写了出来。如果大家遇到问题或者发现我的博客里面有错误请留言,我会尽力给大家解答以及修正博客。
2014.8.6 22:45
Mr.Losers

win8下cocos2dx3.2移植android平台及代码打包APK相关推荐

  1. cocos2dx使用了第三方库照样移植android平台-解决iconv库的移植问题

    好记性不如烂笔头 cocos2dx使用了第三方库照样移植android平台-解决iconv库的移植问题 http://www.zaojiahua.com/iconv.html

  2. 【Android 逆向】代码调试器开发 ( 使用 NDK 中的 ndk-build + Android.mk 编译 Android 平台的代码调试器可执行应用 )

    文章目录 一.Android 平台代码调试器代码 二.Android.mk 构建脚本内容 三.Application.mk 构建脚本内容 四.正式编译 五.博客资源 一.Android 平台代码调试器 ...

  3. cocos2dx移植android平台-我的血泪史

    原文:http://www.zaojiahua.com/android-platform.html 本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是 ...

  4. cocos2dx移植android平台

    这是我在网上查询的一篇关于cocos2dx移植安卓平台的文章,感觉很有用,留着以后备用 本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦啊,网上 ...

  5. Android开发Android studio之gradle打包apk重命名的方法

    老套路,先看效果图: 首先第一步在gradle里面(跟android同级)写个获取当前时间的方法如下: //获取时间的方法 GMT+8代表北京时间,下面两个方法都可以 static def getNo ...

  6. Android Studio 2.3 打包apk

    LZ-Says:写代码写得突然蒙比了,来来回回折腾了小2个月,乱啊~ 前言 话说从Eclipse转化到Android Studio后,一直都没打个包,发个版本,今天想提交测试打个版本,丫的一看,和Ec ...

  7. Android 如何通过代码安装 APK

    在 APK 开发中,通过 Java 代码来打开系统的安装程序以安装 APK 并不是什么难事,一般的 Android 系统都有开放这一功能. 但随着 Android系统版本的迭代,其对于权限的把控越来越 ...

  8. Android直接用手机打包apk!

    你没有看错,用手机浏览器访问Jenkins,就可以打包apk,并生成下载二维码,发送邮件通知测试人员下载,从此解放双手,告别打包测试.先上本人手机邮箱收到的打包成功通知效果图: 废话少说,开干! 本人 ...

  9. win8下cocos2dx-3.2+VS2012环境配置及项目创建

    这是本人CSDN的第一篇博客,因为假期在学校做实训项目接触到了cocos2dx,觉得是一个特别适用强大,有不错的可移植性(虽然可移植性不错,但实际上写好的游戏往Android上移植,我的队友废了好大劲 ...

最新文章

  1. 怎样解决MySQL数据库主从复制延迟的问题
  2. 开发日记-20190329
  3. UNITY 手游(安卓)如何使用C/C++代码
  4. php 过滤中英文以外,PHP-php过滤重复中英文字符串
  5. axis调用webservice客户端开发
  6. 常见前端数据格式转换
  7. 前端学习(649):编译和解释性语言的区别
  8. 【读书笔记】--- 《码出高效:java开发手册》
  9. 工作3年,可视化毫无进步?小白都能看懂的干货,我真不想告诉你
  10. Mock Serverj
  11. 构建复杂的应用程序 —— 重用与重构
  12. HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
  13. flash 林度_flash怎么制作呢 ?
  14. 常微分方程——解的延拓性定理
  15. 基于机器学习进行销售预测分析
  16. 【echarts报错】: ‘normal‘ hierarchy in itemStyle has been removed since 4.0.
  17. 配置静态IP失败总结
  18. 计算机模拟在数学实验报告,MATLAB实验-8计算机模拟.doc
  19. 原标题:我如何三天就写完了毕业论文!
  20. 海信电视power android,海信智能电视投屏之安卓手机miracast投屏教程

热门文章

  1. 盘点Spring Boot最核心的27个注解
  2. 前大灯是近光灯还是远光灯_汽修案例:长安福特翼博前大灯间歇自动点亮
  3. 设计模式 之 工厂模式
  4. 类从未使用_如果您从未依赖在线销售,如何优化您的网站
  5. ui原型设计工具_UI设计师的工具包,用于专业模型,原型和产品插图
  6. 小技巧!CSS 整块文本溢出省略特性探究
  7. OSChina 周三乱弹 —— 爸爸说,这个是从他硬盘里掉出来的
  8. Linux 终端环境安装 L2TP 客户端
  9. 转载通过 Docker 实现传统应用程序的现代化
  10. bzoj2751[HAOI2012]容易题(easy)