Merge "Separate tethering build target to Tethering and TetheringNext"
diff --git a/Tethering/Android.bp b/Tethering/Android.bp
index a7ae21a..06a1f11 100644
--- a/Tethering/Android.bp
+++ b/Tethering/Android.bp
@@ -19,9 +19,13 @@
}
java_defaults {
- name: "TetheringAndroidLibraryDefaults",
+ name: "TetheringApiLevel",
sdk_version: "module_current",
min_sdk_version: "30",
+}
+
+java_defaults {
+ name: "TetheringAndroidLibraryDefaults",
srcs: [
"apishim/**/*.java",
"src/**/*.java",
@@ -30,7 +34,6 @@
":services-tethering-shared-srcs",
],
static_libs: [
- "NetworkStackApiStableShims",
"androidx.annotation_annotation",
"modules-utils-build",
"modules-utils-statemachine",
@@ -54,16 +57,35 @@
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 {
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).
cc_library {
name: "libtetherutilsjni",
- sdk_version: "current",
+ sdk_version: "30",
apex_available: [
"//apex_available:platform", // Used by InProcessTethering
"com.android.tethering",
@@ -109,7 +131,6 @@
// Common defaults for compiling the actual APK.
java_defaults {
name: "TetheringAppDefaults",
- sdk_version: "module_current",
privileged: true,
jni_libs: [
"libtetherutilsjni",
@@ -130,20 +151,34 @@
// Non-updatable tethering running in the system server process for devices not using the module
android_app {
name: "InProcessTethering",
- defaults: ["TetheringAppDefaults"],
+ defaults: ["TetheringAppDefaults", "TetheringApiLevel"],
static_libs: ["TetheringApiCurrentLib"],
certificate: "platform",
manifest: "AndroidManifest_InProcess.xml",
// InProcessTethering is a replacement for Tethering
overrides: ["Tethering"],
apex_available: ["com.android.tethering"],
- min_sdk_version: "30",
}
-// Updatable tethering packaged as an application
+// Updatable tethering packaged for finalized API
android_app {
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"],
certificate: "networkstack",
manifest: "AndroidManifest.xml",
@@ -154,7 +189,6 @@
"privapp_whitelist_com.android.networkstack.tethering",
],
apex_available: ["com.android.tethering"],
- min_sdk_version: "30",
}
sdk {
diff --git a/Tethering/apex/Android.bp b/Tethering/apex/Android.bp
index f86a79d..a5216f7 100644
--- a/Tethering/apex/Android.bp
+++ b/Tethering/apex/Android.bp
@@ -43,7 +43,7 @@
],
apps: [
"ServiceConnectivityResources",
- "Tethering",
+ "TetheringNext",
],
prebuilts: ["current_sdkinfo"],
manifest: "manifest.json",