diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java index bb82d25b4..02dbf9dea 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java @@ -172,15 +172,21 @@ public class BundleDownloader { return; } + File tmpFile = new File(outputFile.getPath() + ".tmp"); Sink output = null; try { - output = Okio.sink(outputFile); + output = Okio.sink(tmpFile); body.readAll(output); - callback.onSuccess(); } finally { if (output != null) { output.close(); } } + + if (tmpFile.renameTo(outputFile)) { + callback.onSuccess(); + } else { + throw new IOException("Couldn't rename " + tmpFile + " to " + outputFile); + } } }