cocosCreator打包安卓后调用cpp跑通全流程

前言:

         cocosCreator打包安卓一堆坑,调用c++的cpp文件也一堆坑。没有n天的试错和前人经验,费老大劲了。

         本人需要求是cocoCreator打包安卓后调用C++的cpp文件

         费了老大劲跑通,深感查官方论坛没一个说这个流程的帖子,都是提问的,也没有人回答。

本着总结给自己的出发点,也回馈一下本人查资料过程中的无私分享者,特此总结分享如下:

cocos Creator 版本 2.4.13(官方在2.4.12中升级了安卓的Grade版本和android studio的版本到目前的主流版本,建议用2.4.12以下的cocosCreator版本的童鞋如果打包安卓,也升级一下,旧版本的安卓工具弊端和兼容太差了

android studio版本 2023.11版本

grade版本 8.2

ndk版本26.2

sdk版本 api34

jdk版本17

cpu构建 armeabi-v7a 和arm64-v8a(只选这两个常用的即可,其他的选择多了编译太慢)

前置工作:

cocos方面,在cocos的编辑器设置界面设置原生开发环境地址(在cocos处设置好可以直接在打包时写入安卓配置里,避免每次打包后重复修改)

android studio方面为了避免每次加载项目都远程下载十几分钟的依赖文件,要先配置好路径,重复使用;(每个安卓工程都需要设置一次,以后只有安卓工程目录不变,就不需要重新设置

如果需要使用androidX的获取录音摄像头等权限,或者其他使用androidX的方法,需要在两处添加两句话,目前安卓开发都是androidX版本的api了,建议都加上

截至目前为止,环境就配置好了

开始调用cpp

首先你得有cpp文件

然后你看cpp文件

这些是引入依赖

这些是方法

这些是对外导出,三个圈分别表示返回值,cpp应用地包全名,cpp对外提供方法名字(中间用下划线分割,按照这里类比,改成你自己的包名和方法名)

关键

以上是对你cpp文件的解析,目前安卓加载cpp文件有两种方法,分别是cmake和ndk-build方法,都是在grade里配置即可(这个你随便搜索安卓加载cpp的方法都能搜到)。

cmake是目前最新且主流方法,ndk-build是旧的方法,

尴尬的是目前两种方法在一个项目只能同时使用一个,

更尴尬的是cocos打包安卓用的就是ndk-build方法把cocos2dx的文件以cpp文件形式加载入安卓项目。所以你新加载cpp文件只能用ndk-build方法。

更更尴尬的来了,那就是cocos打包后的安卓文件分为好几层,我在配置处无论怎么写加载新的cpp的mk文件引用,都生成不了os文件(os是cpp被安卓生成的可以供java调用的文件,在build视图工程里的bild文件夹)

鉴于整个cocos安卓打包都是ndk-build的方式生成,所以就不要想的改动cocos源代码,来适配cmake方式了,官方都不想改(大动干戈)老老实实用ndk-build的方式调用吧。

既然无论我怎么配置,由于cocos自带的ndk-build配置干扰,都无法加载到我新加入的cpp文件。

那么我就直接把我的cpp迁移到cocos自带的cpp里,这样就不用额外写配置来生成os了。

这个main.cpp好像是官方特意给留下的口子,他的名字叫main.cpp,都不用额外加载main模块,因为系统自动已经内置了。

所以你直接把自己cpp里的内容按照分类,分别合理迁移到main.cpp里,然后直接在要调用方法的地方如下写:

然后正常调用即可。(这个main.cpp不会被新打包覆盖调)

最后都设置好后

让他重新加载即可

中途如果有grade变动要如下

截至目前为止,cpp调用成功!(研究一下cpp引用cpp文件(应该不难,懒得弄了)就更丝滑了);

有什么问题和后续分享,可以评论区找我!

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值