Пример #1
0
        public static void BuildStandaloneProject(Version v)
        {
            //隐藏Resources目录
            BuildTool.ShowResourcesFolder(false);

            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();

            string[] levels = new string[] { BuildTool.startScene };
            try
            {
                string apkPath  = string.Format("{0}/{1}", ResSetting.AssetBundlesOutputPath, ResSetting.GetChannelRes());
                string location = string.Format("{0}/{1}.exe", apkPath, v);
                UnityEditor.PlayerSettings.bundleVersion         = FileUtilTool.ReadFile("IOS_Build/appleversion.dat");
                UnityEditor.PlayerSettings.applicationIdentifier = "com.yxm.tankwar";
                FileUtilTool.CreateFolderForFile(location);
                var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.StandaloneWindows64, BuildOptions.None);
            }
            catch (System.Exception e)
            {
                Debug.LogError("build StandaloneWindows64 error: " + e.ToString());
            }
            finally
            {
                //恢复
                BuildTool.ShowResourcesFolder(true);
            }
        }
Пример #2
0
        public static void BuildApk(Version v, string location)
        {
            //隐藏Resources目录
            BuildTool.ShowResourcesFolder(false);

            string content = FileUtilTool.ReadFile(keystoreFilePath);

            if (!string.IsNullOrEmpty(content))
            {
                string[] lines = content.Replace("\r\n", "\n").Split('\n');


                PlayerSettings.Android.keystoreName = lines[0].Trim();
                PlayerSettings.Android.keystorePass = lines[1].Trim();
                PlayerSettings.Android.keyaliasName = lines[2].Trim();
                PlayerSettings.Android.keyaliasPass = lines[3].Trim();

                Debug.LogError("PlayerSettings.Android.keystoreName " + PlayerSettings.Android.keystoreName);
                Debug.LogError("PlayerSettings.Android.keystorePass " + PlayerSettings.Android.keystorePass);
                Debug.LogError("PlayerSettings.Android.keyaliasName " + PlayerSettings.Android.keyaliasName);
                Debug.LogError("PlayerSettings.Android.keyaliasPass " + PlayerSettings.Android.keyaliasPass);
            }

            FileUtilTool.CreateFolderForFile(location);
            string[] levels = new string[] { BuildTool.startScene };
            try
            {
                if (BuildTool.type == BuildTool.BuildType.APK)
                {
                    if (BuildTool.isDev)
                    {
                        var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.ConnectWithProfiler | BuildOptions.Development);
                    }
                    else
                    {
                        var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.None);
                    }
                }
                else
                {
                    if (BuildTool.isDev)
                    {
                        var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.ConnectWithProfiler | BuildOptions.Development | BuildOptions.AcceptExternalModificationsToPlayer);
                    }
                    else
                    {
                        var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
                    }
                }
            }
            catch (System.Exception e)
            {
                Debug.LogError("build android error: " + e.ToString());
            }
            finally
            {
                //显示Resources目录
                BuildTool.ShowResourcesFolder(true);
            }
        }
Пример #3
0
        public static void WriteRecordFile(string[] lines, string filePath)
        {
            string data = string.Join("\n", lines);

            FileUtilTool.CreateFolderForFile(filePath);
            FileUtilTool.DelFile(filePath);
            FileUtilTool.WriteFile(filePath, data);
        }
Пример #4
0
        public static void Analysing(string[] folders)
        {
            List <string> names = new List <string>();

            foreach (var k in folders)
            {
                names.AddRange(Directory.GetFiles(k, "*", SearchOption.AllDirectories));
            }

            //场景
            //string[] scenes = MarkTool.GetSceneConfig();
            //names.AddRange(scenes);

            int i = 0;

            foreach (var k in names)
            {
                ++i;
                EditorUtility.DisplayProgressBar("分析资源中", "...", (float)i / (float)names.Count);

                GenInfo(k);
            }

            EditorUtility.ClearProgressBar();
            FileUtilTool.CreateFolderForFile(fileName);
            StreamWriter writer = new StreamWriter(fileName, false, System.Text.Encoding.Default);

            writer.WriteLine(@"文件名,子文件,文件后缀,文件大小(B),所有依赖文件个数,总大小(MB),引用次数,文件状态");
            foreach (var k in fileInfos)
            {
                PrintInfo(k.Value, writer);
            }
            writer.Flush();
            writer.Close();

            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
Пример #5
0
        public static void BuildAndroidProject(Version v)
        {
            string apkPath  = string.Format("{0}/{1}", ResSetting.AssetBundlesOutputPath, ResSetting.GetChannelRes());
            string location = string.Format("{0}/{1}.Project", apkPath, v);


            FileUtilTool.CreateFolderForFile(location);
            string[] levels = new string[] { BuildTool.startScene };
            try
            {
                EditorUserBuildSettings.exportAsGoogleAndroidProject = true;


                if (BuildTool.isDev)
                {
                    var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.ConnectWithProfiler | BuildOptions.Development);
                }
                else
                {
                    var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.None);
                }

                if (BuildTool.isDev)
                {
                    var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.ConnectWithProfiler | BuildOptions.Development | BuildOptions.AcceptExternalModificationsToPlayer);
                }
                {
                    UnityEditor.PlayerSettings.bundleVersion = v.ToString();
                    var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
                }
            }
            catch (System.Exception e)
            {
                Debug.LogError("build android error: " + e.ToString());
                throw new System.Exception(e.ToString());
            }
        }
Пример #6
0
        public static void BuildIOSProject(Version v)
        {
            //隐藏Resources目录
            BuildTool.ShowResourcesFolder(false);

            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();

            string[] levels = new string[] { BuildTool.startScene };
            try
            {
                string apkPath  = string.Format("{0}/{1}", ResSetting.AssetBundlesOutputPath, ResSetting.GetChannelRes());
                string location = string.Format("{0}/{1}", apkPath, v);
                UnityEditor.PlayerSettings.bundleVersion         = FileUtilTool.ReadFile("IOS_Build/appleversion.dat").Replace("\r\n", "\n").Replace("\n", "");
                UnityEditor.PlayerSettings.applicationIdentifier = "com.yxm.tankwar";
                UnityEditor.PlayerSettings.iOS.buildNumber       = BuildTool.versionCode.ToString();
                FileUtilTool.CreateFolderForFile(location);
                if (BuildTool.isDev)
                {
                    var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.iOS, BuildOptions.ConnectWithProfiler | BuildOptions.Development);
                }
                else
                {
                    var result = BuildPipeline.BuildPlayer(levels, location, BuildTarget.iOS, BuildOptions.None);
                }
            }
            catch (System.Exception e)
            {
                Debug.LogError("build ios error: " + e.ToString());
            }
            finally
            {
                //恢复
                BuildTool.ShowResourcesFolder(true);
            }
        }