• Unity 如何在打包的时候执行一些逻辑


    1、如果想让unity在打包的过程中,执行一些逻辑,那么该如何做呢?代码如下:

    using UnityEditor;
    using UnityEditor.Build;
    using UnityEngine;
    
    public class NewBehaviourScript : IPreprocessBuild
    {
        public int callbackOrder { get { return 0; } }
        public void OnPreprocessBuild(BuildTarget target, string path)
        {
            Debug.Log("OnPreprocessBuild");
        }
    }

    执行结果:

    该脚本需要放在Editor目录下,如下:

    在此,需要注意一下,如果需要放在Editor目录下执行的脚本,没有放在Editor目录下,会出现以下问题:

    2、在这里对以上的笔记做个实例:

    在打apk的时候,用一个已存在的 keystore 对 PlayerSetting 里面板的一些参数进行设置,包括对包名的设置,都可以再以上的逻辑中执行:

    假如 keystore 文件放在如下的目录下:

    具体代码如下:

    using UnityEditor;
    using UnityEditor.Build;
    using UnityEngine;
    
    public class NewBehaviourScript : IPreprocessBuild
    {
        public int callbackOrder { get { return 0; } }
        public void OnPreprocessBuild(BuildTarget target, string path)
        {
            string keystorePath = Application.dataPath + "/Plugins/Android/lgs.keystore";
            PlayerSettings.Android.keystoreName = keystorePath;
            PlayerSettings.Android.keystorePass = "123456";
            PlayerSettings.Android.keyaliasName = "luguoshuai";
            PlayerSettings.Android.keyaliasPass = "123456";
            PlayerSettings.applicationIdentifier = "com.niuchicao.luguoshuai";
        }
    }

    执行结果:

  • 相关阅读:
    Shiro认证过程?
    使用过Redis做异步队列么,你是怎么用的?
    使用 Spring Boot有什么好处
    Spring Boot、Spring MVC 和 Spring 有什么区别?
    es
    python并发编程
    Go基础05
    Go04基础
    Go03基础
    Go基础02
  • 原文地址:https://www.cnblogs.com/luguoshuai/p/8819902.html
Copyright © 2020-2023  润新知