cocos2dx 3.17.1 ndk命令打包遇到的问题

文章内容包含两个问题:

1.想用ndk-build编译,但默认用cmake编译了,不明白改哪里可以用成cmake编译。

2.成功ndk-build编译后又出现了别的错误。

打包了一个空的工程,就执行了几步遇到了一些问题,问题没有挖到最底,只是成功解决了问题。

就执行了以下命令:

1.cocos new NewProject -p com.xxxx.newproject -l lua -d F:\cocos //创建工程

然后cd到工程的proj.android文件夹执行打包命令

2.cocos compile -p android -ap android-16

报了一个 Invalid revision: 3.18.1-g262b901-dirty 不明白为什么会报这个错误,往下滑看最开始执行命令的地方的打印

 发现用的编译方式是cmake,但是我想用ndk-build来编译。我修改了

F:\cocos\NewProject\frameworks\runtime-src\proj.android 这个路径下 gradle.properties 这个文件里面的 PROP_BUILD_TYPE 值 => PROP_BUILD_TYPE=ndk-build

重新执行打包命令依旧报 Invalid revision: 3.18.1-g262b901-dirty 这个错误,并且打印出来的编译方式还是cmake,我就追踪了一下这个cmake是哪里给它赋值的。

后来在F:\cocos2d-x-3.17.1\tools\cocos2d-console\plugins\plugin_compile\project_compile.py这个文件里面最终到build_type这个参数因为没有赋值所以取的默认值cmake。(插一句别的话:cocos2dx 3.17 project_compile.py这个文件里面build_type的默认值是ndk-build)。

 把上面的红框框里面的 'cmake' 改成 'ndk-build' 就能正常ndk-build编译了。

修改后这里可以看到打印出来编译方法已经是ndk-build

 然后打包就往下走了,接下来遇到了第二个问题:

 从打印里面挑了一些错误信息出来:

1.file or directory 'F:\cocos\NewProject\frameworks\runtime-src\proj.android\app\libs', not found

2.Unexpected native build target cocos2dlua. Valid values are: ext_vorbisidec, ccds, cpufeatures, ccb, ets, luaccandroid, spine, ext_pvmp3dec, luacc, flatbuffers, ccs, ui, recast, c3d, cclua, audio, cc_core, net, ccandroid

差不多就是上面这样的错误,然后我百度了一下(求救3.17.1打包安卓的问题 - Cocos2d-x - Cocos中文社区)在这里找到了修改办法

 把红色框这里的值改成 LOCAL_MODULE_FILENAME := libcocos2dlua(插一句别的话:如果没有LOCAL_MODULE_FILENAME这个字段,执行打包命令后会生成libcocos2dlua_shared.so这个库文件,但是如果有这个字段就会生成这个字段设置的值为名字的库文件libcclua.so也就是这个)。

改完后打包这个空项目就能正常运行了。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值