Cocos creator发布android项目
# Cocos creator发布android项目
本文讲述如何使用跨平台游戏引擎cocos creator发布android平台项目并生成apk, 以及游戏模块和原生模块如何相互配合来完成后续持续的功能迭代。cocos creator支持跨平台,使用该游戏引擎开发的游戏可以运行在android、ios、windows、mac、h5、各大小游戏平台等,本文仅讲述android部分。
# 1. 安装jdk
# 2. 安装android studio
# 2.1 下载android studio
您可以从官网 (opens new window)下载。
我是从国内网站android-studio.org (opens new window)上找到的下载链接android studio 3.5.2 (opens new window)。
# 2.2 安装android studio
解压zip文件,运行bin/studio64.exe即可启动android studio。
# 2.3 安装android sdk、ndk
android sdk和ndk可以单独手动下载安装,也可以借助android studio安装(该方式简单方便,我当然采取这种方式了)。
启动android studio后,进入Settings->System Settings->Android Sdk。
- 切换到SDK Platforms选项卡,安装android sdk。
- 切换到SDK Tools选项卡,安装ndk
注意,若安装高版本的ndk,那么会导致后续流程中编译失败(错误信息:NDK is missing a "platforms" directory. If you are using NDK, verify the ndk.dir is set to a valid NDK directory)。我改用ndk17.2.4988734后,可以成功编译。
注意,若修改ndk版本,需要同步修改对应的路径配置(我的ndk新路径是C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\17.2.4988734)
- 修改android studio的配置
进入Project Structure配置页面,修改SDK Location->Android NDK location配置为对应的ndk路径- 修改cocos creator的配置
修改原生开发环境->NDK路径
# 2.4 安装模拟器
若您有真机,也可以不用安装模拟器。
# 3. 配置cocos creator
# 3.1 配置原生开发环境
进入原生开发环境
页面,修改NDK路径
(我的是C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\17.2.4988734)和Android SDK路径
(我的是C:\Users\Administrator\AppData\Local\Android\Sdk)为对应的配置。
# 3.2 配置模块
进入项目设置->模块设置
, 全选所有模块。
此处特别建议全选所有模块,否则可能导致后续app运行阶段中无法正常运行(我就遇到过,现象是只显示黑屏,并且运行日志中有报错)。
# 3.3 构建发布
进入构建发布页面,发布平台选择Android
,依次点击构建
、编译
、运行
即可。
# 3.3.1 构建
实际上就是生成android原生工程, 生成以后就可以使用android studio打开,并加入原生逻辑了(要是需要加的话)。
通过验证发现,APP ABI的所有选项都无需勾选,保持默认即可。
# 3.3.2 编译
编译完成后,会在目录build/jsb-link/publish/android/下生成一个apk文件。
该任务也可以交给android studio。
注意: 若当前的游戏项目后续会加入原生逻辑的话,那么要慎重选择此处的编译按钮,执行此处的编译,可能会自动删除新增的原生逻辑代码,所以建议使用android studio来编译。
生成apk的方法有如下3种:
- 使用cocos creator的
构建发布
中的编译功能
会在目录build/jsb-link/publish/android/下生成一个apk文件 - 使用android studio
依次进入如下功能菜单:Build -> Generate Signed Bundle / Apk -> 选择Apk
然后配置签名信息即可生成apk文件。
签名信息可以新生成一个,也可以使用cocos creator为我们生成的现成的签名,见gradle.properties文件中已配置好的签名变量:
RELEASE_STORE_FILE=D:/CocosDashboard_1.0.11/resources/.editors/Creator/2.4.2/resources/static/build-templates/native/debug.keystore
RELEASE_STORE_PASSWORD=123456
RELEASE_KEY_ALIAS=debug_keystore
RELEASE_KEY_PASSWORD=123456
- 使用命令行
该方案遇到了阻碍,报如下错误:
local.properties:1: Error: Windows file separators (\) and drive letter separators (':') must be escaped (\\) in property files; use C\:\\Users\\Administ
rator\\AppData\\Local\\Android\\Sdk\r [PropertyEscape]
# 3.3.3 运行
运行的本质就是将apk安装到当前的android设备中,底层实际上就是在调用adb install安装apk文件。
该任务也可以交给android studio。并且在android studio中还可以进行debug调试。
# 4. 游戏模块和原生模块的协作机制
本节总结了游戏模块和原生模块如何相互配合来完成后续持续的功能迭代。 合理的协作流程如下:
- 由cocos creator开发游戏逻辑,并生成android工程
- 使用android studio打开生成的android工程,并增加原生逻辑
- 使用cocos creator继续修改游戏逻辑
- 使用cocos creator重新构建android工程(将游戏逻辑的改动同步到现有android工程)
- 使用android studio编译、debug调试、打包
为了保持统一的习惯,建议编译和运行
统一使用android studio,而不适用cocos creator。