Merge "Separate tethering build target to Tethering and TetheringNext"

This commit is contained in:
Mark Chien
2021-11-08 07:29:55 +00:00
committed by Gerrit Code Review
2 changed files with 46 additions and 12 deletions

View File

@@ -19,9 +19,13 @@ package {
} }
java_defaults { java_defaults {
name: "TetheringAndroidLibraryDefaults", name: "TetheringApiLevel",
sdk_version: "module_current", sdk_version: "module_current",
min_sdk_version: "30", min_sdk_version: "30",
}
java_defaults {
name: "TetheringAndroidLibraryDefaults",
srcs: [ srcs: [
"apishim/**/*.java", "apishim/**/*.java",
"src/**/*.java", "src/**/*.java",
@@ -30,7 +34,6 @@ java_defaults {
":services-tethering-shared-srcs", ":services-tethering-shared-srcs",
], ],
static_libs: [ static_libs: [
"NetworkStackApiStableShims",
"androidx.annotation_annotation", "androidx.annotation_annotation",
"modules-utils-build", "modules-utils-build",
"modules-utils-statemachine", "modules-utils-statemachine",
@@ -54,16 +57,35 @@ java_defaults {
manifest: "AndroidManifestBase.xml", manifest: "AndroidManifestBase.xml",
} }
// Build tethering static library, used to compile both variants of the tethering. // build tethering static library, used to compile both variants of the tethering.
android_library { android_library {
name: "TetheringApiCurrentLib", name: "TetheringApiCurrentLib",
defaults: ["TetheringAndroidLibraryDefaults"], defaults: [
"TetheringAndroidLibraryDefaults",
"TetheringApiLevel"
],
static_libs: [
"NetworkStackApiCurrentShims",
],
apex_available: ["com.android.tethering"],
}
android_library {
name: "TetheringApiStableLib",
defaults: [
"TetheringAndroidLibraryDefaults",
"TetheringApiLevel"
],
static_libs: [
"NetworkStackApiStableShims",
],
apex_available: ["com.android.tethering"],
} }
// Due to b/143733063, APK can't access a jni lib that is in APEX (but not in the APK). // Due to b/143733063, APK can't access a jni lib that is in APEX (but not in the APK).
cc_library { cc_library {
name: "libtetherutilsjni", name: "libtetherutilsjni",
sdk_version: "current", sdk_version: "30",
apex_available: [ apex_available: [
"//apex_available:platform", // Used by InProcessTethering "//apex_available:platform", // Used by InProcessTethering
"com.android.tethering", "com.android.tethering",
@@ -109,7 +131,6 @@ cc_library {
// Common defaults for compiling the actual APK. // Common defaults for compiling the actual APK.
java_defaults { java_defaults {
name: "TetheringAppDefaults", name: "TetheringAppDefaults",
sdk_version: "module_current",
privileged: true, privileged: true,
jni_libs: [ jni_libs: [
"libtetherutilsjni", "libtetherutilsjni",
@@ -130,20 +151,34 @@ java_defaults {
// Non-updatable tethering running in the system server process for devices not using the module // Non-updatable tethering running in the system server process for devices not using the module
android_app { android_app {
name: "InProcessTethering", name: "InProcessTethering",
defaults: ["TetheringAppDefaults"], defaults: ["TetheringAppDefaults", "TetheringApiLevel"],
static_libs: ["TetheringApiCurrentLib"], static_libs: ["TetheringApiCurrentLib"],
certificate: "platform", certificate: "platform",
manifest: "AndroidManifest_InProcess.xml", manifest: "AndroidManifest_InProcess.xml",
// InProcessTethering is a replacement for Tethering // InProcessTethering is a replacement for Tethering
overrides: ["Tethering"], overrides: ["Tethering"],
apex_available: ["com.android.tethering"], apex_available: ["com.android.tethering"],
min_sdk_version: "30",
} }
// Updatable tethering packaged as an application // Updatable tethering packaged for finalized API
android_app { android_app {
name: "Tethering", name: "Tethering",
defaults: ["TetheringAppDefaults"], defaults: ["TetheringAppDefaults", "TetheringApiLevel"],
static_libs: ["TetheringApiStableLib"],
certificate: "networkstack",
manifest: "AndroidManifest.xml",
use_embedded_native_libs: true,
// The permission configuration *must* be included to ensure security of the device
required: [
"NetworkPermissionConfig",
"privapp_whitelist_com.android.networkstack.tethering",
],
apex_available: ["com.android.tethering"],
}
android_app {
name: "TetheringNext",
defaults: ["TetheringAppDefaults", "TetheringApiLevel"],
static_libs: ["TetheringApiCurrentLib"], static_libs: ["TetheringApiCurrentLib"],
certificate: "networkstack", certificate: "networkstack",
manifest: "AndroidManifest.xml", manifest: "AndroidManifest.xml",
@@ -154,7 +189,6 @@ android_app {
"privapp_whitelist_com.android.networkstack.tethering", "privapp_whitelist_com.android.networkstack.tethering",
], ],
apex_available: ["com.android.tethering"], apex_available: ["com.android.tethering"],
min_sdk_version: "30",
} }
sdk { sdk {

View File

@@ -43,7 +43,7 @@ apex {
], ],
apps: [ apps: [
"ServiceConnectivityResources", "ServiceConnectivityResources",
"Tethering", "TetheringNext",
], ],
prebuilts: ["current_sdkinfo"], prebuilts: ["current_sdkinfo"],
manifest: "manifest.json", manifest: "manifest.json",