diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/SimpleCache.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/SimpleCache.java index cc1e5a8e5e..0f1da88115 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/SimpleCache.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/SimpleCache.java @@ -837,7 +837,8 @@ public final class SimpleCache implements Cache { } private static void createCacheDirectories(File cacheDir) throws CacheException { - if (!cacheDir.mkdirs()) { + // If mkdirs() returns false, double check that the directory doesn't exist before throwing. + if (!cacheDir.mkdirs() && !cacheDir.isDirectory()) { String message = "Failed to create cache directory: " + cacheDir; Log.e(TAG, message); throw new CacheException(message);