当前位置:网站首页>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
稀罕的话,点个关注哟
边栏推荐
- Salary 3000, monthly income 40000 by "video editing": people who can make money never rely on hard work!
- Unreal_DataTable 实现Id自增与设置RowName
- Persisting in output requires continuous learning
- [redis foundation] understand redis master-slave architecture, sentinel mode and cluster together (Demo detailed explanation)
- Go language self-study series | if else statement in golang
- 2022年Q2加密市场投融资报告:GameFi成为投资关键词
- [proteus simulation] 8 × 8LED dot matrix screen imitates elevator digital scrolling display
- Stm32f103c8t6 firmware library lighting
- Microservice sentinel flow control degradation
- Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (I)
猜你喜欢
![App mobile terminal test [4] APK operation](/img/f1/4bff6e66b77d0f867bf7237019e982.png)
App mobile terminal test [4] APK operation
![App mobile terminal test [5] file writing and reading](/img/f1/4bff6e66b77d0f867bf7237019e982.png)
App mobile terminal test [5] file writing and reading

App移动端测试【4】apk的操纵

Uploads labs range (with source code analysis) (under update)

Microservice API gateway zuul

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

Remote file contains actual operation

Redis在Windows以及Linux系统下的安装
![[web security] - [SQL injection] - error detection injection](/img/18/5c511871dab0e5c684b6b4c081c061.jpg)
[web security] - [SQL injection] - error detection injection

近视:摘镜or配镜?这些问题必须先了解清楚
随机推荐
Famous blackmail software stops operation and releases decryption keys. Most hospital IOT devices have security vulnerabilities | global network security hotspot on February 14
Redis high availability and persistence
Why can't strings be directly compared with equals; Why can't some integers be directly compared with the equal sign
[combinatorics] non descending path problem (outline of non descending path problem | basic model of non descending path problem | non descending path problem expansion model 1 non origin starting poi
Mixlab编辑团队招募队友啦~~
Approval process design
From "zero sum game" to "positive sum game", PAAS triggered the third wave of cloud computing
工资3000,靠“视频剪辑”月入40000:会赚钱的人,从不靠拼命!
How idea starts run dashboard
Go language self-study series | golang switch statement
Advanced Mathematics (Seventh Edition) Tongji University exercises 2-1 personal solutions
The accept attribute of the El upload upload component restricts the file type (detailed explanation of the case)
请做好3年内随时失业的准备?
六月 致 -.-- -..- -
记一次jar包冲突解决过程
Embedded development: seven reasons to avoid open source software
程序猿如何快速成长
Microservice API gateway zuul
LeetCode1491. Average value of wages after removing the minimum wage and the maximum wage
Expression of request header in different countries and languages