当前位置:网站首页>Cocos Creator 2.x 自动打包(构建 + 编译)
Cocos Creator 2.x 自动打包(构建 + 编译)
2022-07-03 16:09:00 【木限东】
打包(android 打包 apk,iOS 打包 ipa),使用 Cocos Creator 构建编译,如果通过构建面板的话,每次都要启动 Cocos Creator 编辑器,打开构建面板,然后按构建按钮等等操作,太麻烦了。
Cocos Creator 其实提供命令行构建和编译的方式。https://docs.cocos.com/creator/2.4/manual/zh/publish/publish-in-command-line.html
这样子就好办多了,我们使用 python 工具来配置命令行打包即可,操作很简单。
Windows 操作平台
1、切换到当前 python 脚本的路径(这样子你的脚本就可以放到电脑上的任意位置啦)
scriptRoot = os.path.split(os.path.realpath(__file__))[0]
os.chdir(scriptRoot)
2、把命令行中的构建参数模拟出来,使用 os.system 来执行
build_args = 'platform=' + platform + ";buildPath=" + build_path
os.system('CocosCreator.exe --path %s --build "%s"' %(project_path, build_args))
3、编译项目,使用 os.system 来执行
compile_args = 'platform=' + platform
os.system('CocosCreator.exe --path %s --compile "%s"' %(project_path, compile_args))
完整的代码
import os
from string import Template
import platform
import json
global config
build_args_array = []
def load_json(file_name):
with open(file_name, "r") as f:
data = json.load(f)
return data
if __name__ == '__main__':
global config
scriptRoot = os.path.split(os.path.realpath(__file__))[0]
os.chdir(scriptRoot)
config = load_json("config.json")
creator_exe_path = config["creator_exe_path"]
os.chdir(creator_exe_path)
project_path = config["project_path"]
platform = config["platform"]
build_path = config["buildPath"]
print("----------------------开始构建-------------")
build_args = 'platform=' + platform + ";buildPath=" + build_path
os.system('CocosCreator.exe --path %s --build "%s"' %(project_path, build_args))
print("----------------------构建完成-------------")
print("----------------------开始编译-------------")
compile_args = 'platform=' + platform
os.system('CocosCreator.exe --path %s --compile "%s"' %(project_path, compile_args))
print("----------------------编译完成-------------")
file_generate_path = project_path + "/" + build_path + '/jsb-link/publish'
print("编译构建后的" + platform + "路径:" + file_generate_path)
macOS 平台
1、切换到当前 python 脚本的路径(这样子你的脚本就可以放到电脑上的任意位置啦)
scriptRoot = os.path.split(os.path.realpath(__file__))[0]
os.chdir(scriptRoot)
2、把命令行中的构建参数模拟出来,使用 os.system 来执行
build_args = 'platform=' + platform + ";buildPath=" + build_path
os.system('./CocosCreator --path %s --build "%s"' %(project_path, build_args))
3、编译项目,使用 os.system 来执行
compile_args = 'platform=' + platform
os.system('./CocosCreator --path %s --compile "%s"' %(project_path, compile_args))
完整的代码
#!/usr/bin/python
#coding=utf-8
import os
from string import Template
import platform
import json
build_args_array = []
def load_json(file_name):
with open(file_name, "r") as f:
data = json.load(f)
return data
if __name__ == '__main__':
scriptRoot = os.path.split(os.path.realpath(__file__))[0]
os.chdir(scriptRoot)
config = load_json("config.json")
creator_app_path = config["creator_app_path"]
os.chdir(creator_app_path)
os.system("pwd")
project_path = config["project_path"]
platform = config["platform"]
build_path = config["buildPath"]
encryptJs = config["encryptJs"]
apiLevel = config["apiLevel"]
configPath = scriptRoot + "/build_config.json"
print("----------------------开始构建-------------")
build_args = "platform=" + platform + ";configPath=" + configPath + ";encryptJs=" + encryptJs
os.system('./CocosCreator --path %s --build "%s"' %(project_path, build_args))
print("----------------------构建完成-------------")
print("----------------------开始编译-------------")
compile_args = "platform=" + platform + ";buildPath=" + build_path + ";apiLevel=" + apiLevel + ";configPath=" + configPath
os.system('./CocosCreator --path %s --compile "%s"' %(project_path, compile_args))
file_generate_path = project_path + "/" + build_path + '/jsb-link/publish'
print(file_generate_path)
print("----------------------编译完成-------------")
是不是自动打包很简单呢?赶快试一试吧
PS:可以通过以下链接,下载源代码
macOS打包:https://gitee.com/yeshao2069/cocos-creator-plugin/tree/other/cocos-pack/cocos-pack-mac-2x
Windows打包:https://gitee.com/yeshao2069/cocos-creator-plugin/tree/other/cocos-pack/cocos-pack-win-2x
稀罕的话,点个关注哟
边栏推荐
- MB10M-ASEMI整流桥MB10M
- Salary 3000, monthly income 40000 by "video editing": people who can make money never rely on hard work!
- 拼夕夕二面:说说布隆过滤器与布谷鸟过滤器?应用场景?我懵了。。
- 突破100万,剑指200万!
- NSQ源码安装运行过程
- 无心剑中译泰戈尔《漂鸟集(1~10)》
- 分布式事务(Seata) 四大模式详解
- Pychart error updating package list: connect timed out
- 六月 致 -.-- -..- -
- 初试scikit-learn库
猜你喜欢

Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (4)

深度学习之三维重建

Microservices - load balancing ribbon

Microservice - declarative interface call openfeign

关于网页中的文本选择以及统计选中文本长度

Détails du contrôle de la congestion TCP | 3. Espace de conception

Salary 3000, monthly income 40000 by "video editing": people who can make money never rely on hard work!

Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (I)
![[proteus simulation] 74hc595+74ls154 drive display 16x16 dot matrix](/img/d6/3c21c25f1c750f17aeb871124e80f4.png)
[proteus simulation] 74hc595+74ls154 drive display 16x16 dot matrix

Break through 1million, sword finger 2million!
随机推荐
[系统安全] 四十三.Powershell恶意代码检测系列 (5)抽象语法树自动提取万字详解
疫情常态化大背景下,关于远程办公的思考|社区征文
Batch files: list all files in a directory with relative paths - batch files: list all files in a directory with relative paths
Advanced Mathematics (Seventh Edition) Tongji University exercises 2-1 personal solutions
Reading notes of "micro service design" (Part 2)
探索Cassandra的去中心化分布式架构
工资3000,靠“视频剪辑”月入40000:会赚钱的人,从不靠拼命!
Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (I)
Colab works with Google cloud disk
First knowledge of database
MB10M-ASEMI整流桥MB10M
App移动端测试【4】apk的操纵
突破100万,剑指200万!
Is it safe to open an account with tongdaxin?
【声明】关于检索SogK1997而找到诸多网页爬虫结果这件事
Pychart error updating package list: connect timed out
Embedded development: seven reasons to avoid open source software
"Remake Apple product UI with Android" (3) - elegant statistical chart
NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线
远程文件包含实操