【cocos源码学习】cocos2d-x-4.0 Android Demo工程结构的简析

说明

使用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层交互的胶水层代码

后续

整个工程构建细节的梳理和相关源代码的学习

猜你喜欢

转载自blog.csdn.net/SCHOLAR_II/article/details/128276540