项目后期 AB资源众多 全量打包导致太过费时. 于是扩展打包方法,自动化选取和增量式,局部打包
Asset菜单扩展出4个选项
1 查找过期文件 (只遍历所有资源文件后输出结果 不打包)
2 编译所有包文件 (全量打包)
3 仅编译过期包文件 (基于1结果执行增量编译 输出到StreamingAsset目录)
4 编译选中的包文件 (基于当前选中的资源文件 进行遍历和递归挖掘相关同AB资源 打包后输出到StreamingAsset目录)
2 3 选项同步更新到jenkins打包配置项目中.对应(2全部编译 ,3增量编译)
如果需要编译指定AB 可以在本机上执行4号操作 上传AB文件即可
后续优化提速方向
根据严格的项目路径和AB资源管理办法.可以使用资源目录级别的集合分选,降低遍历所有资源文件导致的时间开销
例如
DirectoryInfo Dir = new DirectoryInfo(Application.dataPath + "/08.Database/template"); foreach (FileInfo f in Dir.GetFiles("*.xml", SearchOption.TopDirectoryOnly)) //查找文件 { string AssetPath = Path.Combine($"Assets/08.Database/template", f.Name); //Debug.Log(" asset资源 " + AssetPath); AssetImporter ai = AssetImporter.GetAtPath(AssetPath); if (ai.assetBundleName == v) bundleToUpdate["template"].Add(AssetPath); } return bundleToUpdate;
只对template 模板表目录下的所有xml文件打包成为 template.ab 只需要最短的执行时间