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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2luZ2FiY2Rl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

这里又多了四个带有感叹号图标的文件,还是和.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也会把你的配置信息保存到该文件里),就能够看到这四个文件锁引用的文件了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2luZ2FiY2Rl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

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

src目录:

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2luZ2FiY2Rl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

gen目录:

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

assets目录:

用于存放资源

bin目录:

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

jni目录:

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

res目录:

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

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

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

  1. cocos2d-x在Android上的编译过程(3):简化Android.mk文件的编写

    在编译动态库时.要求我们要去编写jni/Android.mk文件.告诉编译器编译出来的库时应包括包括编译文件和其它引用库.但对于一个大项目来说,维护这个文件肯定是一件比較繁琐的事情.由于每加一个文件或 ...

  2. [置顶] 浅谈Android的资源编译过程

    Android APK 一.APK的结构以及生成 APK是Android Package的缩写,即Android application package文件或Android安装包.每个要安装到Andr ...

  3. Android 8.0编译过程

    Android编译系统中的Android.bp.Blueprint与Soonghttp://note.qidong.name/2017/08/android-blueprint/ 工具链关系 Andr ...

  4. 浅谈Android的资源编译过程

    转载自 http://www.cnblogs.com/dyllove98/p/3144950.html 好长,记录下,一次看完感觉像没看一样 Android APK 一.APK的结构以及生成 APK是 ...

  5. Android SVN开发实战的文件夹结构呈现

    svn有一个非常标准的文件夹结构,这是. 例如,该项目是proj.svn地址svn://proj/,然后该标准svn布局是 svn://proj/ | +-trunk +-branches +-tag ...

  6. Android工程的编译过程

    现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要 ...

  7. webrtc在ubuntu14.04上的编译过程(12.04亦可)

    转自:http://blog.csdn.net/xiangjai/article/details/44409751 一.虚拟机环境搭建 1.安装ubuntu 14.04虚拟机: 因为可以屏蔽svn版本 ...

  8. Android面试收集录13 Android虚拟机及编译过程

    一.什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的 ...

  9. android源码编译过程

    1.下载好android源码包. 2.装好vm,ubuntu(如果能在实体机装linux更好). 3.安装所需要的deb包 在终端执行如下命令: sudo apt-get install flex b ...

随机推荐

  1. USB OTG学习

    1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Devic ...

  2. 驳Linux不娱乐 堪比Win平台中十款播放器

    播放器在我们日常生活中扮演着非常重要的角色,在Windows操作系统中,播放器被应用的非常广泛,不但我们可以听音乐,甚至还可以听广播,制作铃声,下载音乐等等.而在Linux发行版中,缺少娱乐性一直性W ...

  3. android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效

    android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效    在之前的版本中都是在Man ...

  4. SRM 581 D2 L3:TreeUnionDiv2,Floyd算法

    题目来源:http://community.topcoder.com//stat?c=problem_statement&pm=12587&rd=15501 这道题目开始以为是要在无向 ...

  5. linux学习之十、变量的取用与配置:echo, 变量配置守则, unset

    vim vim 的环境设定参数 :set nu :set nonu 就是设定与取消行号啊! :set hlsearch :set nohlsearch hlsearch 就是 high light s ...

  6. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...

  7. C#反射的应用【转】

    摘要: 对于反射贫道也是很陌生的,所以趁现在有时间就把反射看了一下,记下笔记!!! 初始听说反射是可以动态的调用程序集,并从中来获取相应的方法和属性,感觉比较神奇,,, 反射的定义:反射(Reflec ...

  8. [置顶] java 通过classloader加载类再通过classforname实例化

    自己写一个web服务器,发现class.forName用不了,找不到类,原因是找不到类路径, 可以过加载需要的类的文件路径,然后再通过ClassLoader来加载所需要的类.其中的原 理就不多说了,下 ...

  9. CDH(cdh5.7) 上集成 kafka

    CDH 可以在线下载: 离线安装

  10. JAVA日期字符串转化,日期加减

    SimpleDateFormat函数语法:  G 年代标志符  y 年  M 月  d 日  h 时 在上午或下午 (1~12)  H 时 在一天中 (0~23)  m 分  s 秒  S 毫秒  E ...