summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYohann Roussel <yroussel@google.com>2013-11-28 23:22:11 +0100
committerYohann Roussel <yroussel@google.com>2013-11-28 23:22:11 +0100
commit88117c37e2c3f8601f295b74a3e804877afb78ee (patch)
treeb6da9c1c5250e4854d93a6a5a802c7570fea22c3
parenta159fd5dbd60171c9bb602f316ad8272419afe40 (diff)
downloadmultidex-88117c37e2c3f8601f295b74a3e804877afb78ee.tar.gz
Add log to identify the source of the zip corruption.
This CL is to be reverted when debug is done. Change-Id: I47f2464a4b32affe2d63f874a1df3f8f24e569d5
-rw-r--r--library/src/android/support/multidex/MultiDex.java3
-rw-r--r--library/src/android/support/multidex/MultiDexExtractor.java9
2 files changed, 11 insertions, 1 deletions
diff --git a/library/src/android/support/multidex/MultiDex.java b/library/src/android/support/multidex/MultiDex.java
index d9f164f..064c66a 100644
--- a/library/src/android/support/multidex/MultiDex.java
+++ b/library/src/android/support/multidex/MultiDex.java
@@ -266,6 +266,9 @@ public final class MultiDex {
new ArrayList<File>(additionalClassPathEntries), optimizedDirectory,
suppressedExceptions));
if (suppressedExceptions.size() > 0) {
+ for (IOException e : suppressedExceptions) {
+ Log.w(TAG, "Exception in makeDexElement", e);
+ }
Field suppressedExceptionsField =
findField(loader, "dexElementsSuppressedExceptions");
IOException[] dexElementsSuppressedExceptions =
diff --git a/library/src/android/support/multidex/MultiDexExtractor.java b/library/src/android/support/multidex/MultiDexExtractor.java
index cde27bf..e9eec82 100644
--- a/library/src/android/support/multidex/MultiDexExtractor.java
+++ b/library/src/android/support/multidex/MultiDexExtractor.java
@@ -66,7 +66,7 @@ final class MultiDexExtractor {
*/
static List<File> load(ApplicationInfo applicationInfo, File dexDir)
throws IOException {
-
+ Log.i(TAG, "load(" + applicationInfo.sourceDir + ")");
File sourceApk = new File(applicationInfo.sourceDir);
long lastModified = sourceApk.lastModified();
String extractedFilePrefix = sourceApk.getName()
@@ -86,7 +86,9 @@ final class MultiDexExtractor {
File extractedFile = new File(dexDir, fileName);
files.add(extractedFile);
+ Log.i(TAG, "Need extracted file " + extractedFile);
if (!extractedFile.isFile()) {
+ Log.i(TAG, "Extraction is needed for file " + extractedFile);
int numAttempts = 0;
boolean isExtractionSuccessful = false;
while (numAttempts < MAX_EXTRACT_ATTEMPTS && !isExtractionSuccessful) {
@@ -114,6 +116,8 @@ final class MultiDexExtractor {
extractedFile.getAbsolutePath() + " for secondary dex (" +
secondaryNumber + ")");
}
+ } else {
+ Log.i(TAG, "No extraction needed for " + extractedFile + " of size " + extractedFile.length());
}
secondaryNumber++;
dexFile = apk.getEntry(DEX_PREFIX + secondaryNumber + DEX_SUFFIX);
@@ -151,8 +155,11 @@ final class MultiDexExtractor {
return;
}
for (File oldFile : files) {
+ Log.w(TAG, "Trying to delete old file " + oldFile.getPath() + " of size " + oldFile.length());
if (!oldFile.delete()) {
Log.w(TAG, "Failed to delete old file " + oldFile.getPath());
+ } else {
+ Log.w(TAG, "Deleted old file " + oldFile.getPath());
}
}
}