COCOS如何跨安卓平台编译及发布原理

本文介绍了Cocos如何使用NDK进行跨平台编译,详细讲解了从核心脚本build_native.py开始,如何通过NDK找到jni文件,利用Android.mk编译C++代码,最终在Android环境中运行的过程。涉及到的关键步骤包括C++文件的编译、生成的o和a文件、Javaactivity-android.cpp中的nativeInit方法以及在Cocos2dxActivity中的库文件加载。
摘要由CSDN通过智能技术生成

本文部分内容转载于: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值