cocos2d-x-3.2 打包Apk

    之前自学了近一年android开发,最近又瞎初学cocos开发,配置android的环境真的是繁琐,整了好久终于可以把项目打包Apk了。

    下面把自己这次打包的过程分享一下,也方便自己下次打包:

     第一步:下载Python

     链接:http://pan.baidu.com/s/1c1V35RE

     选择里面的python-2.7.5.amd64进行下载,下载之后进行安装即可,一定要记住自己的Python的安装路径,我的安装路径是默认路径C:\Python27  

      回到桌面,右键“这台电脑”,选择“属性”,点击左侧菜单的“高级系统设置”,点击“环境变量”,在下方“系统变量”的Path处选择“编辑”,在最后方加上这句话

     ;C:\Python27

      注意最前面那个分号";”    这行的意思就是自己python的安装路径 

      然后点击确定,让环境变量设置完成。

     打开命令行,输入“python”,如果出现如下显示则说明python配置成功

     cocos2d-x-3.2 打包Apk_第1张图片

     第二步:下载cocos2d-x-3.2

     链接:http://pan.baidu.com/s/1qY4qVaW

     下载cocos2d-x-3.2后得到的是一个压缩包,将此压缩包解压,解压路径自行选择,我解压到了D:\cocos2d这个文件夹下

     还是打开“环境变量”,在最后方加上这句话

     ;D:\cocos2d\cocos2d-x-3.2\tools\cocos2d-console\bin

     注意最前面那个分号";”

     这个意思就是解压的那个路径加上\tools\cocos2d-console\bin

     在命令行输入cocos new HelloWorld -p org.cocos2dx -l cpp -d codes,新建一个cocos2d项目

     这个命令的意思是:HelloWorld是新建项目的名称,-p org.cocos2dx是android下项目的包名,-l cpp是新建项目使用的编程语言(注意是字母l,不是阿拉伯数字1),-d codes是保存项目的目录

     如果一切正常,那么将会在默认路径看到刚才新创建好的项目文件夹,由于没有更改保存路径,所以应该在默认路径看到创建的新项目,我的路径是C:\users\dell\codes,见图:

      cocos2d-x-3.2 打包Apk_第2张图片

     打开文件夹能够看到proj.android

     第三步:下载JDK

     链接:http://pan.baidu.com/s/1c1V35RE,选择里面的jdk-8u91-windows-x64直接安装即可,记住自己的安装路径

     之后在环境变量中的用户变量添加变量JAVA_HOME,值就是自己JDK的安装路径

     如图:

    cocos2d-x-3.2 打包Apk_第3张图片

   再在系统变量Path的变量值后添加

   ;%JAVA_HOME%\bin

   之后确定,保存修改的环境变量

   在命令行输入java -version,出现下图所示则表明配置JDK成功

   cocos2d-x-3.2 打包Apk_第4张图片

   第四步:下载SDK、NDK、ANT

   链接:http://pan.baidu.com/s/1c1V35RE,选择里面的sdk、apache-ant-1.9.7-bin和android-ndk-r10e直接下载即可,把它们解压到一个文件夹中,我把它解压到了F:\tools中,并将sdk重命名为了Android-SDK

   得到如图:

   cocos2d-x-3.2 打包Apk_第5张图片

   接下来进行配置:

   在环境变量中的用户变量新建这几个(这些是我的安装或解压路径,自己参照按照自己的解压安装路径稍微更改即可

   COCOS_CONSOLE_ROOT,值为D:\cocos2d\cocos2d-x-3.2\tools\cocos2d-console\bin

   NDK_ROOT,值为F:\tools\android-ndk-r10e

   ANDROID_SDK_ROOT,值为F:\tools\Android-SDK

   ANT_ROOT,值为F:\tools\apache-ant-1.9.7\bin

   填写好了之后,在系统变量中的Path的最后面加上这些:

 F:\tools\Android-SDK\platform-tools;F:\tools\Android-SDK\tools;F:\tools\android-ndk-r10e;F:\tools\apache-ant-1.9.7\bin

   这里第一项和第二项是配置SDK,第三项是配置NDK,第四项是配置ANT

   一定要按照自己的解压路径填好

   之后检验配置:

   在命令行输入ant -version,可以得到如下结果:

   cocos2d-x-3.2 打包Apk_第6张图片  

    输入adb,可以得到如下结果:     

     cocos2d-x-3.2 打包Apk_第7张图片

      打开cocos2d-x-3.2文件夹(就是把之前cocos2d那个压缩包解药的那个文件夹),打开setup.pycocos2d-x-3.2 打包Apk_第8张图片

     用手机抓拍一张,可以得到如下结果:

     cocos2d-x-3.2 打包Apk_第9张图片

    

   第五步:做一些修改

   打开之前新建的那个HelloWorld项目,双击cocos2d→cocos→ 3d→CCBundleReader.cpp进行编辑

   将其中的ssize_t BundleReader::tell()替换为long int BundleReader::tell(),下图为更改前和更改后

   

     cocos2d-x-3.2 打包Apk_第10张图片

     这个如果不改会报错:jni/../../cocos2d/cocos/./3d/CCBundleReader.cpp:94:23: error: return type of out-of-line definition of 'cocos2d::BundleReader::tell' differs from that in the declaration

  在网上查了许多,有的说是因为用的是ndk-10的原因,但我试着换了ndk-9依然会报错,也有的说是ndk自己的bug但我也试了很多版本都有这个错,所以还是不知道这个错原因是什么,总之,把那句代码一改就不会报错了。

   第六步:打包

   首先查看自己的Android-SDK→platforms中是android多少,我的是android-20和android-22,这个默认使用的编译时android-10,如果没有android-10则使用20就行(我的就没有10)

   cocos2d-x-3.2 打包Apk_第11张图片

     在命令行输入命令进入 HelloWorld项目:

     

    接着输入命令cocos compile -p android --app 20,就开始进行编译了,待编译完成如果看到如下图则编译成功

   

  在HelloWorld→bin→debug→android文件夹下能看到HelloWorld-debug.apk,说明打包apk成功了

  cocos2d-x-3.2 打包Apk_第12张图片

  在手机上安装下,就可以看到熟悉的画面了

  cocos2d-x-3.2 打包Apk_第13张图片

你可能感兴趣的:(cocos2d)