本文部分内容转载于:https://blog.csdn.net/skillart/article/details/61202634
此文献给初学cocos的童鞋们,希望一起进步,主要探讨,cocos如何实现跨平台编译流程,打包流程会出后续.
首先,安装环境和工具:eclipse,ndk等就不说了.直接上图.
cocos的打包是通过ndk这个工具进行的,具体ndk如何运作太复杂,希望更深入的同学,可自行学习.
1.首先,打包和编译cocos的起点,入下图:
可以看到核心的python脚本:build_native.py,摘出里面的内容如下图:
首先是上面那句,意思是调用ndk,并传入一些必要参数,比如ndk的一些编译路径等.
NDK会找到对应的jni文件(NDK是实现jni的一种工具),上面这个命令,等价于:make -f $NDK/build/core/build-local.mk [参数],而后面这个mk文件在安装ndk的文件里面:
里面内容很多,只看一句话:
,它会不停去找,最终找到我们cocos项目工程里面的对应的jni里面的Android.mk.这个文件是用来告诉编译程序如何进行编译的文件,里面包含四大块内容:
1.是对动态bug上报库的处理,不用多说
2.是对cocos的两个重要入口的编译,一个是appdelegate,一个是main,具体内容可以自行查阅
3.是对一些静态库,全局静态库的处理
4.是引入额外的mk文件来进行编译操作.
此处,几乎是将所有需要打包和编译的c++文件全部处理,并转入到对应的安卓工程目录中:
其中大部分cocos的C++文件都通过ndk工具使用jni的方式进行了编译,生成了各种需要的o文件以及a文件,以便于在安卓环境中直接使用.
其中一个很重要的javaactivity-android.cpp这个C++文件,其中nativeInit