Cocos移植Android-Android.mk编译后的文件
其实cocos工具读取<游戏project文件夹>\proj.android\jni\夹Android.mk文件,。
Android.mk是一个编译文件,它是GNU Makefile的一小部分。是用来向Android NDK描写叙述C和C++源码文件的,怎样进行编译,以及打包等操作。默认的Android.mk文件内容例如以下:
LOCAL_PATH := $(call my-dir) ① include $(CLEAR_VARS) ② LOCAL_MODULE := cocos2dcpp_shared ③ LOCAL_MODULE_FILENAME := libcocos2dcpp ④ LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp ⑤ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes ⑥ LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static ⑦
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static include $(BUILD_SHARED_LIBRARY) ⑧ $(call import-module,2d) ⑨
$(call import-module,audio/android)
$(call import-module,Box2D)
以下我们解释一下这些项目的含义,第①行LOCAL_PATH是定义当前文件夹变量。该变量必须定义,当中my-dir宏,call my-dir是返回当前文件夹。第②行代码include $( CLEAR_VARS)是清除LOCAL开通的变量,但不包括LOCAL_PATH。这是由于全部的变量都是全局的。
第③行代码定义LOCAL_MODULE变量。该变量是必须定义的,用来识别Android.mk文件里描写叙述的每一个模块。名称必须是唯一的,并且不包括不论什么空格。第④行代码定义LOCAL_MODULE_FILENAME变量,它是能够选的,通过该变量能够又一次定义生成文件的名字。本例中生成的文件名称libcocos2dcpp.so文件。
第⑤行代码定义LOCAL_SRC_FILES变量。它描写叙述了模块中将要编译的源文件列表。
第⑥行代码定义LOCAL_C_INCLUDES变量。指定头文件搜索路径逻辑列表。第⑦行代码定义LOCAL_WHOLE_STATIC_LIBRARIES变量,它用来指定要连接的库模块。
第⑧行代码是include $(BUILD_SHARED_LIBRARY)表示编译生成动态链接库(或共享库)。文件命名为lib<库模块名>.so。
另外,我们能够使用BUILD_STATIC_LIBRARY告知编译系统生成静态链接库,文件命令为lib<库模块名>.a。
第⑨行代码$(call import-module,2d)是通过文件夹名包括还有一个模块的Android.mk。当中2d是模块文件夹名。
提示 库是一些没有main函数的程序代码的集合。库分为:静态链接库和动态链接库,它们的差别是:静态链接库能够编译到你的执行代码中,应用程序能够在没有静态链接库的环境下执行;动态链接库不能编译到你的执行代码中。应用程序必须在有链接库文件的环境下执行。在微软的Windows和Windows Phone平台动态链接库文件是.dll文件,静态链接库是.lib文件;在Linux和Android平台动态链接库文件是.so文件。静态链接库是.a文件;Mac OS X和iOS等平台动态链接库文件是.dylib文件。静态链接库是.a文件。
本书交流讨论站点:http://www.cocoagame.net
《Cocos2d-x实战 C++卷》现已上线,各大商店均已开售:
京东:http://item.jd.com/11584534.html
当当:http://product.dangdang.com/23606265.html
互动出版网:http://product.china-pub.com/3770734
《Cocos2d-x实战 C++卷》源代码及样章下载地址:
源代码下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1
Cocos移植Android-Android.mk编译后的文件的更多相关文章
- Cocos移植到Android-Android.mk编译文件
我们在上一篇博客中年使用的cocos工具对于C和C++源代码进行编译.事实上cocos工具读取<游戏工程目录>\proj.android\jni\目录中的Android.mk文件,进行交叉 ...
- Cocos移植到Android的一些问题-SQLite3数据库移植问题
首选我们讨论一下SQLite3数据库移植问题.我们在第14章节介绍了在Win32平台使用SQLite3数据库,我们介绍了两种配置环境的方法:一种是使用Cocos2d-x提供的SQLite3库配置,另一 ...
- Cocos移植到Android的一些问题-中文乱码问题
Android平台版本和设备碎片化很严重,因此从Win32平台移植到Android平台会有很多问题,下面是我们归纳的从Win32平台移植到Android平台遇到的一些问题.在Android平台中文乱码 ...
- 实现android apk反编译后代码混淆
通常情况下我们需要对我们开发的android代码进行混淆,以免代码在反编译时暴露敏感信息及相关技术代码: 反编译测试工具:onekey-decompile-apk-1.0.1. 在高级版本的adt创建 ...
- 如何修改被编译后DLL文件
原文 http://www.cnblogs.com/wujy/p/3275855.html 我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL ...
- .NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...
- 利用 ildasm 修改被编译后DLL文件
在开发中遇到这样一个场景,需要修改一个dll文件(.NET程序集)中某些地方的类型名称,但没有源代码,只能修改IL代码. 操作步骤如下: 1. 运行ildasm ildasm是由微软提供的.NET程序 ...
- cocos2dx android运行Luac编译后的lua代码
环境: win7 64 cocos2d-2.1rc0-x-2.1.2 lua 5.1 通常我们编写好的lua代码都是明文形式,谁都可以查看修改,为了防止自己的劳动成果不被别人轻易的盗取,可以使用lua ...
- [Android Pro] Android源码编译后,再重编译所需要做的清理工作
1.在源码目录的根目录下,make clean; 2.进到源码的\linux\kernel\目录下,执行make mrproper: 3.再退回到根目录,执行source build/envsetu ...
随机推荐
- Silverlight 5(C#)初探
接了个单子,非要用Silverlight 5来作一个项目,之前从来没接触过这东西,为了工作.硬着头皮也要上了.摸索了一晚上,大至整理出一些项目中须要的东西,下面作为初探记录: Silverlight ...
- rsyslog+LogAnalyzer 日志收集
Linux 之rsyslog+LogAnalyzer 日志收集系统 一.LogAnalyzer介绍 LogAnalyzer工具提供了一个易于使用,功能强大的前端,用于搜索,查看和分析网络活动数据,包括 ...
- delphi 精要-读书笔记(内存分配释放)
delphi 精要-读书笔记(内存分配释放) 1.内存分为三个区域:全局变量区,栈区,堆区 全局变量区:专门存放全局变量 栈区:分配在栈上的变量可被栈管理器自动释放 堆区:堆上的变量内存必须人 ...
- SilkTest Q&A 6
Q51.GMO在线的问题? 该问题是一个特例,不具有代表性,故不翻译了. Q52.如何为一个testplan的属性定义值? A52:你必须在使用前为一个testplan定义值: 1.确保你的test ...
- STM32学习笔记2-系统时钟知识及程序配置
一:基本知识 1. STM32F103ZE有5个时钟源:HSI.HSE.LSI.LSE.PLL. ①.HSI是快速内部时钟,RC振荡器,频率为8MHz,精度不高. ②.HSE是快速外部时钟, ...
- uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)
最小生成树算法简单 只是增加了一些新的东西,对于需要最小生成树算法 和中 并检查使用的一系列 还有一些更深入的了解. 方法的一些复杂问题 #include<cstdio> #include ...
- java基础---->摘要算法的介绍 (转)
数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名.数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密.数据摘要算法也被称为哈希(Hash)算法. ...
- Cocos2d-x内存管理解说在ios开发中
使用过 Cocos2d-x 都知道,其中有一套自己实现的内存管理机制,不同于一般 C++ 的编写常规,而在使用前,了解其原理是有必要的,网上已经有很多对内部实现详细解说的文章.而对于使用者而言,并不需 ...
- 在VM已安装Android4.4 连接小米手环 网络设置
1.打开一个终端 2.输入su,选择同意 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl5dW4xMjNneA==/font/5a6L5L2T/fon ...
- php设计模式——UML类图
前言 用php开发两年多了,准备也写一下平时常用的设计模式,都是基于自己的实践经验,当然,用设计模式之前首先要看懂设计模式,因此这里首先讲解一下UML类图.通过UML类图,能更好的和大家交流,也能很容 ...