Beispiel #1
0
 public static void ClearMarkForce()
 {
     FileUtilTool.DelFile(m_markRecord);
     AssetDatabase.RemoveUnusedAssetBundleNames();
     AssetDatabase.Refresh();
     AssetDatabase.SaveAssets();
 }
Beispiel #2
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);
        }
Beispiel #3
0
        public static void DeleteNoNeedAssetBundle(List <RecordInfo> deleted)
        {
            foreach (var k in deleted)
            {
                string bundleName = GetAssetBundleName(k.fileName);

                FileUtilTool.DelFile(ResSetting.AssetBundlesPath() + "/" + bundleName);
            }
        }
Beispiel #4
0
        public static void CheckScriptsQuiet()
        {
            List <string> difList = new List <string>();

            List <string> checkFiles = new List <string>();

            string[] csFiles      = Directory.GetFiles(Application.dataPath, "*.cs", SearchOption.AllDirectories);
            string   ManifestFile = Application.dataPath + "/Plugins/Android/AndroidManifest.xml";

            string[] jarFiles = Directory.GetFiles(Application.dataPath, "*.jar", SearchOption.AllDirectories);

            checkFiles.AddRange(csFiles);
            checkFiles.AddRange(jarFiles);
            checkFiles.Add(ManifestFile);

            int            i  = 0;
            CustomBuildLog fl = new CustomBuildLog();

            foreach (string f in checkFiles)
            {
                string path = f.Replace('\\', '/');
                string md5  = ResCommon.GetFileMD5(path);

                if (lastestCSMD5.ContainsKey(path))
                {
                    if (lastestCSMD5[path] != md5)
                    {
                        difList.Add(path);
                    }
                }
                else
                {
                    difList.Add(path);
                }

                i++;
                newBuildLog.AddData(new FileMD5Data(path, md5));

                EditorUtility.DisplayProgressBar("安卓打包", "检查脚本 " + f, (float)i / (float)csFiles.Length);
            }

            EditorUtility.ClearProgressBar();

            if (difList.Count > 0)
            {
                BuildQuietScriptDiff();
            }
            else
            {
                BuildQuietResources();
            }

            string json = JsonMapper.ToJson(difList);

            FileUtilTool.DelFile(diffLogFile);
            FileUtilTool.WriteFile(diffLogFile, json);
        }
Beispiel #5
0
        //[MenuItem("Tools/程序狗专用/Res/MD5")]
        public static void GenMD5()
        {
            FileUtilTool.DelFile(mdFile);
            string fresfolder = resFolder.Replace("\\", "/");
            List <AssetbundleJsonData> data = GetMD5ForFolder(resFolder, fresfolder);
            AssetbundleJsonMap         map  = new AssetbundleJsonMap();

            map.arrayRes = data.ToArray();
            string jsonStr = JsonMapper.ToJson(map);

            FileUtilTool.WriteFile(mdFile, jsonStr);
        }
Beispiel #6
0
        public static void DeleteMainfestFile(string path)
        {
            string[] files = Directory.GetFiles(path, "*.manifest", SearchOption.AllDirectories);

            string output = "Manifest";

            FileUtilTool.DeleteFolder(output);

            foreach (var f in files)
            {
                FileUtilTool.DelFile(f);
            }
        }
Beispiel #7
0
        public static void CompressFolder(string folder)
        {
            string[] arrFile = Directory.GetFiles(folder);
            for (int i = 0; i < arrFile.Length; i++)
            {
                string file = arrFile[i];
                //ResSetting.Compress(file, string.Format("{0}.{1}", file, "lzma"));
                FileUtilTool.DelFile(file);
            }

            foreach (string d in Directory.GetDirectories(folder))
            {
                CompressFolder(d);
            }
        }
Beispiel #8
0
        public static void CopyStreamingToRes()
        {
            FileUtilTool.DeleteFolder("Assets/StreamingAssets/assetbundles");
            FileUtilTool.DelFile("Assets/StreamingAssets/assetrecord.dat");
            FileUtilTool.DelFile("Assets/StreamingAssets/MD.dat");
            FileUtilTool.DelFile("Assets/StreamingAssets/MD2.dat");
            FileUtilTool.DelFile("Assets/StreamingAssets/fullApkIdentify");

            FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Windows");
            FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android");
            FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android_Original");
            FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS");
            FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS_Original");
            //        #if UNITY_ANDROID
            ////		FileUtilTool.CopyFolder("WwiseProjects/OutPath/Android_Original", "Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android_Original");
            //        FileUtilTool.CopyFolder("WwiseProjects/OutPath/Android", "Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android");
            //        #elif UNITY_IOS
            ////		FileUtilTool.CopyFolder("WwiseProjects/OutPath/iOS_Original", "Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS_Original");
            //        FileUtilTool.CopyFolder("WwiseProjects/OutPath/iOS", "Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS");
            //        #endif

            //#if UNITY_ANDROID
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS_Original");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Windows");
            //#elif UNITY_IOS
            //        FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Windows");
            //        FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android_Original");
            //#else
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android_Original");
            //        FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/Android");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS");
            //		FileUtilTool.DeleteFolder("Assets/StreamingAssets/Audio/GeneratedSoundBanks/iOS_Original");
            //#endif

            FileUtilTool.CopyFolder(FileUtils.StreamingPath(), ResSetting.build_res_path);
            FileUtilTool.CopyFolder(ResSetting.build_ab_path, ResSetting.build_res_path + "/assetbundles");
            BuildAssetBundleTool.DeleteMainfestFile(ResSetting.build_res_path);
            ClearFileWithExtension(ResSetting.build_res_path, ".meta");

            //加密资源
            ResTool.GenEncrypt();
            ResTool.GenMD5();
            ResTool.GenMD5Second();
        }
Beispiel #9
0
        public static void GenMD5Second()
        {
            string mdSecondFile = resFolder + "/MD2.dat";
            string fresfolder   = resFolder.Replace("\\", "/");
            string jsonStr      = "";

            if (File.Exists(mdSecondFile))
            {
                string data = FileUtilTool.ReadFile(mdSecondFile);
                MD2    md2  = JsonMapper.ToObject <MD2>(data);
                jsonStr = GetMD5SecondForFile(mdFile, fresfolder, md2.time);
            }
            else
            {
                jsonStr = GetMD5SecondForFile(mdFile, fresfolder);
            }
            FileUtilTool.DelFile(mdSecondFile);
            FileUtilTool.WriteFile(mdSecondFile, jsonStr);
        }
Beispiel #10
0
        public static void CheckScripts()
        {
            List <string> difList = new List <string>();

            List <string> checkFiles = new List <string>();

            string[] csFiles      = Directory.GetFiles(Application.dataPath, "*.cs", SearchOption.AllDirectories);
            string   ManifestFile = Application.dataPath + "/Plugins/Android/AndroidManifest.xml";

            string[] jarFiles = Directory.GetFiles(Application.dataPath, "*.jar", SearchOption.AllDirectories);

            checkFiles.AddRange(csFiles);
            checkFiles.AddRange(jarFiles);
            checkFiles.Add(ManifestFile);

            int            i  = 0;
            CustomBuildLog fl = new CustomBuildLog();

            foreach (string f in checkFiles)
            {
                string path = f.Replace('\\', '/');
                string md5  = ResCommon.GetFileMD5(path);

                if (lastestCSMD5.ContainsKey(path))
                {
                    if (lastestCSMD5[path] != md5)
                    {
                        difList.Add(path);
                    }
                }
                else
                {
                    difList.Add(path);
                }

                //Debug.Log(f + " md5:" + md5);
                i++;
                newBuildLog.AddData(new FileMD5Data(path, md5));

                EditorUtility.DisplayProgressBar("安卓打包", "检查脚本 " + f, (float)i / (float)csFiles.Length);
            }

            EditorUtility.ClearProgressBar();

            if (difList.Count > 0)
            {
                if (EditorUtility.DisplayDialog("安卓打包", string.Format("本次打包含程序和资源更新\r\n 原资源版本号:{0}", versionRes), "继续", "取消"))
                {
                    ShowScriptDiff(difList);
                }
            }
            else
            {
                if (EditorUtility.DisplayDialog("安卓打包", string.Format("本次打包只包含资源更新\r\n 原资源版本号:{0}", versionRes), "继续", "取消"))
                {
                    CheckResources();
                }
            }

            //Debug.Log("diff list :");
            //foreach (string str in difList)
            //{
            //    Debug.Log(str);
            //}

            string json = JsonMapper.ToJson(difList);

            FileUtilTool.DelFile(diffLogFile);
            FileUtilTool.WriteFile(diffLogFile, json);
        }