public VerInfo BuildRes(string rootPath, BuildTarget traget, BuildAssetBundleOptions options) { if (string.IsNullOrEmpty(m_BuildResInfo.ResParentPath)) { return(null); } Dictionary <string, AssetBundleBuild> maps = new Dictionary <string, AssetBundleBuild>(); BuildAB.HandleBundleAB(AppConst.ABPath + m_BuildResInfo.ResParentPath, ref maps); List <AssetBundleBuild> list = new List <AssetBundleBuild>(); ResCfg resCfg = null; if (File.Exists(AppConst.CoreDef.EditorResCfgPath)) { TextAsset resCfgtext = AssetDatabase.LoadAssetAtPath <TextAsset>(AppConst.CoreDef.EditorResCfgPath); resCfg = JsonUtility.FromJson <ResCfg>(resCfgtext.text); } foreach (string abName in maps.Keys) { AssetBundleBuild abb = maps[abName]; List <string> files = new List <string>(); foreach (string file in abb.assetNames) { string name = Path.GetFileNameWithoutExtension(file); if (name == "defaultres" || (resCfg != null && resCfg.GetResInfo(name) != null)) { files.Add(file); } else { Debug.LogError("有文件放在ab文件夹下 但是没有加入到配置表" + ",可能是无效的资源将不被打包到ab abName=" + name); } } abb.assetNames = files.ToArray(); list.Add(abb); } BuildPipeline.BuildAssetBundles(rootPath, list.ToArray(), options, traget); CompressFiles(list); return(BuildFileTxt(list)); }