Fix hiddenapi issue when REMOVE_ATB_FROM_BCP=true
If the android.test.base is not on the bootclasspath then its stubs
should not be used as input to the hiddenapi processor.
Bug: 73711752
Test: make REMOVE_ATB_FROM_BCP=true droid && atest -p cts/tests/signature
Change-Id: Ib03899001e4350c9ad9e757e9e6d7d41bb0a3896
diff --git a/java/hiddenapi_singleton.go b/java/hiddenapi_singleton.go
index 23f6cb0..ceafb59 100644
--- a/java/hiddenapi_singleton.go
+++ b/java/hiddenapi_singleton.go
@@ -89,7 +89,13 @@
// Public API stubs
publicStubModules := []string{
"android_stubs_current",
- "android.test.base.stubs",
+ }
+
+ // Add the android.test.base to the set of stubs only if the android.test.base module is on
+ // the boot jars list as the runtime will only enforce hiddenapi access against modules on
+ // that list.
+ if inList("android.test.base", ctx.Config().BootJars()) {
+ publicStubModules = append(publicStubModules, "android.test.base.stubs")
}
// System API stubs