From 90247c8a1cc4909f93c5d8f2f25cde9ab3b095bd Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Mon, 6 Jan 2020 13:30:59 +0900 Subject: [PATCH] Platform shouldn't directly link to jars in APEXes The non-updatable part of the platform shouldn't directly link to the boot jars in APEXes. Ensure this by 1) setting the visibility property for the boot jars so that they are not visible to non-APEX modules and 2) setting the apex_available property so that the boot jars are only built for the corresponding APEXes, but not for others. Bug: b/146167933 Bug: b/146218515 Bug: b/147200698 Test: m Change-Id: I251fabd773bc31f46d572d143c72dd9162f3f0a6 Merged-In: I251fabd773bc31f46d572d143c72dd9162f3f0a6 --- Android.bp | 3 ++- apex/sdkextensions/framework/Android.bp | 5 +++++ packages/Tethering/Android.bp | 1 + packages/Tethering/common/TetheringLib/Android.bp | 10 ++++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Android.bp b/Android.bp index 6535da5f4ff90..b782fec455cb3 100644 --- a/Android.bp +++ b/Android.bp @@ -464,7 +464,8 @@ java_library { "framework-minus-apex", "updatable_media_stubs", "framework-sdkextensions-stubs-systemapi", - // TODO(jiyong): add more stubs for APEXes here + // TODO(b/147200698): should be the stub of framework-tethering + "framework-tethering", ], sdk_version: "core_platform", apex_available: ["//apex_available:platform"], diff --git a/apex/sdkextensions/framework/Android.bp b/apex/sdkextensions/framework/Android.bp index 5504f4e5dd8e1..dd174734df6df 100644 --- a/apex/sdkextensions/framework/Android.bp +++ b/apex/sdkextensions/framework/Android.bp @@ -36,6 +36,11 @@ java_library { "//frameworks/base/apex/sdkextensions", "//frameworks/base/apex/sdkextensions/testing", ], + hostdex: true, // for hiddenapi check + apex_available: [ + "com.android.sdkext", + "test_com.android.sdkext", + ], } droidstubs { diff --git a/packages/Tethering/Android.bp b/packages/Tethering/Android.bp index e79986c4f6c60..8987b544779f5 100644 --- a/packages/Tethering/Android.bp +++ b/packages/Tethering/Android.bp @@ -122,4 +122,5 @@ android_app { use_embedded_native_libs: true, // The permission configuration *must* be included to ensure security of the device required: ["NetworkPermissionConfig"], + apex_available: ["com.android.tethering"], } diff --git a/packages/Tethering/common/TetheringLib/Android.bp b/packages/Tethering/common/TetheringLib/Android.bp index 5785707cb9c5e..264ce440f59f1 100644 --- a/packages/Tethering/common/TetheringLib/Android.bp +++ b/packages/Tethering/common/TetheringLib/Android.bp @@ -47,6 +47,16 @@ java_library { libs: [ "android_system_stubs_current", ], + + hostdex: true, // for hiddenapi check + visibility: [ + "//frameworks/base/packages/Tethering:__subpackages__", + //TODO(b/147200698) remove below lines when the platform is built with stubs + "//frameworks/base", + "//frameworks/base/services", + "//frameworks/base/services/core", + ], + apex_available: ["com.android.tethering"], } filegroup {