当前位置:网站首页>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
稀罕的话,点个关注哟
边栏推荐
- Semi supervised learning
- Low level version of drawing interface (explain each step in detail)
- SDNU_ ACM_ ICPC_ 2022_ Winter_ Practice_ 4th [individual]
- First!! Is lancet hungry? Official documents
- A Fei's expectation
- [combinatorics] combinatorial identity (sum of variable upper terms 1 combinatorial identity | summary of three combinatorial identity proof methods | proof of sum of variable upper terms 1 combinator
- Create gradle project
- 【OpenCV 例程200篇】217. 鼠标交互获取多边形区域(ROI)
- Microservice sentinel flow control degradation
- Microservices - load balancing ribbon
猜你喜欢
Jmeter线程组功能介绍
Break through 1million, sword finger 2million!
[web security] - [SQL injection] - error detection injection
Microservice - Nacos registration center and configuration center
Asemi rectifier bridge umb10f parameters, umb10f specifications, umb10f package
SDNU_ ACM_ ICPC_ 2022_ Winter_ Practice_ 4th [individual]
[proteus simulation] 74hc595+74ls154 drive display 16x16 dot matrix
Microservice sentinel flow control degradation
ASEMI整流桥UMB10F参数,UMB10F规格,UMB10F封装
Distributed task scheduling XXL job
随机推荐
Getting started with Message Oriented Middleware
"Remake Apple product UI with Android" (3) - elegant statistical chart
阿飞的期望
[combinatorics] summary of combinatorial identities (eleven combinatorial identities | proof methods of combinatorial identities | summation methods)*
How idea starts run dashboard
Record a jar package conflict resolution process
Shell script import and export data
“用Android复刻Apple产品UI”(3)—优雅的数据统计图表
Reflection on some things
Remote file contains actual operation
LeetCode1491. Average value of wages after removing the minimum wage and the maximum wage
Chinese translation of Tagore's floating birds (1~10)
[系统安全] 四十三.Powershell恶意代码检测系列 (5)抽象语法树自动提取万字详解
Principles of several common IO models
远程办公之大家一同实现合作编辑资料和开发文档 | 社区征文
MB10M-ASEMI整流桥MB10M
Asemi rectifier bridge umb10f parameters, umb10f specifications, umb10f package
SVN使用规范
Embedded development: seven reasons to avoid open source software
【Proteus仿真】74HC595+74LS154驱动显示16X16点阵