分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

当新建完一个cocos2d-x的项目后。进入到项目中的proj.android中,会看到例如以下的文件夹结构

分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

在VS先把它编译,然后导入到Eclipse中,导入完后会看到多了几个文件

分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

之所以会多出上面三个文件是由于我们在导入到Eclipse时会解析.classpath文件和.project文件,自己主动帮我们创建上面的三个文件夹(推測是eclipse上的android插件干的。由于.project文件里绑定了非常多与Android相关的插件,并且gen中已经自己主动生成了R.java。这个文件是Android应用程序自己主动生成的)。接下来看下Eclipse中的文件夹结构:

分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

这里又多了四个带有感叹号图标的文件,还是和.project文件有关

<linkedResources>
		<link>
			<name>Classes</name>
			<type>2</type>
			<location>COCOS2DX/projects/TestAndroid/Classes</location>
		</link>
		<link>
			<name>cocos2dx</name>
			<type>2</type>
			<locationURI>COCOS2DX/cocos2dx</locationURI>
		</link>
		<link>
			<name>extensions</name>
			<type>2</type>
			<location>COCOS2DX/extensions</location>
		</link>
		<link>
			<name>scripting</name>
			<type>2</type>
			<locationURI>COCOS2DX/scripting</locationURI>
		</link>
	</linkedResources>
也就是说这四个文件都仅仅是其它文件的一个引用而已。而COCOS2DX是我们所须要配置的一个资源变量,也就是项目属性中的Resources中的Linked Resources。

这也就解释了为什么在编译Android项目时要配置该Resources属性(在我之前写的”将Cocos2d-x游戏打包成Android应用程序“中有提到怎样配置)。配置完后刷新下项目(配置完后.project也会把你的配置信息保存到该文件里),就能够看到这四个文件锁引用的文件了。

分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构


上面的四个文件的作用就是用来生成Android程序所须要的静态库的源文件(下一篇文章会提到)。

接下来,看下每隔目录在Android应用的作用。


src目录:

熟悉Java开发的都知道,这个文件夹是用来存放Java的源文件。而为什么是以src命名是由于.classpath文件里的默认配置

分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

能够看到这里有两个存放Java源文件的目录。所以在Eclipse中会有两个带有存放源文件的图标

分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构


gen目录:

这个目录下的源文件是Android自己主动生成和自己主动更新,是仅仅读文件,不能更改,也就意味着开发人员不须要去维护它。其作用是映射res目录中下的配置文件,方便开发。(通俗的讲。里面的R类中的静态方法保存了对配置文件信息的訪问。间接的解析了配置文件里的xml信息,并把它保存到自身中)。


assets目录:

用于存放资源


bin目录:

存放编译后的文件以及中间文件。也存放着把这些文件打包后的apk文件。


jni目录:

存放编译动态库须要的信息文件


res目录:

存放资源文件(分高、中、低三种图片资源)、与布局相关的配置信息和字符信息(可由R类获取)


有了以上些文件后就形成了一个完整的Android项目的结构。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5207797.html,如需转载请自行联系原作者

上一篇:把list中的对象转换为json数据的方式


下一篇:Android 软键盘的显示和隐藏,这样操作就对了