Merge "Remove unused methods from NetworkTemplate"
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index 886b4a9..e02dfbd 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -32,6 +32,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator:buildflags__android_arm64
@@ -52,6 +55,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator:buildflags__android_x86
@@ -72,6 +78,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator:buildflags__android_x86_64
@@ -92,6 +101,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator:buildflags__host
@@ -114,6 +126,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromecast_buildflags__android_arm
@@ -134,6 +149,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromecast_buildflags__android_arm64
@@ -154,6 +172,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromecast_buildflags__android_x86
@@ -174,6 +195,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromecast_buildflags__android_x86_64
@@ -194,6 +218,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromecast_buildflags__host
@@ -216,6 +243,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromeos_buildflags__android_arm
@@ -236,6 +266,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromeos_buildflags__android_arm64
@@ -256,6 +289,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromeos_buildflags__android_x86
@@ -276,6 +312,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromeos_buildflags__android_x86_64
@@ -296,6 +335,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:chromeos_buildflags__host
@@ -318,6 +360,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:debugging_buildflags__android_arm
@@ -338,6 +383,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:debugging_buildflags__android_arm64
@@ -358,6 +406,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:debugging_buildflags__android_x86
@@ -378,6 +429,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:debugging_buildflags__android_x86_64
@@ -398,6 +452,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:debugging_buildflags__host
@@ -420,6 +477,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:logging_buildflags__android_arm
@@ -440,6 +500,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:logging_buildflags__android_arm64
@@ -460,6 +523,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:logging_buildflags__android_x86
@@ -480,6 +546,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:logging_buildflags__android_x86_64
@@ -500,6 +569,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:logging_buildflags__host
@@ -522,6 +594,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:partition_alloc
@@ -787,6 +862,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:partition_alloc_buildflags__android_arm64
@@ -807,6 +885,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:partition_alloc_buildflags__android_x86
@@ -827,6 +908,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:partition_alloc_buildflags__android_x86_64
@@ -847,6 +931,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/allocator/partition_allocator:partition_alloc_buildflags__host
@@ -869,6 +956,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:anchor_functions_buildflags__android_arm
@@ -889,6 +979,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:anchor_functions_buildflags__android_arm64
@@ -909,6 +1002,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:anchor_functions_buildflags__android_x86
@@ -929,6 +1025,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:anchor_functions_buildflags__android_x86_64
@@ -949,6 +1048,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:anchor_functions_buildflags__host
@@ -971,6 +1073,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:android_runtime_jni_headers__android_arm
@@ -978,8 +1083,6 @@
     name: "cronet_aml_base_android_runtime_jni_headers__android_arm",
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/android_runtime_jni_headers " +
          "--includes " +
@@ -1008,6 +1111,9 @@
         "build/gn_helpers.py",
         "third_party/android_sdk/public/platforms/android-33/android.jar",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:android_runtime_jni_headers__android_arm64
@@ -1015,8 +1121,6 @@
     name: "cronet_aml_base_android_runtime_jni_headers__android_arm64",
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/android_runtime_jni_headers " +
          "--includes " +
@@ -1045,6 +1149,9 @@
         "build/gn_helpers.py",
         "third_party/android_sdk/public/platforms/android-33/android.jar",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:android_runtime_jni_headers__android_x86
@@ -1052,8 +1159,6 @@
     name: "cronet_aml_base_android_runtime_jni_headers__android_x86",
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/android_runtime_jni_headers " +
          "--includes " +
@@ -1082,6 +1187,9 @@
         "build/gn_helpers.py",
         "third_party/android_sdk/public/platforms/android-33/android.jar",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:android_runtime_jni_headers__android_x86_64
@@ -1089,8 +1197,6 @@
     name: "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/android_runtime_jni_headers " +
          "--includes " +
@@ -1119,6 +1225,9 @@
         "build/gn_helpers.py",
         "third_party/android_sdk/public/platforms/android-33/android.jar",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:base
@@ -2268,8 +2377,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/base_jni_headers " +
          "--includes " +
@@ -2484,6 +2591,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:base_jni_headers__android_arm64
@@ -2533,8 +2643,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/base_jni_headers " +
          "--includes " +
@@ -2749,6 +2857,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:base_jni_headers__android_x86
@@ -2798,8 +2909,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/base_jni_headers " +
          "--includes " +
@@ -3014,6 +3123,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:base_jni_headers__android_x86_64
@@ -3063,8 +3175,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/base/base_jni_headers " +
          "--includes " +
@@ -3279,6 +3389,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:base_static
@@ -3399,6 +3512,9 @@
     tool_files: [
         "build/write_build_date_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:build_date__android_arm64
@@ -3412,6 +3528,9 @@
     tool_files: [
         "build/write_build_date_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:build_date__android_x86
@@ -3425,6 +3544,9 @@
     tool_files: [
         "build/write_build_date_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:build_date__android_x86_64
@@ -3438,6 +3560,9 @@
     tool_files: [
         "build/write_build_date_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:build_date__host
@@ -3453,6 +3578,9 @@
     tool_files: [
         "build/write_build_date_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:cfi_buildflags__android_arm
@@ -3473,6 +3601,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:cfi_buildflags__android_arm64
@@ -3493,6 +3624,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:cfi_buildflags__android_x86
@@ -3513,6 +3647,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:cfi_buildflags__android_x86_64
@@ -3533,6 +3670,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:cfi_buildflags__host
@@ -3555,6 +3695,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:clang_profiling_buildflags__android_arm
@@ -3575,6 +3718,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:clang_profiling_buildflags__android_arm64
@@ -3595,6 +3741,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:clang_profiling_buildflags__android_x86
@@ -3615,6 +3764,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:clang_profiling_buildflags__android_x86_64
@@ -3635,6 +3787,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:clang_profiling_buildflags__host
@@ -3657,6 +3812,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:debugging_buildflags__android_arm
@@ -3677,6 +3835,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:debugging_buildflags__android_arm64
@@ -3697,6 +3858,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:debugging_buildflags__android_x86
@@ -3717,6 +3881,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:debugging_buildflags__android_x86_64
@@ -3737,6 +3904,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:debugging_buildflags__host
@@ -3759,6 +3929,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:feature_list_buildflags__android_arm
@@ -3779,6 +3952,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:feature_list_buildflags__android_arm64
@@ -3799,6 +3975,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:feature_list_buildflags__android_x86
@@ -3819,6 +3998,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:feature_list_buildflags__android_x86_64
@@ -3839,6 +4021,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:feature_list_buildflags__host
@@ -3861,6 +4046,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:ios_cronet_buildflags__android_arm
@@ -3881,6 +4069,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:ios_cronet_buildflags__android_arm64
@@ -3901,6 +4092,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:ios_cronet_buildflags__android_x86
@@ -3921,6 +4115,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:ios_cronet_buildflags__android_x86_64
@@ -3941,6 +4138,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:ios_cronet_buildflags__host
@@ -3963,6 +4163,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:logging_buildflags__android_arm
@@ -3983,6 +4186,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:logging_buildflags__android_arm64
@@ -4003,6 +4209,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:logging_buildflags__android_x86
@@ -4023,6 +4232,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:logging_buildflags__android_x86_64
@@ -4043,6 +4255,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:logging_buildflags__host
@@ -4065,6 +4280,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:message_pump_buildflags__android_arm
@@ -4085,6 +4303,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:message_pump_buildflags__android_arm64
@@ -4105,6 +4326,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:message_pump_buildflags__android_x86
@@ -4125,6 +4349,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:message_pump_buildflags__android_x86_64
@@ -4145,6 +4372,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:message_pump_buildflags__host
@@ -4167,6 +4397,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/numerics:base_numerics
@@ -4261,6 +4494,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:orderfile_buildflags__android_arm64
@@ -4281,6 +4517,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:orderfile_buildflags__android_x86
@@ -4301,6 +4540,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:orderfile_buildflags__android_x86_64
@@ -4321,6 +4563,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:orderfile_buildflags__host
@@ -4343,6 +4588,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:parsing_buildflags__android_arm
@@ -4363,6 +4611,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:parsing_buildflags__android_arm64
@@ -4383,6 +4634,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:parsing_buildflags__android_x86
@@ -4403,6 +4657,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:parsing_buildflags__android_x86_64
@@ -4423,6 +4680,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:parsing_buildflags__host
@@ -4445,6 +4705,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:power_monitor_buildflags__android_arm
@@ -4465,6 +4728,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:power_monitor_buildflags__android_arm64
@@ -4485,6 +4751,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:power_monitor_buildflags__android_x86
@@ -4505,6 +4774,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:power_monitor_buildflags__android_x86_64
@@ -4525,6 +4797,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:power_monitor_buildflags__host
@@ -4547,6 +4822,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:profiler_buildflags__android_arm
@@ -4567,6 +4845,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:profiler_buildflags__android_arm64
@@ -4587,6 +4868,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:profiler_buildflags__android_x86
@@ -4607,6 +4891,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:profiler_buildflags__android_x86_64
@@ -4627,6 +4914,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:profiler_buildflags__host
@@ -4649,6 +4939,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:sanitizer_buildflags__android_arm
@@ -4669,6 +4962,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:sanitizer_buildflags__android_arm64
@@ -4689,6 +4985,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:sanitizer_buildflags__android_x86
@@ -4709,6 +5008,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:sanitizer_buildflags__android_x86_64
@@ -4729,6 +5031,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:sanitizer_buildflags__host
@@ -4751,6 +5056,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:synchronization_buildflags__android_arm
@@ -4771,6 +5079,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:synchronization_buildflags__android_arm64
@@ -4791,6 +5102,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:synchronization_buildflags__android_x86
@@ -4811,6 +5125,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:synchronization_buildflags__android_x86_64
@@ -4831,6 +5148,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:synchronization_buildflags__host
@@ -4853,6 +5173,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base/third_party/double_conversion:double_conversion
@@ -5163,6 +5486,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:tracing_buildflags__android_arm64
@@ -5183,6 +5509,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:tracing_buildflags__android_x86
@@ -5203,6 +5532,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:tracing_buildflags__android_x86_64
@@ -5223,6 +5555,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //base:tracing_buildflags__host
@@ -5245,6 +5580,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:branding_buildflags__android_arm
@@ -5265,6 +5603,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:branding_buildflags__android_arm64
@@ -5285,6 +5626,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:branding_buildflags__android_x86
@@ -5305,6 +5649,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:branding_buildflags__android_x86_64
@@ -5325,6 +5672,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:branding_buildflags__host
@@ -5347,6 +5697,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:buildflag_header_h
@@ -5441,6 +5794,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromecast_buildflags__android_arm64
@@ -5461,6 +5817,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromecast_buildflags__android_x86
@@ -5481,6 +5840,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromecast_buildflags__android_x86_64
@@ -5501,6 +5863,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromecast_buildflags__host
@@ -5523,6 +5888,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromeos_buildflags__android_arm
@@ -5543,6 +5911,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromeos_buildflags__android_arm64
@@ -5563,6 +5934,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromeos_buildflags__android_x86
@@ -5583,6 +5957,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromeos_buildflags__android_x86_64
@@ -5603,6 +5980,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build:chromeos_buildflags__host
@@ -5625,6 +6005,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build/config/compiler:compiler_buildflags__android_arm
@@ -5645,6 +6028,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build/config/compiler:compiler_buildflags__android_arm64
@@ -5665,6 +6051,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build/config/compiler:compiler_buildflags__android_x86
@@ -5685,6 +6074,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build/config/compiler:compiler_buildflags__android_x86_64
@@ -5705,6 +6097,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //build/config/compiler:compiler_buildflags__host
@@ -5727,6 +6122,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //buildtools/third_party/libc++:libc++
@@ -6042,6 +6440,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:buildflags__android_arm64
@@ -6062,6 +6463,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:buildflags__android_x86
@@ -6082,6 +6486,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:buildflags__android_x86_64
@@ -6102,6 +6509,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet
@@ -6192,6 +6602,7 @@
     linker_scripts: [
         "base/android/library_loader/anchor_functions.lds",
     ],
+    stem: "libcronet.109.0.5386.0",
     target: {
         android_arm: {
             generated_headers: [
@@ -6310,8 +6721,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/cronet/android/cronet_jni_headers " +
          "--includes " +
@@ -6351,6 +6760,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_headers__android_arm64
@@ -6365,8 +6777,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/cronet/android/cronet_jni_headers " +
          "--includes " +
@@ -6406,6 +6816,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_headers__android_x86
@@ -6420,8 +6833,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/cronet/android/cronet_jni_headers " +
          "--includes " +
@@ -6461,6 +6872,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_headers__android_x86_64
@@ -6475,8 +6889,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/cronet/android/cronet_jni_headers " +
          "--includes " +
@@ -6516,6 +6928,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_registration__android_arm
@@ -6824,6 +7239,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_registration__android_arm64
@@ -7132,6 +7550,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_registration__android_x86
@@ -7440,6 +7861,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_jni_registration__android_x86_64
@@ -7748,6 +8172,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet/android:cronet_static
@@ -7913,6 +8340,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_buildflags__android_arm64
@@ -7933,6 +8363,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_buildflags__android_x86
@@ -7953,6 +8386,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_buildflags__android_x86_64
@@ -7973,6 +8409,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_common
@@ -8169,6 +8608,9 @@
         "chrome/VERSION",
         "components/cronet/version.h.in",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_version_header_action__android_arm64
@@ -8192,6 +8634,9 @@
         "chrome/VERSION",
         "components/cronet/version.h.in",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_version_header_action__android_x86
@@ -8215,6 +8660,9 @@
         "chrome/VERSION",
         "components/cronet/version.h.in",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:cronet_version_header_action__android_x86_64
@@ -8238,6 +8686,9 @@
         "chrome/VERSION",
         "components/cronet/version.h.in",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/cronet:metrics_util
@@ -8713,6 +9164,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/prefs/android:jni_headers__android_arm
@@ -8723,8 +9177,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/prefs/android/jni_headers " +
          "--includes " +
@@ -8744,6 +9196,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/prefs/android:jni_headers__android_arm64
@@ -8754,8 +9209,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/prefs/android/jni_headers " +
          "--includes " +
@@ -8775,6 +9228,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/prefs/android:jni_headers__android_x86
@@ -8785,8 +9241,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/prefs/android/jni_headers " +
          "--includes " +
@@ -8806,6 +9260,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/prefs/android:jni_headers__android_x86_64
@@ -8816,8 +9273,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/components/prefs/android/jni_headers " +
          "--includes " +
@@ -8837,6 +9292,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //components/prefs:prefs
@@ -8995,6 +9453,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //crypto:buildflags__android_arm64
@@ -9015,6 +9476,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //crypto:buildflags__android_x86
@@ -9035,6 +9499,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //crypto:buildflags__android_x86_64
@@ -9055,6 +9522,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //crypto:buildflags__host
@@ -9077,6 +9547,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //crypto:crypto
@@ -9263,6 +9736,10 @@
         "-fvisibility=hidden",
     ],
     stl: "none",
+    apex_available: [
+        "com.android.tethering",
+    ],
+    min_sdk_version: "29",
     target: {
         android: {
             header_libs: [
@@ -9652,6 +10129,9 @@
         "net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf",
         "net/tools/dafsa/make_dafsa.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/base/registry_controlled_domains:registry_controlled_domains__android_arm64
@@ -9703,6 +10183,9 @@
         "net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf",
         "net/tools/dafsa/make_dafsa.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/base/registry_controlled_domains:registry_controlled_domains__android_x86
@@ -9754,6 +10237,9 @@
         "net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf",
         "net/tools/dafsa/make_dafsa.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/base/registry_controlled_domains:registry_controlled_domains__android_x86_64
@@ -9805,6 +10291,9 @@
         "net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf",
         "net/tools/dafsa/make_dafsa.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:buildflags__android_arm
@@ -9825,6 +10314,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:buildflags__android_arm64
@@ -9845,6 +10337,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:buildflags__android_x86
@@ -9865,6 +10360,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:buildflags__android_x86_64
@@ -9885,6 +10383,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:constants
@@ -9970,6 +10471,9 @@
         "net/data/ssl/chrome_root_store/root_store.certs",
         "net/data/ssl/chrome_root_store/root_store.textproto",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/data/ssl/chrome_root_store:gen_root_store_inc__android_arm64
@@ -9993,6 +10497,9 @@
         "net/data/ssl/chrome_root_store/root_store.certs",
         "net/data/ssl/chrome_root_store/root_store.textproto",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/data/ssl/chrome_root_store:gen_root_store_inc__android_x86
@@ -10016,6 +10523,9 @@
         "net/data/ssl/chrome_root_store/root_store.certs",
         "net/data/ssl/chrome_root_store/root_store.textproto",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/data/ssl/chrome_root_store:gen_root_store_inc__android_x86_64
@@ -10039,6 +10549,9 @@
         "net/data/ssl/chrome_root_store/root_store.certs",
         "net/data/ssl/chrome_root_store/root_store.textproto",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/dns:dns
@@ -11011,6 +11524,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:ios_cronet_buildflags__android_arm64
@@ -11031,6 +11547,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:ios_cronet_buildflags__android_x86
@@ -11051,6 +11570,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:ios_cronet_buildflags__android_x86_64
@@ -11071,6 +11593,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:isolation_info_proto
@@ -11086,6 +11611,9 @@
     out: [
         "external/chromium_org/net/base/isolation_info.pb.cc",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:isolation_info_proto
@@ -11106,6 +11634,9 @@
         "net/base",
         "protos",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net
@@ -11982,8 +12513,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/net/net_jni_headers " +
          "--includes " +
@@ -12063,6 +12592,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net_jni_headers__android_arm64
@@ -12085,8 +12617,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/net/net_jni_headers " +
          "--includes " +
@@ -12166,6 +12696,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net_jni_headers__android_x86
@@ -12188,8 +12721,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/net/net_jni_headers " +
          "--includes " +
@@ -12269,6 +12800,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net_jni_headers__android_x86_64
@@ -12291,8 +12825,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/net/net_jni_headers " +
          "--includes " +
@@ -12372,6 +12904,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net_nqe_proto
@@ -12387,6 +12922,9 @@
     out: [
         "external/chromium_org/net/nqe/proto/network_id_proto.pb.cc",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net_nqe_proto
@@ -12407,6 +12945,9 @@
         "net/nqe/proto",
         "protos",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net:net_public_deps
@@ -12596,6 +13137,9 @@
         "external/chromium_org/net/third_party/quiche/src/quiche/quic/core/proto/crypto_server_config.pb.cc",
         "external/chromium_org/net/third_party/quiche/src/quiche/quic/core/proto/source_address_token.pb.cc",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/third_party/quiche:net_quic_proto
@@ -12620,6 +13164,9 @@
         "net/third_party/quiche/src",
         "protos",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/third_party/quiche:net_quic_test_tools_proto
@@ -12635,6 +13182,9 @@
     out: [
         "external/chromium_org/net/third_party/quiche/src/quiche/quic/test_tools/send_algorithm_test_result.pb.cc",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/third_party/quiche:net_quic_test_tools_proto
@@ -12655,6 +13205,9 @@
         "net/third_party/quiche/src/quiche/quic/test_tools",
         "protos",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //net/third_party/quiche:quiche
@@ -23510,6 +24063,9 @@
         "external/chromium_org/third_party/metrics_proto/user_action_event.pb.cc",
         "external/chromium_org/third_party/metrics_proto/user_demographics.pb.cc",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //third_party/metrics_proto:metrics_proto
@@ -23582,6 +24138,9 @@
         "protos",
         "third_party/metrics_proto",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //third_party/modp_b64:modp_b64
@@ -24673,6 +25232,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:buildflags__android_arm64
@@ -24693,6 +25255,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:buildflags__android_x86
@@ -24713,6 +25278,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:buildflags__android_x86_64
@@ -24733,6 +25301,9 @@
     tool_files: [
         "build/write_buildflag_header.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:url
@@ -24891,8 +25462,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/url/url_jni_headers " +
          "--includes " +
@@ -24917,6 +25486,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:url_jni_headers__android_arm64
@@ -24928,8 +25500,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/url/url_jni_headers " +
          "--includes " +
@@ -24954,6 +25524,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:url_jni_headers__android_x86
@@ -24965,8 +25538,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/url/url_jni_headers " +
          "--includes " +
@@ -24991,6 +25562,9 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
 // GN: //url:url_jni_headers__android_x86_64
@@ -25002,8 +25576,6 @@
     ],
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
-         " " +
-         " " +
          "--output_dir " +
          "$(genDir)/url/url_jni_headers " +
          "--includes " +
@@ -25028,5 +25600,8 @@
         "build/android/gyp/util/build_utils.py",
         "build/gn_helpers.py",
     ],
+    apex_available: [
+        "com.android.tethering",
+    ],
 }
 
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 466eaf4..10fc1a8 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -29,6 +29,7 @@
 import collections
 import json
 import logging as log
+import operator
 import os
 import re
 import sys
@@ -142,6 +143,9 @@
         lambda x: None,
 }
 
+# Name of tethering apex module
+tethering_apex = "com.android.tethering"
+
 # ----------------------------------------------------------------------------
 # End of configuration.
 # ----------------------------------------------------------------------------
@@ -305,6 +309,8 @@
     self.stubs = {}
     self.cppflags = set()
     self.rtti = False
+    # Name of the output. Used for setting .so file name for libcronet
+    self.stem = None
 
   def to_string(self, output):
     if self.comment:
@@ -351,6 +357,7 @@
     self._output_field(output, 'proto')
     self._output_field(output, 'linker_scripts')
     self._output_field(output, 'cppflags')
+    self._output_field(output, 'stem')
     if self.rtti:
       self._output_field(output, 'rtti')
 
@@ -546,6 +553,9 @@
   # without explictily exporting the include dir.
   header_module.export_include_dirs.add(target.proto_in_dir)
 
+  # This function does not return header_module so setting apex_available attribute here.
+  header_module.apex_available.add(tethering_apex)
+
   source_module.genrule_srcs.add(':' + source_module.name)
   source_module.genrule_headers.add(header_module.name)
 
@@ -608,6 +618,122 @@
 
   blueprint.add_module(module)
 
+
+class BaseActionSanitizer():
+  def __init__(self, target):
+    # Just to be on the safe side, create a deep-copy.
+    self.target = copy.deepcopy(target)
+    # Convert ['--param=value'] to ['--param', 'value'] for consistency.
+    self.target.args = [str for it in self.target.args for str in it.split('=')]
+
+  # There are three types of args:
+  # - flags (--flag)
+  # - value args (--arg value)
+  # - list args (--arg value1 --arg value2)
+  # Some functions provide special implementations for each type, while others
+  # work on all of them.
+  def _has_arg(self, arg):
+    return arg in self.target.args
+
+  # Whether an arg has multiple occurences (e.g. see argparse action='append')
+  def _is_list_arg(self, arg):
+    return operator.countOf(arg, self.target.args) > 1
+
+  def _is_value_arg(self, arg):
+    # TODO: we'll probably need a set of helper functions to deal with append
+    # args as well.
+    assert(not self._is_list_arg(arg))
+    i = self.target.args.index(arg)
+    return not self.target.args[i + 1].startswith('--')
+
+  def _get_value_arg(self, arg):
+    assert(self._is_value_arg(arg))
+    i = self.target.args.index(arg)
+    return self.target.args[i + 1]
+
+  # used to check whether a function call should cause an error when an arg is
+  # missing.
+  def _should_fail_silently(self, arg, throw_if_absent):
+    return not throw_if_absent and not self._has_arg(arg)
+
+  def _set_value_arg(self, arg, value, throw_if_absent = True):
+    if self._should_fail_silently(arg, throw_if_absent):
+      return
+    assert(self._is_value_arg(arg))
+    i = self.target.args.index(arg)
+    self.target.args[i + 1] = value
+
+  def _update_value_arg(self, arg, func, throw_if_absent = True):
+    if self._should_fail_silently(arg, throw_if_absent):
+      return
+    self._set_value_arg(arg, func(self._get_value_arg(arg)))
+
+  def _set_arg_at(self, position, value):
+    self.target.args[position] = value
+
+  def _delete_value_arg(self, arg, throw_if_absent = True):
+    if self._should_fail_silently(arg, throw_if_absent):
+      return
+    assert(self._is_value_arg(arg))
+    i = self.target.args.index(arg)
+    self.target.args.pop(i)
+    self.target.args.pop(i)
+
+  def _append_arg(self, arg, value):
+    self.target.args.append(arg)
+    self.target.args.append(value)
+
+  # wrap filename in location tag.
+  def _add_location_tag(self, filename):
+    return '$(location %s)' % filename
+
+  # applies common directory transformation that *should* be universally applicable.
+  # TODO: verify if it actually *is* universally applicable.
+  def _sanitize_filepath(self, filepath):
+    # Careful, order matters!
+    # delete all leading ../
+    filepath = re.sub('^(\.\./)+', '', filepath)
+    filepath = re.sub('^gen/jni_headers', '$(genDir)', filepath)
+    filepath = re.sub('^gen', '$(genDir)', filepath)
+    return filepath
+
+  def get_args(self):
+    return self.target.args
+
+class WriteBuildDateHeaderSanitizer(BaseActionSanitizer):
+  def get_args(self):
+    self._set_arg_at(0, '$(out)')
+    return super().get_args()
+
+class WriteBuildFlagHeaderSanitizer(BaseActionSanitizer):
+  def get_args(self):
+    self._set_value_arg('--gen-dir', '.')
+    self._set_value_arg('--output', '$(out)')
+    return super().get_args()
+
+class JniGeneratorSanitizer(BaseActionSanitizer):
+  def get_args(self):
+    self._update_value_arg('--jar_file', self._sanitize_filepath, False)
+    self._update_value_arg('--jar_file', self._add_location_tag, False)
+    if self._has_arg('--jar_file'):
+      self._append_arg('--javap', '$$(find out/.path -name javap)')
+    self._update_value_arg('--output_dir', self._sanitize_filepath)
+    self._update_value_arg('--includes', self._sanitize_filepath, False)
+    self._delete_value_arg('--prev_output_dir', False)
+    return super().get_args()
+
+
+def get_action_sanitizer(target):
+  if target.script == "//build/write_buildflag_header.py":
+    return WriteBuildFlagHeaderSanitizer(target)
+  elif target.script == "//build/write_build_date_header.py":
+    return WriteBuildDateHeaderSanitizer(target)
+  elif target.script == '//base/android/jni_generator/jni_generator.py':
+    return JniGeneratorSanitizer(target)
+  else:
+    # TODO: throw exception here once all script hacks have been converted.
+    return BaseActionSanitizer(target)
+
 def create_action_foreach_modules(blueprint, target):
   """ The following assumes that rebase_path exists in the args.
   The args of an action_foreach contains hints about which output files are generated
@@ -645,30 +771,12 @@
   bp_module_name = label_to_module_name(target.name)
   module = Module('cc_genrule', bp_module_name, target.name)
 
-  # Convert ['--param=value'] to ['--param', 'value'] for consistency.
-  # TODO: we may want to only do this for python scripts arguments. If argparse
-  # is used, this transformation is safe.
-  target.args = [str for it in target.args for str in it.split('=')]
+  sanitizer = get_action_sanitizer(target)
+  target.args = sanitizer.get_args()
 
-  if target.script == "//build/write_buildflag_header.py":
-    # write_buildflag_header.py writes result to args.genDir/args.output
-    # So, override args.genDir by '.' so that args.output=$(out) works
+  if target.script == '//base/android/jni_generator/jni_generator.py':
     for i, val in enumerate(target.args):
-      if val == '--gen-dir':
-        target.args[i + 1] = '.'
-      elif val == '--output':
-        target.args[i + 1] = '$(out)'
-
-  elif target.script == '//build/write_build_date_header.py':
-    target.args[0] = '$(out)'
-
-  elif target.script == '//base/android/jni_generator/jni_generator.py':
-    needs_javap = False
-    for i, val in enumerate(target.args):
-      if val == '--output_dir':
-        # replace --output_dir gen/jni_headers/... with --output_dir $(genDir)/...
-        target.args[i + 1] = re.sub('^gen/jni_headers', '$(genDir)', target.args[i + 1])
-      elif val == '--input_file':
+      if val == '--input_file':
         # --input_file supports both .class specifiers or source files as arguments.
         # Only source files need to be wrapped inside a $(location <label>) tag.
         if re.match('.*\.class$', target.args[i + 1]):
@@ -677,22 +785,6 @@
         # TODO: put inside function
         filename = re.sub('^\.\./\.\./', '', target.args[i + 1])
         target.args[i + 1] = '$(location %s)' % filename
-      elif val == '--includes' and 'jni_generator_helper' in target.args[i + 1]:
-        # delete all leading ../
-        target.args[i + 1] = re.sub('^(\.\./)+', '', target.args[i + 1])
-      elif val == '--prev_output_dir':
-        # this is not needed for aosp builds.
-        target.args[i] = ''
-        target.args[i + 1] = ''
-      elif val == '--jar_file':
-        # delete leading ../../ and add path to javap
-        filename = re.sub('^\.\./\.\./', '', target.args[i + 1])
-        target.args[i + 1] = '$(location %s)' % filename
-        needs_javap = True
-
-    if needs_javap:
-      target.args.append('--javap')
-      target.args.append('$$(find out/.path -name javap)')
     # fix target.output directory to match #include statements.
     target.outputs = [re.sub('^jni_headers/', '', out) for out in target.outputs]
 
@@ -931,6 +1023,9 @@
   module.host_supported = target.host_supported()
   module.device_supported = target.device_supported()
 
+  if module.is_genrule():
+    module.apex_available.add(tethering_apex)
+
   if module.is_compiled():
     # Don't try to inject library/source dependencies into genrules or
     # filegroups because they are not compiled in the traditional sense.
@@ -954,6 +1049,13 @@
   if module.type == 'cc_library_static':
     module.export_generated_headers = module.generated_headers
 
+  if module.name == 'cronet_aml_components_cronet_android_cronet':
+    if target.output_name is None:
+      raise Error('Failed to get output_name for libcronet name')
+    # .so file name needs to match with CronetLibraryLoader.java (e.g. libcronet.109.0.5386.0.so)
+    # So setting the output name based on the output_name from the desc.json
+    module.stem = 'lib' + target.output_name
+
   # dep_name is an unmangled GN target name (e.g. //foo:bar(toolchain)).
   # Currently, only one module is generated from target even target has multiple toolchains.
   # And module is generated based on the first visited target.
@@ -1104,6 +1206,8 @@
       '-UANDROID',
   ]
   defaults.stl = 'none'
+  defaults.min_sdk_version = 29
+  defaults.apex_available.add(tethering_apex)
   blueprint.add_module(defaults)
 
   for target in targets:
diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index 71d0d23..80c90f6 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -155,6 +155,9 @@
       self.is_finalized = False
       self.arch = dict()
 
+      # This is used to get the name/version of libcronet
+      self.output_name = None
+
     def host_supported(self):
       return 'host' in self.arch
 
@@ -347,6 +350,7 @@
     target.ldflags.update(desc.get('ldflags', []))
     target.arch[arch].defines.update(desc.get('defines', []))
     target.arch[arch].include_dirs.update(desc.get('include_dirs', []))
+    target.output_name = desc.get('output_name', None)
     if "-frtti" in target.arch[arch].cflags:
       target.rtti = True