[SOLVED]Caching.ClearOtherCachedVersions not working

This is my c# code for clearing cache,all Caching.ClearOtherCachedVersions invoking return true, but clear nothing. Is that because of I request assetbundle with UnityWebRequestAssetBundle.GetAssetBundle(Uri uri, uint version, uint crc) not UnityWebRequestAssetBundle.GetAssetBundle(string uri, Hash128 hash, uint crc = 0)?

public void ClearOtherCachedVersions(Action<long, long> progressCb = null) {
    if (manifest == null) {
        progressCb?.Invoke(0, 0);
        return;
    }
    var assetBundles = manifest.GetAllAssetBundles();
    for (var i = 0; i < assetBundles.Length; ++i) {
        var clearCache = Caching.ClearOtherCachedVersions(assetBundles[i], manifest.GetAssetBundleHash(assetBundles[i]));
        Debug.Log(clearCache
            ? $"Caching.ClearOtherCachedVersions() successfully, assetBundle name {assetBundles[i]}"
            : $"Caching.ClearOtherCachedVersions() failed, assetBundle name {assetBundles[i]}");
        progressCb?.Invoke(i + 1, assetBundles.Length);
    }
}

I am trying to use UnityWebRequestAssetBundle.GetAssetBundle(string uri, Hash128 hash, uint crc = 0) to get asset bundle, but when I try to get hash of asset bundle for manifest with following code, it always return "00000000000000000000000000000000“,I wonder why?

BuildPipeline.GetHashForAssetBundle("path/to/assetbundle/output/path/Android", out var hash1);
Debug.Log(hash1.ToString());
Caching.ClearOtherCachedVersions("assetBundleName", new Hash128(0U, 0U, 0U, verInfo.crc))

This code clear nothing too.:frowning:

Well, it is working now, the first parameter of Caching.ClearOtherCachedVersions should not contain any path of assetbundle, it must be only file name of assetbundle, otherwise, it will fail.