前言
Unity遊戲項目,上線運營後,可能要做熱更,熱更文件會打成AssetBundle形式,可能一次會有N個AssetBundle,這個時候,可以考慮壓縮成一個zip,並設置解壓密碼,下載後再解壓。
Ionic.Zip.Unity.dll下載
可以使用Ionic.Zip.Unity.dll
這個庫進行壓縮和解壓。
下載地址: https://share.weiyun.com/5XZxOTD (密碼:THwr)
壓縮
using Ionic.Zip;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Ionic.Zip;
using UnityEditor;
public class ZipEditor
{
[MenuItem("Tools/ZipTest")]
public static void ZipTest()
{
using (ZipFile zip = new ZipFile())
{
// 設置壓縮密碼
zip.Password = "123456";
zip.AddDirectory(Application.dataPath + "/TestDir", "./TestDir");
zip.AddFile(Application.dataPath + "/Test1.txt", "./");
zip.Save(Application.dataPath + "/result.zip");
}
AssetDatabase.Refresh();
}
}
壓縮後結果
解壓
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Ionic.Zip;
using UnityEditor;
public class ZipEditor
{
[MenuItem("Tools/UnZipTest")]
public static void UnZipTest()
{
using (ZipFile zip = new ZipFile(Application.dataPath + "/result.zip"))
{
// 設置解壓密碼
zip.Password = "123456";
zip.ExtractAll(Application.dataPath + "/UnZip");
}
AssetDatabase.Refresh();
}
}