Unity中编辑器扩展打包apk等

记个笔记

因项目需要需要写个自定义打包工具,首先unity中提供了打包的方法我们只需要调用就可以,下面是核心的打包方法,

第一个参数是需要打包的场景,

第二个是打包路径,

第三个是打包类型比如安卓包等,

最后一个是打包选项,详细内容看官方文档介绍,官方api链接:https://docs.unity3d.com/cn/2018.2/ScriptReference/BuildOptions.html

这里就简单说下,举个例子就是unity自带的打包中有build和buildandrun,两个选项,这点就是通过这最后一个参数的设置来进行区分

BuildPipeline.BuildPlayer(GetBuildScenes(), GetBuildPath(), GetBuildTarget(), BuildOptions.None); 

通过上面的方法就可以自己写相应的扩展了,比如打包的时候自动更新版本号,对接导出相应的数据,与git对接等等

下面给一个我写的比较简单的打APK包的编辑器扩展脚本,需要放到Editor文件夹下,可以根据需求进一步的扩展,说明下面会报错的两个类名,
一个TextTool,这个是我自己写的一个读配置文件以及解析等的工具类,可以改成自己的方法读取与解析,

还有一个FolderBrowserHelper这个我通过windows提供的选择文件夹以及选择文件的方法类。根据不同的平台来写不同的选择路径的方法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEditor;

enum PackageType
{
   
    Android,
}

public class ProjectBuild : EditorWindow
{
   
    //打包类型
    private PackageType ProjectBuildType = PackageType.Android;
    //版本号
    private string VersionId = System.DateTime.Now.ToString("yyyy-MM-dd");
    private string PackageName = "包名";
    //打包路径,默认是获取电脑桌面
    private string PackagePath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory);
    //通过配置文件来控制需要打包的场景
    private string ScenesPathCsv = string.Empty;
    private bool IsUpdateVersion = true;

    private void Awake()
    {
   
        VersionId = System.DateTime.Now.ToString("yyyy-MM-dd");
        PackageName = PackageName + "_" + VersionId;
        Debug.Log(PackageName);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TenderRain。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值