zoukankan      html  css  js  c++  java
  • [COCOS2DX]交叉编译实践+速度优化(vs2012修改win32代码+修改makefile+编译安卓项目包+部署安卓项目包到Eclipse+运行apk)

    通过前面的部署过程可以知道cocos2dx的开发过程如下:

    1.VS2012完成修改

    2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.android的编译:

    cd C:ComputerScienceworkspace-cocosHelloWorldproj.android

    python build_native.py

    3.将编译好的安卓项目导入到Eclipse进行编译和运行

    但是上面这些步骤都是在官网工具包下面运行的,交叉编译一次耗时非常严重(把helloworld单个项目的win32平台开发、交叉编译安卓项目包、Eclipse编译安卓项目包、运行apk这几个步骤),下面开始以官网工具包作为基础探索优化速度的方案。

    1.cocos new HelloWorld -p com.cocos2dx.org -l cpp -d C:ComputerScienceworkspace-cocos

    2.查看build_naitive.py中存在以下脚本:

    command = 'cocos compile -p android -s %s -m %s' % (app_android_root, build_mode) 

    其中app_android_root指向C:ComputerScienceworkspace-cocosHelloWorld

    相关参数解释详见http://www.cocos2d-x.org/wiki/Cocos_compile

    clipboard

    修改该命令为:command = 'cocos compile -p android -j 4 -s %s -m %s' % (app_android_root, build_mode),添加了-j4多核编译以加快编译速度 

    clipboard[1]

    尝试编译安卓项目包:

    cd C:ComputerScienceworkspace-cocosFirstDemoproj.android

    python build_native.py

    clipboard[2]

    整个编译过程只需要7秒,快了很多了。

    分析jni目录的android.mk文件:

    clipboard[3]

    可以发现该文件指定了需要进行编译的CPP文件。

    2.接下来在vs2012修改运行时候显示的项目名,然后用

    cd C:ComputerScienceworkspace-cocosHelloWorldproj.android

    python build_native.py

    编译安卓项目包在手机上运行。

    2.1vs2012修改名称为“My HelloWorld”:

    clipboard[4]

    同时为了加快编译速度取消增量链接:

    clipboard[5]

    运行结果:

    clipboard[6]

    编译安卓项目包运行结果如下:

    cd C:ComputerScienceworkspace-cocosHelloWorldproj.android

    python build_native.py

    clipboard[7]

    在Eclipse编译运行在安卓手机:

    clipboard[8]

    至此整个交叉编译的过程就都理顺了。

  • 相关阅读:
    读《阿里云是如何失控的》有感
    LeetCode Search in Rotated Sorted Array 在旋转了的数组中查找
    界面编程模仿篇(QQ登录界面逼真篇)
    最牛B的编码套路
    QinQ封装及终结详解
    seaJs学习笔记之javascript的依赖问题
    Deploy maven on Linux OS
    c++——inline内联函数
    c++——引用
    c++——const关键字
  • 原文地址:https://www.cnblogs.com/lzhitian/p/4432980.html
Copyright © 2011-2022 走看看