How to Cache AssetBundle to the SDCard

I’m using AssetBundle on Android platform,and I met some problems in caching bundles to the sdcard.

I found when I add the write_external_storage,and mount_unmount_filesystems permission,Unity will automatically cache bundles to sdcard when i use LoadfromCachOrDownload,but when i run the app again,I can’t load bundles from cache successfully.If i delete the permission,the cache will be saved to the internal storage,and everything will be ok.

Witch is the right way to save cache to external storage?

This problem will not appear every time.Some times it will be ok,some times i would receive an exception:" Cannot load cached AssetBundle.A file of the same name is already loaded from another AssetBundle. " But I’m sure it’s my first time to load AssetBundle,no other bundles would be loaded before this file.