public static void ClearMarkForce() { FileUtilTool.DelFile(m_markRecord); AssetDatabase.RemoveUnusedAssetBundleNames(); AssetDatabase.Refresh(); AssetDatabase.SaveAssets(); }
public static void WriteRecordFile(string[] lines, string filePath) { string data = string.Join("\n", lines); FileUtilTool.CreateFolderForFile(filePath); FileUtilTool.DelFile(filePath); FileUtilTool.WriteFile(filePath, data); }
public static void DeleteNoNeedAssetBundle(List <RecordInfo> deleted) { foreach (var k in deleted) { string bundleName = GetAssetBundleName(k.fileName); FileUtilTool.DelFile(ResSetting.AssetBundlesPath() + "/" + bundleName); } }
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); }
//[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); }
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); } }
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); } }
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(); }
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); }
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); }