Fix creation of zip file for multi-dex
Bug: 11791202
Change-Id: Ib8f97f11287a59db0ec119a1d55913aa8df3ce33
diff --git a/library/src/android/support/multidex/MultiDexExtractor.java b/library/src/android/support/multidex/MultiDexExtractor.java
index 04c3932..b6988a4 100644
--- a/library/src/android/support/multidex/MultiDexExtractor.java
+++ b/library/src/android/support/multidex/MultiDexExtractor.java
@@ -16,6 +16,10 @@
package android.support.multidex;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.util.Log;
+
import java.io.Closeable;
import java.io.File;
import java.io.FileFilter;
@@ -29,10 +33,6 @@
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.util.Log;
-
/**
* Exposes application secondary dex files as files in the application data
* directory.
@@ -152,8 +152,10 @@
byte[] buffer = new byte[BUFFER_SIZE];
int length = in.read(buffer);
- while (length > 0) {
- out.write(buffer, 0, length);
+ while (length != -1) {
+ if (length > 0) {
+ out.write(buffer, 0, length);
+ }
length = in.read(buffer);
}
} finally {