说明
使用cocos new创建的Android工程,并对其进行简单的结构分析
Android工程结构
基于gradle构建的Android工程是于模块来组织的,工程根目录本身是一个主模块,其它为子模块,每个模块都有一个build.gradle文件,主模块还有一个配置文件(settings.gradle),该配置文件定义整个工程包括那些模块
如下所示,
Demo 目录结构
如下图所示
我们知道AS的Android项目组织是由多个子工程/模块的方式,工程的模块主要看settings.gradle文件,如下所示,工程有两个模块组成AndGame跟libcocos2dx。
libcocos2dx模块的内容如下所示,我们会看到其目前上没有java代码(实际上是有的,只是相对路径的方式引入,从模块的build.gradle中可以得出来)
AndGame/app 模块
一个模块使用到的技术与组织我们主要看其build.gradle,app的build.gradle
有externalNativeBuild的配置,我们就知道他是一个jni工程,JNI工程关键主要看CMakeLists.txt
CMakeLists.txt其实就在示例工程根目标下,跟proj.xxx他们同级
libcocos2dx 模块
build.gradle中定义了模块的源代码,有aidl源代码的定义,即会用有到aild
AS中的视角
用AS打开工程后,在Android的模式下可以看到的工程代码结构如下
总结
1、示例工程由两个模块组成,一个是APP模块,一个是library模块
2、APP模块配置了有cmake、ndk,即是一个JNI模块,跨平层C++的代码由该模块来构建
3、libcocos2dx是一个Java library,使用了aidl,应该是Cocos的Java平台层的代码和JVM跟Native层交互的胶水层代码
后续
整个工程构建细节的梳理和相关源代码的学习