Memoselect 2019-12-13 15:00
浏览 927

Android Studio 3.5.2 / 3.5.3 cocos2d-x 3.17.2 android编译问题

先上环境
Java:Java1.8.60
SDK:API -> android-28 Tools -> 26.1.1
NDK:android-ndk-r16b
cocos官方说是以android-ndk-r16b测试的,所以我用了这个
ANT:1.10.7
Python:2.7.9
Android studio :3.5.3
cocos2d-x:cocos2d-x 3.17.2

好吧,就这些了,首先我用cocos new创建项目
用Android studio 3.5.3 打开项目,OK,测试成功!如图



图片说明



能编译成功中途也遇到了各种坑,先不说这个,再说一说后续开发的问题
比如:


图片说明



上图就是我自己重新创建了一个MainScene的场景,在HelloWorldScene.cpp中引用这个类,并实例化,如图:


图片说明


在HelloWorldScene::init()中创建一个sc的MainScene指针



图片说明



以上代码在VS2015 编译通过,或者创建一个按钮点击事件中创建MainScene场景,并replaceScene函数替换当前场景,VS编译没有问题,但android studio提示MsinScene::createScene()未定义!!!



图片说明



说到这里,肯定有人会说,你应该是Android.mk没有包含cpp文件吧?


图片说明



到底是哪里出了错误,为什么要这样对我啊

我在MainScene文件中定义其他的类或者继承类却能通过,如下:


图片说明图片说明图片说明


图片说明



为什么会这样? 定义其他类都没有问题,Scene就搞不了事情了,救命~~啊



我自己搞定了,编译发现gradle.properties 中的编译模式是Cmake,并不是NDK-Build模式,如下:

PROP_BUILD_TYPE=cmake

所以Android.mk文件包含ccp是没有用的,只能在项目根目录的CMakeLists.txt文件里包含cpp文件就可以了,如下图:


图片说明


纠结好久的问题终于解决了,希望能帮到别人

我用的工具是:

android studio 3.5.3

cocos2d-x 3.17.2

NDK r16b

SDK API 28

SDK build tools 26.1.1

apache ant 1.10.7

python 2.7.9

java jdk1.8.0_91

Visual studio 2015 社区版

这个问题忘记结贴了,Android studio3.5.3是使用cmake编译的,Android.mk已经不用了

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 代码的修改,添加和运行完善
    • ¥15 krpano-场景分组和自定义地图分组
    • ¥15 lammps Gpu加速出错
    • ¥15 关于PLUS模型中kapaa值的问题
    • ¥15 关于博途V17进行仿真时无法建立连接问题
    • ¥15 机器学习教材中的例题询问
    • ¥15 求.net core 几款免费的pdf编辑器
    • ¥15 为什么安装HCL 和virtualbox之后没有找到VirtualBoxHost-OnlyNetWork?
    • ¥15 C# P/Invoke的效率问题
    • ¥20 thinkphp适配人大金仓问题