From a479d943dd5e70648ea698d8f02ee9c2f7f9cbcd Mon Sep 17 00:00:00 2001 From: Artur Satayev Date: Wed, 15 Apr 2020 12:50:04 +0100 Subject: [PATCH] Remove Android compat annotations on jarjar transform. Set a system property to enable Android specific transformer that drops UnsupportedAppUsage annotation for repackaged classes to avoid adding unneeded hidden api symbols on jarjar. Bug: 146418363 Test: m, manual diff hiddenapi-flags.csv Exempt-From-Owner-Approval: patch approved by owner Change-Id: I10b49feb15257301574162b5d389cbc30277f672 Merged-In: I10b49feb15257301574162b5d389cbc30277f672 (cherry picked from commit 762d9f38af12909684928671f19b5ba78f4a562b) --- java/builder.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/builder.go b/java/builder.go index f9b53674d..f09cd9808 100644 --- a/java/builder.go +++ b/java/builder.go @@ -146,7 +146,12 @@ var ( jarjar = pctx.AndroidStaticRule("jarjar", blueprint.RuleParams{ - Command: "${config.JavaCmd} ${config.JavaVmFlags} -jar ${config.JarjarCmd} process $rulesFile $in $out", + Command: "${config.JavaCmd} ${config.JavaVmFlags}" + + // b/146418363 Enable Android specific jarjar transformer to drop compat annotations + // for newly repackaged classes. Dropping @UnsupportedAppUsage on repackaged classes + // avoids adding new hiddenapis after jarjar'ing. + " -DremoveAndroidCompatAnnotations=true" + + " -jar ${config.JarjarCmd} process $rulesFile $in $out", CommandDeps: []string{"${config.JavaCmd}", "${config.JarjarCmd}", "$rulesFile"}, }, "rulesFile")