加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx3.8 android打包脚本编写

发布时间:2020-12-14 16:36:48 所属栏目:百科 来源:网络整理
导读:cocos集成了打包命令 cocos compile -p ios 在这里并没有采用这个方案,而是编写自己的脚本, 理由如下 脚本掌握在自己手中可以第一时间解决和发现bug 游戏项目总会出现各种各样定制的需求,官方不可能给出全部的解决方案 查了一下资料xcode 支持命令行 xcod

cocos集成了打包命令 cocos compile -p ios

在这里并没有采用这个方案,而是编写自己的脚本, 理由如下

  1. 脚本掌握在自己手中可以第一时间解决和发现bug
  2. 游戏项目总会出现各种各样定制的需求,官方不可能给出全部的解决方案

查了一下资料xcode 支持命令行

xcodebuild: 编译xcode工程生成app文件

xcrun:   将app文件转换为ipa文件

如果不清楚, 直接命令行 xcodebuild -help即可查看所有命令

为了便于管理和扩展 我们在项目根目录下新建了两个文件夹

  1. build/ios:脚本目录,
  2. publish/ios:ipa输出目录

直接上脚本, 将XXXX换成自己的证书文件,工程路径即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
projectPath= "$1"
schemeName= "$2"
dir = "$( cd " $( dirname "${BASH_SOURCE[0]}" ) " && pwd )"
cd $ dir
cert= "XXXXXX"
profile= "XXXXXX"
sdk=iphoneos8.4
if [ ! -d "${projectPath}/bin" ]; then
mkdir -p "${projectPath}/bin"
fi
#xcodebuild -project "${projectPath}/lddoudizhu.xcodeproj" -scheme ${schemeName} -sdk ${sdk} -configuration Release clean
xcodebuild -project "${projectPath}/lddoudizhu.xcodeproj" -scheme ${schemeName} -sdk ${sdk} -configuration Release DEPLOYMENT_POSTPROCESSING=YES CONFIGURATION_BUILD_DIR= CODE_SIGN_IDENTITY= "${cert}" PROVISIONING_PROFILE= "${profile}" build
xcrun -sdk iphoneos PackageApplication - v "${projectPath}/bin/${schemeName}.app" -o "${projectPath}/bin/${schemeName}.ipa"

  我们再编写一个python脚本调用shell并传递schemeName

21
22
23
24
25
26
27
28
# coding=utf-8
# !/usr/bin/python
import os,shutil
datetime
class BuildIos:
def __init__( self ):
. dir = os.path.split(os.path.realpath(__file__))[ 0 ]
.projectPath = + "/../../frameworks/runtime-src/proj.ios_mac"
.outputPath "/../../publish/ios"
.appName = "XXXXX"
.schemeName "XXXXXXX"
build( ):
os.system( "sh build_ios.sh " + " " .schemeName)
if not os.path.isdir( .outputPath):
os.mkdir( .outputPath)
#获得当前时间
now datetime.datetime.now()
outputFile "/" "_" + now.strftime( "%Y%m%d%H%M" ) ".ipa"
shutil.copy( "/bin/" ".ipa" ,outputFile)
print ( "[Success] " outputFile)
run( ):
os.chdir( dir )
.build()
buildIos BuildIos()
buildIos.run()

以后我们可以继续完善python,比如在不同的平台下 预先进行文件夹的整理,在执行打包脚本之前先将lua编译成字节码并加密,尽情的发挥想象吧!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读