Unity | 在macOS使用shell运行unity并执行制定静态函数(运用于命令行打包和批量打包)

首先判断Unity是否运行中,如果运行中,则先杀掉Unity,然后启动Unity并执行某个Editor的静态函数

ps -ef|grep Unity|grep -v grep|cut -c 9-15|xargs kill -9

也可能是

ps -ef|grep Unity|grep -v grep|cut -c 8-12|xargs kill -9

说明:

“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -15”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -15”命令的参数,并执行该令。

另外,我们也可以使用python的osutil库来获取进程信息,并通关os.kill来杀掉进程,例:

import os

import psutil

import signal

for proc in psutil.process_iter():

pinfo = proc.as_dict(attrs=['pid', 'name'])

if 'Unity' in pinfo['name']:

print(pinfo)

os.kill(pinfo["pid"], signal.SIGINT)

 

shell

 

ANDROID_PROJECT_PATH="/Users/XXX/jenkins/workspace/bfyd-unity-android/proj"
ANDROID_BUILD_LOG_PATH="/Users/XXX/jenkins/workspace/bfyd-unity-android/proj"
ANDROID_DESTINATION_PATH="/Users/XXX/jenkins/workspace/bfyd-unity-android/build/AbBuild"



echo "$ANDROID_PROJECT_PATH ANDROID_PROJECT_PATH"
    echo "$ANDROID_BUILD_LOG_PATH ANDROID_BUILD_LOG_PATH"
    $UNITY_PATH -quit -batchmode -projectPath $ANDROID_PROJECT_PATH -executeMethod AssetBundleUtility.BuildAB   -destinationPath $ANDROID_DESTINATION_PATH

在Unity中的Editor目录中新建一个MyEditorScript.cs脚本,如下

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEditor;

public class BuildTools

{

[MenuItem("Pack/BuildApp")]

public static void BuildApp()

{

var levels = new string[] { "Assets/Scenes/SampleScene.unity" };

BuildPipeline.BuildPlayer(levels, "Build/test.apk" + appName, BuildTarget.Android, BuildOptions.None);

Debug.Log("end build");

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity 提供了自动化构建的命令工具,可以用来打包和编译 Il2Cpp。以下是在 Windows 系统上的操作步骤: 1. 打开 Unity 编辑器,打开需要构建的 Android 项目。 2. 进入 File -> Build Settings 菜单,选择 Android 平台,并点击 Switch Platform 按钮。 3. 设置好需要构建的场景,并在右侧的 Player Settings 中设置好相应的 Android 构建选项。 4. 点击 Build 按钮,选择需要导出的文件夹,并导出项目。 5. 在导出的文件夹中,会生成一个名为 build.xml 的文件。这个文件包含了项目构建的所有信息。 6. 打开命令窗口,进入到 Android SDK 的 build-tools 目录下。 7. 执行以下命令,开始构建 APK 文件: ``` ./android create project --target <target> --name <name> --path <path> --activity <activity> --package <package> ``` 其中,`<target>` 是 Android 平台的版本号,例如 `android-28`;`<name>` 是项目的名称;`<path>` 是项目的路径;`<activity>` 是项目的启动 Activity;`<package>` 是项目的包名。 8. 执行以下命令,开始编译 Il2Cpp: ``` ./il2cpp.exe --compile-cpp --platform=Android --architecture=<arch> --configuration=Release --outputdir=<outputdir> --cachedirectory=<cachedirectory> --additional-include-directories=<additional-include-directories> --additional-libraries=<additional-libraries> --output-name=<output-name> ``` 其中,`<arch>` 是目标架构的名称,例如 `arm64-v8a`;`<outputdir>` 是输出目录;`<cachedirectory>` 是缓存目录;`<additional-include-directories>` 是需要包含的头文件目录;`<additional-libraries>` 是需要包含的库文件目录;`<output-name>` 是输出的库文件名称。 9. 等待编译完成后,就可以在输出目录中找到生成的库文件了。 以上是在 Windows 系统上的操作步骤,如果你使用的是其他操作系统,则需要相应的调整命令

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mrwql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值