一、若是想让unity在打包的过程当中,执行一些逻辑,那么该如何作呢?代码以下:app
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"); } }
执行结果:ui
该脚本须要放在Editor目录下,以下:spa
在此,须要注意一下,若是须要放在Editor目录下执行的脚本,没有放在Editor目录下,会出现如下问题:code
二、在这里对以上的笔记作个实例:blog
在打apk的时候,用一个已存在的 keystore 对 PlayerSetting 里面板的一些参数进行设置,包括对包名的设置,均可以再以上的逻辑中执行:ip
假如 keystore 文件放在以下的目录下:get
具体代码以下:string
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"; } }
执行结果:it