From 8335e26ad55f29ad9df59c56e16936228731a677 Mon Sep 17 00:00:00 2001 From: Joachim Sauer Date: Tue, 15 Mar 2016 14:55:17 +0000 Subject: Make JarJar abort when it can't read a .class file. This change avoids future situations where jarjar silently skips class files that it can't read (as happened with files compiled for Java 8) Bug: 27637680 (cherry picked from commit 8795f34e379f7d29be2ee6cc0b9377106a1d96d7) Change-Id: I29390c3004516f050ca470a9798bfca05d306c75 --- src/main/com/tonicsystems/jarjar/util/JarTransformer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/com/tonicsystems/jarjar/util/JarTransformer.java b/src/main/com/tonicsystems/jarjar/util/JarTransformer.java index 95f1216..53c7de0 100644 --- a/src/main/com/tonicsystems/jarjar/util/JarTransformer.java +++ b/src/main/com/tonicsystems/jarjar/util/JarTransformer.java @@ -29,7 +29,9 @@ abstract public class JarTransformer implements JarProcessor try { reader = new ClassReader(struct.data); } catch (Exception e) { - return true; // TODO? + // Android-changed: Made this failure fatal to highlight class version issues. + // http://b/27637680 + throw new RuntimeException("Failed to load " + struct.name, e); } GetNameClassWriter w = new GetNameClassWriter(ClassWriter.COMPUTE_MAXS); reader.accept(transform(w), ClassReader.EXPAND_FRAMES); -- cgit v1.2.3