private static List <AssetBundleXMLRawData> RefreshNewNameAndGetAssetBundleList()
    {
        List <AssetBundleXMLRawData> list = new List <AssetBundleXMLRawData>();
        //非Default的资源
        List <AssetBundleXMLRawData> foreignlist = new List <AssetBundleXMLRawData>();

        bool checkConfig = AssetBundleBuilderExtSetting.Instance.InitProjectSettingFromFile();

        if (!checkConfig)
        {
            return(null);
        }

        var paths = AssetDatabase.GetAllAssetPaths();

        bool isBreak = false;

        for (int i = 0; i < paths.Length; i++)
        {
            var path = paths[i];

            if (!path.Contains("."))
            {
                continue;
            }

            //不需要打包的文件类型
            if (!CheckNeedPackFile(path))
            {
                continue;
            }

            if (!path.Contains("/AssetBundles/") &&
                !AssetBundleBuilderExtSetting.Instance.CheckIsInExtFolderAsset(path) &&
                !AssetBundleBuilderExtSetting.Instance.CheckIsSpriteInTagAsset(path))
            {
                continue;
            }

            //if (!path.Contains("/AssetBundles/")) continue;

            //不导文件夹
            if (AssetDatabase.IsValidFolder(path))
            {
                continue;
            }

            //是否取消打包
            isBreak = EditorUtility.DisplayCancelableProgressBar("Loading", path, (float)i / paths.Length);
            if (isBreak)
            {
                CommonLog.Log("终止打包");
                return(null);
            }

            AssetBundleXMLRawData xmlRawData = new AssetBundleXMLRawData();

            var extensionName =
                Path.GetExtension(path); //path.Remove(0,path.LastIndexOf(".", StringComparison.Ordinal));
            var withoutExtensionPath =
                path.Replace(extensionName,
                             string.Empty); //path.Substring(0, path.LastIndexOf(".", StringComparison.Ordinal));


            int abResourceStartIndex = withoutExtensionPath.LastIndexOf("AssetBundles", StringComparison.Ordinal);
            var resPath = AssetI8NHelper.GetDefaultPathLanguage(abResourceStartIndex >= 0
                ? withoutExtensionPath.Substring(abResourceStartIndex)
                : withoutExtensionPath);

            //剔除 Assets/
            if (resPath.StartsWith("Assets/"))
            {
                int startIndex = resPath.IndexOf("/", StringComparison.Ordinal) + 1;
                resPath = resPath.Substring(startIndex);
            }

            var langType = AssetI8NHelper.GetPathLanguage(path);

            xmlRawData.resPath = resPath;

            xmlRawData.resPathMD5Struct = MD5Creater.Md5Struct(xmlRawData.resPath);

            xmlRawData.Language = langType;

            string fileName   = Path.GetFileNameWithoutExtension(resPath);
            string bundleName =
                Path.GetDirectoryName(resPath.Substring(0, resPath.LastIndexOf("/", StringComparison.Ordinal)));

            //设置bundleName,使用时,使用下面的MD5
            xmlRawData.bundleName =
                AssetBundleBuilderExtSetting.Instance.GetGroupMappedBundlePath(xmlRawData.resPath, extensionName);

            xmlRawData.bundleMD5Struct =
                MD5Creater.Md5Struct(
                    AssetBundleBuilderExtSetting.Instance.GetGroupMappedBundlePath(xmlRawData.resPath, extensionName));

            //fullName带后缀名
            //int assetStartIndex = path.IndexOf("Assets", StringComparison.Ordinal);
            xmlRawData.assetFullName = path; //path.Substring(assetStartIndex);

            //int resStartIndex = resPath.LastIndexOf("/", StringComparison.Ordinal) + 1;
            xmlRawData.resShortName = Path.GetFileName(resPath); //resPath.Substring(resStartIndex);

            xmlRawData.OtherLanguages[(int)langType] = true;
            list.Add(xmlRawData);

            foreignlist.Add(xmlRawData);
        }

        //第二遍开始计算asset的多语言信息
        foreach (var xmlRaw in list)
        {
            if (xmlRaw.Language == eAssetLanguageVarType.Default)
            {
                foreach (var xmlForeign in foreignlist)
                {
                    if (xmlForeign.bundleName == xmlRaw.bundleName)
                    {
                        xmlRaw.OtherLanguages[(int)xmlForeign.Language] = true;
                    }
                }
            }
        }


        return(list);
    }