Cocos2D-X-3.17打包APK(cpp)

前提条件:
1、有一个Cocos2D-X-3.17的项目,并可以在vs上编译
2、下载并安装和配置了SDK-Tools、NDK、JDK的环境
(注:NDK:android-ndk-r13b及以上;JDK:1.8.0)

1、安装Android Studio

2、将你新增的.cpp文件加入”Android.mk“文件中,看下面这个博客:
https://blog.csdn.net/qq_32479953/article/details/80290308

3、打开SDK-Tools,下载你需要的版本
(在Android Studio里有Gradle和gradle插件其实是两个东西,
我一开始以为他们也是同一样东西,后来上网查了一下,我在这里就不做阐述,
网上有更好的答案: https://www.jianshu.com/p/75aac767eaff)

4、用Android Studio打开你的Cocos2D-X项目中的"proj.android"文件夹

5、构建项目,点击图中所示:
在这里插入图片描述
也可以点击:
在这里插入图片描述
(注:gradle插件的版本最好和你的Android Studio版本一致,Gradle它提示用哪个就用哪个)
6、成功了就开始打包APK:
到 Cocos2D-X工程的根目录下打开命令提示符,
输入:

cocos compile -p android --ap '你想打包的android版本文件夹'

(注:android版本文件夹:这个文件夹在SDK-Tools根目录下的"platforms"文件夹里)
在这里插入图片描述
之后等待完成!

注意:
如果你用Android Studio再次构建,最好把之前生成的文件删除,
生成文件是Cocos2D-X工程里proj.android文件下:
在这里插入图片描述

报错:
1、Android SDK licences方面报错:
如果你在你的报错log里找到了"licences"字眼,就大概是SDK-Tools有问题
解决:首先进入到你的SDK-Tools目录下的".\tools\bin"文件夹,在这里打开命令提示符,输入:

sdkmanager --licenses

如果异常,提示说要更新,你就:

sdkmanager --update

如果报错,说tools文件夹不能更改,你就把tools文件夹复制一份,重命名为“tool”,然后再次:

sdkmanager --update

然后把tool文件夹里的文件全选,复制到tools文件夹,有冲突的就合并,然后再次:

sdkmanager --licenses

这里面全部“Y”就行了

2、External Native Build Issues: SIMPLE: Error configuring:
这时你往错误log上翻,如果发现了"ninja"字眼,这是因为你的电脑缺少"ninja"这个软件,
到网上下载: https://github.com/ninja-build/ninja/releases
解压后配置到环境变量中去

异常:
1、WARNING: API ‘variant.getMergeAssets()’ is obsolete and has been replaced with ‘variant.getMergeAssetsProvider()’:
这时你打开Cocos2D-X工程里".\proj.android\app"文件夹下的"build.gradle"文件
修改"variant.mergeAssets.doLast"为"variant.mergeAssetsProvider.get().doLast"就行了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章