1013 JSOI2008 球形空间产生器 sphere 题解

本文小for原创,转载请注明出处

好久没有更新Cocos2d-x的学习文章了,最近在整理大学期间做过的东西,同时也新做了几个Cocos2d-x的小程序,并且在网上搜索了不少资料,终于成功地打包成APK了,并在两个Android手机上成功运行。

小for的环境是Windows8+eclipse+cocos2d-x (2.2.1),网上关于如何打包cocos2d-x的项目的文章已经非常多了,并且,我发现这些过程都不是统一的。在本文中,小for只记录小for是怎样成功打包的。关于各种环境搭建、配置这些,都不讲了,有需求的同学请阅读这篇文章

下面,正文开始。(Tip:以下路径均为小for电脑上的绝对路径,看客请自行处理。)

第一步:新建工程(cocos2d-x 2.2.1)

       在D:\cocos2d-x-2.2.1\cocos2d-x-2.2.1\tools\project-creator目录下按住Shift键和鼠标右键,选择“在此处打开命令窗口(W)”,然后在这个命令窗口下输入新建工程的命令create_project.py -project project_name -package com.for.test -language cpp。这样就新建了一个工程名为project_name,包名为com.for.test,主要使用C++开发的项目,在..\cocos2d-x-2.2.1\projects下可以看到新建项目的文件夹,包括各个平台的工程文件。如下图所示

      图一:新建工程命令

    图二:新建工程文件夹

第二步:复制资源

      这一步最轻松,。

      1、在项目文件夹(project_name)下的proj.android文件夹下新建assets文件夹,然后将项目文件夹下的Resources下的全部资源复制到assets文件夹下。

      2、将..\cocos2d-x-2.2.1\cocos2dx\platform\android\java\src文件夹下的org文件夹复制到..\project_name\pro.android\src文件夹下。

第三步:eclipse导入项目

     eclipse下file->import->Android->Existing Android Code Into Workspace,再选中..\cocos2d-x-2.2.1\project\project_name。这时eclipse会报错。

 第四步:修改文件

     1、修改项目文件夹下的build_native.sh文件,需要修改和添加的地方如下图。(第一个红框的内容为NDK的路径,注意,请使用EditPlus修改,保存的时候文档->文件格式->更改文件格式->Unix/ Mac OS X->确定,之后再保存,否则编码不正确会出错)。

   2、修改.mk文件

    打开eclipse下jni文件夹下的Android.mk,在LOCAL_SRC_FILES下,按照已经有了的规则加入小伙伴们开发中新建的各种.cpp文件或者.c文件(注:使用了sqlite3时,有个Shell.c文件,因其中含有main函数,故不能添加在这儿。)。然后,在此文件末尾加上如下代码

3、修改环境

  eclipse下,项目上点右键->属性->C/C++ Build->将已经勾选的Use default build commend->填入E:\Eclipse\sdk\android-ndk-r9d-windows-x86_64\android-ndk-r9d\ndk-build.cmd(注,视具体情况而定)->Apply->确定。

第五步:运行Android程序(Run As Android Application)

 

待运行结束后,在pro.android/bin文件夹下就生成了一个project_name.apk,这就是我们最终的目标了。将它拷到Android真机上测试,成功运行。
    
 
 
 
终于写完了,嘿嘿,第一次打包的时候,整整花了两天,当时真是觉得eclipse+Cocos2d-x就是坑啊,步步为坑。习惯了就好了,呵呵。今天是愚人节,大家节日快乐啊。小for开始找工作了,压力很大。上次参加了一个笔试,考的很多东西都不会,基础不够扎实。唉唉,来家大公司收了我吧。不过现在,小for和之前不同了,我不大想去外地了,毕竟重庆有我的亲人,有我爱的人。只去几家大公司面试试试,哈哈!
 
 
谢谢大家,欢迎交流学习,批评指正!

 

 

1013 JSOI2008 球形空间产生器 sphere 题解,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。