/// <summary> /// 检查文件数量和记录的版本号 /// </summary> /// <returns></returns> private List <IDownloadItem> CheckHotfixFile() { View.SetText(I18NManager.Get("Update_CheckFile")); int loadedFileCount = 0; DirectoryInfo directoryInfo = new DirectoryInfo(AssetLoader.ExternalHotfixPath); DirectoryInfo[] dirs = directoryInfo.GetDirectories(); foreach (var dir in dirs) { loadedFileCount += dir.GetFiles("*", SearchOption.AllDirectories).Length; } indexFile = GetIndexFile(); if (loadedFileCount >= indexFile.FileItems.Count && FileUtil.ReadFileText(FileChecker.HotfixRecordPath) == _hotVersionPb.Version + "_" + _hotVersionPb.HotVersion) { //检查文件数量 核对记录文件的版本号 return(null); } View.SetText(""); FileChecker checker = new FileChecker(); return(checker.GetReloadHotfixFiles(indexFile)); }
static public void GenerateHotfixIndexFile() { HotfixIndexFile indexFile = new HotfixIndexFile(); #if UNITY_IOS FileInfo mainfestFile = new FileInfo(HotfixBuild.BundleFilesDir + "/iOS"); #else FileInfo mainfestFile = new FileInfo(HotfixBuild.BundleFilesDir + "/Android"); #endif if (mainfestFile.Exists) { indexFile.AddFile(mainfestFile); } FileInfo[] files = GetDirFiles(HotfixBuild.HotfixDir); for (int i = 0; i < files.Length; i++) { indexFile.AddFile(files[i]); } int version = HotfixBuild.GetHotfixVersion(); string fileName = HotfixBuild.HotfixDir + "/HotfixConfig_v" + version + ".zip"; indexFile.GenerateBin(fileName, HotfixFileFormat.EncryptZip, version); ClipBoard.Copy(MD5Util.Get(fileName)); EditorUtility.DisplayDialog("GenerateHotfixIndexFile", "生成HotfixIndexFile完成!", "Close"); }
private HotfixIndexFile GetIndexFile() { byte[] bytes = FileUtil.ReadBytesFile(_hotfixConfigPath); indexFile = HotfixIndexFile.Deserialize(bytes); return(indexFile); }