diff options
Diffstat (limited to 'src/main/com/tonicsystems/jarjar/MainProcessor.java')
-rw-r--r-- | src/main/com/tonicsystems/jarjar/MainProcessor.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/com/tonicsystems/jarjar/MainProcessor.java b/src/main/com/tonicsystems/jarjar/MainProcessor.java index 2778cc5..a0ef4c7 100644 --- a/src/main/com/tonicsystems/jarjar/MainProcessor.java +++ b/src/main/com/tonicsystems/jarjar/MainProcessor.java @@ -16,12 +16,14 @@ package com.tonicsystems.jarjar; +import com.android.jarjar.StripAnnotation; import com.tonicsystems.jarjar.util.*; import java.io.File; import java.io.IOException; import java.util.*; import com.android.jarjar.RemoveAndroidCompatAnnotationsJarTransformer; +import com.android.jarjar.StripAnnotationsJarTransformer; class MainProcessor implements JarProcessor { @@ -42,6 +44,9 @@ class MainProcessor implements JarProcessor List<Zap> zapList = new ArrayList<Zap>(); List<Rule> ruleList = new ArrayList<Rule>(); List<Keep> keepList = new ArrayList<Keep>(); + // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs + List<StripAnnotation> stripAnnotationList = new ArrayList<StripAnnotation>(); + // ANDROID-END: b/222743634 Strip annotations from system module stubs for (PatternElement pattern : patterns) { if (pattern instanceof Zap) { zapList.add((Zap) pattern); @@ -49,7 +54,11 @@ class MainProcessor implements JarProcessor ruleList.add((Rule) pattern); } else if (pattern instanceof Keep) { keepList.add((Keep) pattern); + // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs + } else if (pattern instanceof StripAnnotation) { + stripAnnotationList.add((StripAnnotation) pattern); } + // ANDROID-END: b/222743634 Strip annotations from system module stubs } PackageRemapper pr = new PackageRemapper(ruleList, verbose); @@ -65,6 +74,11 @@ class MainProcessor implements JarProcessor if (removeAndroidCompatAnnotations) processors.add(new RemoveAndroidCompatAnnotationsJarTransformer(pr)); // ANDROID-END: b/146418363 Add an Android-specific transformer to strip compat annotation + // ANDROID-BEGIN: b/222743634 Strip annotations from system module stubs + if (!stripAnnotationList.isEmpty()) { + processors.add(new StripAnnotationsJarTransformer(stripAnnotationList)); + } + // ANDROID-END: b/222743634 Strip annotations from system module stubs processors.add(new JarTransformerChain(new RemappingClassTransformer[]{ new RemappingClassTransformer(pr) })); processors.add(new ResourceProcessor(pr)); chain = new JarProcessorChain(processors.toArray(new JarProcessor[processors.size()])); |