码迷,mamicode.com
首页 > 移动开发 > 详细

Cocos2d-x Android.mk文件自动修改器

时间:2015-02-05 16:25:41      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:cocos2d-x   android.mk   android.mk自动生成   


  做cocos2d-x的项目,一般是用电脑进行开发,然后移植到手机平台上。移植到安卓手机需要用eclipse等工具重新编译打包成apk文件。而用eclipse打包的话,要把项目的cpp文件一条条加入到Android.mk配置中,文件少无所谓,但如果文件很多,手工添加就比较麻烦了,特别是有些时候,要和原先的Andriod.mk配置做比较,本次新增了哪些文件,然后把新增的文件添加进去。

  总之,打包成apk,手工修改Android.mk配置很麻烦。所以,我做了一个自动修改器。如下图:

技术分享

  我的Cocos2d-x Android.mk文件自动修改器下载地址:

  http://download.csdn.net/detail/stevenkylelee/8426235


  用QT5.4做的,要独立运行需要附带QT的dll,所以程序有16MB之大。每次运行俺的这个程序会用浏览器打开俺的CSDN博客,嘿嘿,使用俺的劳动成果,就要给俺付出点代价。>_<

  要自动修改Android.mk文件,需要填写如下3个参数:

  源代码目录路径:指向cocos2d-x项目的源代码目录,通常填写项目的Classes文件的路径。程序会遍历这个目录中的所有*.cpp文件,找到所有的cpp文件,生成配置字符串。

  Android.mk文件路径:指向要修改的Android.mk文件。

  这2个参数对应项目的目录和文件如下图所示:

技术分享


  搜索替换的正则表达式:为了定位替换的内容,比如:LOCAL_SRC_FILES := hellocpp/main.cpp 。程序会把原来的Android.mk中的这里的字符串替换成程序生成的,从而实现自动修改。

  这里用的正则是QT实现的正则类。QT的正则和C++11、C#的正则有些不同。为什么要用正则表达式呢?正则有更好的扩展性,如果不好定位替换的内容,可以先在原来的mk文件中写一个标记,然后用正则匹配替换上。

  在实践中发现,LOCAL_SRC_FILES := 字段,不仅可以用来加入cpp文件的配置,还可以用来引入so,其他库的引用配置。而我们其实要的是替换源代码配置的那个字段。“LOCAL_SRC_FILES *:=[a-zA-Z0-9 _/.]+cpp.*(\r*\n\s*\n)”这个正则会匹配到源代码配置的LOCAL_SRC_FILES。程序默认使用这个正则,当然也可以修改为其他的正则。

  这3个参数,在程序被关闭会保存,下次打开程序恢复上次保存的参数设置。

  设置好参数后,点击“生成”按钮就会修改指定的mk文件了。

  程序修改生成的结果如下图:


技术分享












Cocos2d-x Android.mk文件自动修改器

标签:cocos2d-x   android.mk   android.mk自动生成   

原文地址:http://blog.csdn.net/stevenkylelee/article/details/43528683

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!