Merge "bpf netd.c - switch from 'int direction' to 'bool egress'"
diff --git a/bpf_progs/clatd.c b/bpf_progs/clatd.c
index b8c6131..22726ac 100644
--- a/bpf_progs/clatd.c
+++ b/bpf_progs/clatd.c
@@ -111,8 +111,8 @@
             return TC_ACT_PIPE;
         const struct frag_hdr *frag = (const struct frag_hdr *)(ip6 + 1);
         proto = frag->nexthdr;
-        // Trivial hash of 32-bit IPv6 ID field into 16-bit IPv4 field.
-        ip_id = (frag->identification) ^ (frag->identification >> 16);
+        // Per RFC6145 use bottom 16-bits of 32-bit IPv6 ID field for 16-bit IPv4 field.
+        ip_id = frag->identification;
         // Conversion of 16-bit IPv6 frag offset to 16-bit IPv4 frag offset field.
         // IPv6 is '13 bits of offset in multiples of 8' + 2 zero bits + more fragment bit
         // IPv4 is zero bit + don't frag bit + more frag bit + '13 bits of offset in multiples of 8'
diff --git a/bpf_progs/netd.c b/bpf_progs/netd.c
index 00417e3..8e99b8d 100644
--- a/bpf_progs/netd.c
+++ b/bpf_progs/netd.c
@@ -80,6 +80,9 @@
 // only valid indexes are [0..CONFIGURATION_MAP_SIZE-1]
 DEFINE_BPF_MAP_RO_NETD(configuration_map, ARRAY, uint32_t, uint32_t, CONFIGURATION_MAP_SIZE)
 
+// TODO: consider whether we can merge some of these maps
+// for example it might be possible to merge 2 or 3 of:
+//   uid_counterset_map + uid_owner_map + uid_permission_map
 DEFINE_BPF_MAP_RW_NETD(cookie_tag_map, HASH, uint64_t, UidTagValue, COOKIE_UID_MAP_SIZE)
 DEFINE_BPF_MAP_NO_NETD(uid_counterset_map, HASH, uint32_t, uint8_t, UID_COUNTERSET_MAP_SIZE)
 DEFINE_BPF_MAP_NO_NETD(app_uid_stats_map, HASH, uint32_t, StatsValue, APP_STATS_MAP_SIZE)
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index 4687c4a..a212a14 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -14,9 +14,9 @@
 //
 // This file is automatically generated by gen_android_bp. Do not edit.
 
-// GN: //base/allocator:buildflags
+// GN: //base/allocator:buildflags__android_x86
 genrule {
-    name: "cronet_aml_base_allocator_buildflags",
+    name: "cronet_aml_base_allocator_buildflags__android_x86",
     cmd: "echo '--flags USE_PARTITION_ALLOC=\"false\" USE_ALLOCATOR_SHIM=\"true\" USE_PARTITION_ALLOC_AS_MALLOC=\"false\" USE_BACKUP_REF_PTR=\"false\" USE_ASAN_BACKUP_REF_PTR=\"false\" USE_PARTITION_ALLOC_AS_GWP_ASAN_STORE=\"false\" USE_MTE_CHECKED_PTR=\"false\" FORCE_ENABLE_RAW_PTR_EXCLUSION=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -34,9 +34,49 @@
     ],
 }
 
-// GN: //base/allocator/partition_allocator:chromecast_buildflags
+// GN: //base/allocator:buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags",
+    name: "cronet_aml_base_allocator_buildflags__android_x86_64",
+    cmd: "echo '--flags USE_PARTITION_ALLOC=\"false\" USE_ALLOCATOR_SHIM=\"true\" USE_PARTITION_ALLOC_AS_MALLOC=\"false\" USE_BACKUP_REF_PTR=\"false\" USE_ASAN_BACKUP_REF_PTR=\"false\" USE_PARTITION_ALLOC_AS_GWP_ASAN_STORE=\"false\" USE_MTE_CHECKED_PTR=\"false\" FORCE_ENABLE_RAW_PTR_EXCLUSION=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator:buildflags__host
+genrule {
+    name: "cronet_aml_base_allocator_buildflags__host",
+    cmd: "echo '--flags USE_PARTITION_ALLOC=\"false\" USE_ALLOCATOR_SHIM=\"true\" USE_PARTITION_ALLOC_AS_MALLOC=\"false\" USE_BACKUP_REF_PTR=\"false\" USE_ASAN_BACKUP_REF_PTR=\"false\" USE_PARTITION_ALLOC_AS_GWP_ASAN_STORE=\"false\" USE_MTE_CHECKED_PTR=\"false\" FORCE_ENABLE_RAW_PTR_EXCLUSION=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:chromecast_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
     cmd: "echo '--flags PA_IS_CAST_ANDROID=\"false\" PA_IS_CASTOS=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -54,9 +94,49 @@
     ],
 }
 
-// GN: //base/allocator/partition_allocator:chromeos_buildflags
+// GN: //base/allocator/partition_allocator:chromecast_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags",
+    name: "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+    cmd: "echo '--flags PA_IS_CAST_ANDROID=\"false\" PA_IS_CASTOS=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:chromecast_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/chromecast_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:chromecast_buildflags__host
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+    cmd: "echo '--flags PA_IS_CAST_ANDROID=\"false\" PA_IS_CASTOS=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:chromecast_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/chromecast_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:chromeos_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
     cmd: "echo '--flags PA_IS_CHROMEOS_ASH=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -74,9 +154,49 @@
     ],
 }
 
-// GN: //base/allocator/partition_allocator:debugging_buildflags
+// GN: //base/allocator/partition_allocator:chromeos_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_allocator_partition_allocator_debugging_buildflags",
+    name: "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+    cmd: "echo '--flags PA_IS_CHROMEOS_ASH=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:chromeos_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/chromeos_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:chromeos_buildflags__host
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+    cmd: "echo '--flags PA_IS_CHROMEOS_ASH=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:chromeos_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/chromeos_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:debugging_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
     cmd: "echo '--flags PA_DCHECK_IS_ON=\"true\" PA_EXPENSIVE_DCHECKS_ARE_ON=\"true\" PA_DCHECK_IS_CONFIGURABLE=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -94,9 +214,89 @@
     ],
 }
 
-// GN: //base/allocator/partition_allocator:logging_buildflags
+// GN: //base/allocator/partition_allocator:debugging_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_allocator_partition_allocator_logging_buildflags",
+    name: "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+    cmd: "echo '--flags PA_DCHECK_IS_ON=\"true\" PA_EXPENSIVE_DCHECKS_ARE_ON=\"true\" PA_DCHECK_IS_CONFIGURABLE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:debugging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/partition_alloc_base/debug/debugging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:debugging_buildflags__host
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+    cmd: "echo '--flags PA_DCHECK_IS_ON=\"true\" PA_EXPENSIVE_DCHECKS_ARE_ON=\"true\" PA_DCHECK_IS_CONFIGURABLE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:debugging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/partition_alloc_base/debug/debugging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:logging_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+    cmd: "echo '--flags PA_ENABLE_LOG_ERROR_NOT_REACHED=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:logging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/logging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:logging_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+    cmd: "echo '--flags PA_ENABLE_LOG_ERROR_NOT_REACHED=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:logging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/logging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:logging_buildflags__host
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
     cmd: "echo '--flags PA_ENABLE_LOG_ERROR_NOT_REACHED=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -170,18 +370,38 @@
     ],
     host_supported: true,
     generated_headers: [
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
     ],
     export_generated_headers: [
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
     ],
     defaults: [
         "cronet_aml_defaults",
@@ -202,7 +422,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -258,15 +477,14 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
 }
 
-// GN: //base/allocator/partition_allocator:partition_alloc_buildflags
+// GN: //base/allocator/partition_allocator:partition_alloc_buildflags__android_x86
 genrule {
-    name: "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags",
+    name: "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
     cmd: "echo '--flags ENABLE_PARTITION_ALLOC_AS_MALLOC_SUPPORT=\"true\" ENABLE_BACKUP_REF_PTR_SUPPORT=\"true\" ENABLE_BACKUP_REF_PTR_SLOW_CHECKS=\"false\" ENABLE_DANGLING_RAW_PTR_CHECKS=\"false\" PUT_REF_COUNT_IN_PREVIOUS_SLOT=\"true\" ENABLE_GWP_ASAN_SUPPORT=\"true\" ENABLE_MTE_CHECKED_PTR_SUPPORT=\"false\" RECORD_ALLOC_INFO=\"false\" USE_FREESLOT_BITMAP=\"false\" GLUE_CORE_POOLS=\"false\" ENABLE_SHADOW_METADATA_FOR_64_BITS_POINTERS=\"false\" STARSCAN=\"true\" PA_USE_BASE_TRACING=\"true\" ENABLE_PKEYS=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -284,9 +502,49 @@
     ],
 }
 
-// GN: //base:anchor_functions_buildflags
+// GN: //base/allocator/partition_allocator:partition_alloc_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_anchor_functions_buildflags",
+    name: "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_PARTITION_ALLOC_AS_MALLOC_SUPPORT=\"true\" ENABLE_BACKUP_REF_PTR_SUPPORT=\"true\" ENABLE_BACKUP_REF_PTR_SLOW_CHECKS=\"false\" ENABLE_DANGLING_RAW_PTR_CHECKS=\"false\" PUT_REF_COUNT_IN_PREVIOUS_SLOT=\"true\" ENABLE_GWP_ASAN_SUPPORT=\"true\" ENABLE_MTE_CHECKED_PTR_SUPPORT=\"false\" RECORD_ALLOC_INFO=\"false\" USE_FREESLOT_BITMAP=\"false\" GLUE_CORE_POOLS=\"false\" ENABLE_SHADOW_METADATA_FOR_64_BITS_POINTERS=\"false\" STARSCAN=\"true\" PA_USE_BASE_TRACING=\"true\" ENABLE_PKEYS=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:partition_alloc_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/partition_alloc_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base/allocator/partition_allocator:partition_alloc_buildflags__host
+genrule {
+    name: "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+    cmd: "echo '--flags ENABLE_PARTITION_ALLOC_AS_MALLOC_SUPPORT=\"true\" ENABLE_BACKUP_REF_PTR_SUPPORT=\"true\" ENABLE_BACKUP_REF_PTR_SLOW_CHECKS=\"false\" ENABLE_DANGLING_RAW_PTR_CHECKS=\"false\" PUT_REF_COUNT_IN_PREVIOUS_SLOT=\"true\" ENABLE_GWP_ASAN_SUPPORT=\"true\" ENABLE_MTE_CHECKED_PTR_SUPPORT=\"false\" RECORD_ALLOC_INFO=\"false\" USE_FREESLOT_BITMAP=\"false\" GLUE_CORE_POOLS=\"false\" ENABLE_SHADOW_METADATA_FOR_64_BITS_POINTERS=\"false\" STARSCAN=\"true\" PA_USE_BASE_TRACING=\"true\" ENABLE_PKEYS=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base/allocator/partition_allocator:partition_alloc_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/allocator/partition_allocator/partition_alloc_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:anchor_functions_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_anchor_functions_buildflags__android_x86",
     cmd: "echo '--flags USE_LLD=\"true\" SUPPORTS_CODE_ORDERING=\"true\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -304,9 +562,86 @@
     ],
 }
 
-// GN: //base:android_runtime_jni_headers
+// GN: //base:anchor_functions_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_android_runtime_jni_headers",
+    name: "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
+    cmd: "echo '--flags USE_LLD=\"true\" SUPPORTS_CODE_ORDERING=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:anchor_functions_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/android/library_loader/anchor_functions_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:anchor_functions_buildflags__host
+genrule {
+    name: "cronet_aml_base_anchor_functions_buildflags__host",
+    cmd: "echo '--flags USE_LLD=\"true\" SUPPORTS_CODE_ORDERING=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:anchor_functions_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/android/library_loader/anchor_functions_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:android_runtime_jni_headers__android_x86
+genrule {
+    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 " +
+         "base/android/jni_generator/jni_generator_helper.h " +
+         "--jar_file " +
+         "$(location third_party/android_sdk/public/platforms/android-33/android.jar) " +
+         "--output_name " +
+         "Runnable_jni.h " +
+         "--output_name " +
+         "Runtime_jni.h " +
+         "--input_file " +
+         "java/lang/Runnable.class " +
+         "--input_file " +
+         "java/lang/Runtime.class " +
+         "--javap " +
+         "$$(find out/.path -name javap)",
+    out: [
+        "base/android_runtime_jni_headers/Runnable_jni.h",
+        "base/android_runtime_jni_headers/Runtime_jni.h",
+    ],
+    tool_files: [
+        "base/android/jni_generator/android_jar.classes",
+        "base/android/jni_generator/jni_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+        "third_party/android_sdk/public/platforms/android-33/android.jar",
+    ],
+}
+
+// GN: //base:android_runtime_jni_headers__android_x86_64
+genrule {
+    name: "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
     cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
          "long " +
          " " +
@@ -722,64 +1057,172 @@
     ],
     host_supported: true,
     generated_headers: [
-        "cronet_aml_base_allocator_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags",
-        "cronet_aml_base_anchor_functions_buildflags",
-        "cronet_aml_base_android_runtime_jni_headers",
-        "cronet_aml_base_base_jni_headers",
-        "cronet_aml_base_build_date",
-        "cronet_aml_base_cfi_buildflags",
-        "cronet_aml_base_clang_profiling_buildflags",
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_feature_list_buildflags",
-        "cronet_aml_base_ios_cronet_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_base_message_pump_buildflags",
-        "cronet_aml_base_orderfile_buildflags",
-        "cronet_aml_base_parsing_buildflags",
-        "cronet_aml_base_power_monitor_buildflags",
-        "cronet_aml_base_profiler_buildflags",
-        "cronet_aml_base_sanitizer_buildflags",
-        "cronet_aml_base_synchronization_buildflags",
-        "cronet_aml_base_tracing_buildflags",
-        "cronet_aml_build_branding_buildflags",
-        "cronet_aml_build_chromecast_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_build_config_compiler_compiler_buildflags",
+        "cronet_aml_base_allocator_buildflags__android_x86",
+        "cronet_aml_base_allocator_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+        "cronet_aml_base_anchor_functions_buildflags__android_x86",
+        "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
+        "cronet_aml_base_anchor_functions_buildflags__host",
+        "cronet_aml_base_android_runtime_jni_headers__android_x86",
+        "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
+        "cronet_aml_base_base_jni_headers__android_x86",
+        "cronet_aml_base_base_jni_headers__android_x86_64",
+        "cronet_aml_base_build_date__android_x86",
+        "cronet_aml_base_build_date__android_x86_64",
+        "cronet_aml_base_build_date__host",
+        "cronet_aml_base_cfi_buildflags__android_x86",
+        "cronet_aml_base_cfi_buildflags__android_x86_64",
+        "cronet_aml_base_cfi_buildflags__host",
+        "cronet_aml_base_clang_profiling_buildflags__android_x86",
+        "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
+        "cronet_aml_base_clang_profiling_buildflags__host",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_debugging_buildflags__host",
+        "cronet_aml_base_feature_list_buildflags__android_x86",
+        "cronet_aml_base_feature_list_buildflags__android_x86_64",
+        "cronet_aml_base_feature_list_buildflags__host",
+        "cronet_aml_base_ios_cronet_buildflags__android_x86",
+        "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
+        "cronet_aml_base_ios_cronet_buildflags__host",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__host",
+        "cronet_aml_base_message_pump_buildflags__android_x86",
+        "cronet_aml_base_message_pump_buildflags__android_x86_64",
+        "cronet_aml_base_message_pump_buildflags__host",
+        "cronet_aml_base_orderfile_buildflags__android_x86",
+        "cronet_aml_base_orderfile_buildflags__android_x86_64",
+        "cronet_aml_base_orderfile_buildflags__host",
+        "cronet_aml_base_parsing_buildflags__android_x86",
+        "cronet_aml_base_parsing_buildflags__android_x86_64",
+        "cronet_aml_base_parsing_buildflags__host",
+        "cronet_aml_base_power_monitor_buildflags__android_x86",
+        "cronet_aml_base_power_monitor_buildflags__android_x86_64",
+        "cronet_aml_base_power_monitor_buildflags__host",
+        "cronet_aml_base_profiler_buildflags__android_x86",
+        "cronet_aml_base_profiler_buildflags__android_x86_64",
+        "cronet_aml_base_profiler_buildflags__host",
+        "cronet_aml_base_sanitizer_buildflags__android_x86",
+        "cronet_aml_base_sanitizer_buildflags__android_x86_64",
+        "cronet_aml_base_sanitizer_buildflags__host",
+        "cronet_aml_base_synchronization_buildflags__android_x86",
+        "cronet_aml_base_synchronization_buildflags__android_x86_64",
+        "cronet_aml_base_synchronization_buildflags__host",
+        "cronet_aml_base_tracing_buildflags__android_x86",
+        "cronet_aml_base_tracing_buildflags__android_x86_64",
+        "cronet_aml_base_tracing_buildflags__host",
+        "cronet_aml_build_branding_buildflags__android_x86",
+        "cronet_aml_build_branding_buildflags__android_x86_64",
+        "cronet_aml_build_branding_buildflags__host",
+        "cronet_aml_build_chromecast_buildflags__android_x86",
+        "cronet_aml_build_chromecast_buildflags__android_x86_64",
+        "cronet_aml_build_chromecast_buildflags__host",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__host",
+        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
+        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
+        "cronet_aml_build_config_compiler_compiler_buildflags__host",
     ],
     export_generated_headers: [
-        "cronet_aml_base_allocator_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags",
-        "cronet_aml_base_anchor_functions_buildflags",
-        "cronet_aml_base_android_runtime_jni_headers",
-        "cronet_aml_base_base_jni_headers",
-        "cronet_aml_base_build_date",
-        "cronet_aml_base_cfi_buildflags",
-        "cronet_aml_base_clang_profiling_buildflags",
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_feature_list_buildflags",
-        "cronet_aml_base_ios_cronet_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_base_message_pump_buildflags",
-        "cronet_aml_base_orderfile_buildflags",
-        "cronet_aml_base_parsing_buildflags",
-        "cronet_aml_base_power_monitor_buildflags",
-        "cronet_aml_base_profiler_buildflags",
-        "cronet_aml_base_sanitizer_buildflags",
-        "cronet_aml_base_synchronization_buildflags",
-        "cronet_aml_base_tracing_buildflags",
-        "cronet_aml_build_branding_buildflags",
-        "cronet_aml_build_chromecast_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_build_config_compiler_compiler_buildflags",
+        "cronet_aml_base_allocator_buildflags__android_x86",
+        "cronet_aml_base_allocator_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+        "cronet_aml_base_anchor_functions_buildflags__android_x86",
+        "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
+        "cronet_aml_base_anchor_functions_buildflags__host",
+        "cronet_aml_base_android_runtime_jni_headers__android_x86",
+        "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
+        "cronet_aml_base_base_jni_headers__android_x86",
+        "cronet_aml_base_base_jni_headers__android_x86_64",
+        "cronet_aml_base_build_date__android_x86",
+        "cronet_aml_base_build_date__android_x86_64",
+        "cronet_aml_base_build_date__host",
+        "cronet_aml_base_cfi_buildflags__android_x86",
+        "cronet_aml_base_cfi_buildflags__android_x86_64",
+        "cronet_aml_base_cfi_buildflags__host",
+        "cronet_aml_base_clang_profiling_buildflags__android_x86",
+        "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
+        "cronet_aml_base_clang_profiling_buildflags__host",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_debugging_buildflags__host",
+        "cronet_aml_base_feature_list_buildflags__android_x86",
+        "cronet_aml_base_feature_list_buildflags__android_x86_64",
+        "cronet_aml_base_feature_list_buildflags__host",
+        "cronet_aml_base_ios_cronet_buildflags__android_x86",
+        "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
+        "cronet_aml_base_ios_cronet_buildflags__host",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__host",
+        "cronet_aml_base_message_pump_buildflags__android_x86",
+        "cronet_aml_base_message_pump_buildflags__android_x86_64",
+        "cronet_aml_base_message_pump_buildflags__host",
+        "cronet_aml_base_orderfile_buildflags__android_x86",
+        "cronet_aml_base_orderfile_buildflags__android_x86_64",
+        "cronet_aml_base_orderfile_buildflags__host",
+        "cronet_aml_base_parsing_buildflags__android_x86",
+        "cronet_aml_base_parsing_buildflags__android_x86_64",
+        "cronet_aml_base_parsing_buildflags__host",
+        "cronet_aml_base_power_monitor_buildflags__android_x86",
+        "cronet_aml_base_power_monitor_buildflags__android_x86_64",
+        "cronet_aml_base_power_monitor_buildflags__host",
+        "cronet_aml_base_profiler_buildflags__android_x86",
+        "cronet_aml_base_profiler_buildflags__android_x86_64",
+        "cronet_aml_base_profiler_buildflags__host",
+        "cronet_aml_base_sanitizer_buildflags__android_x86",
+        "cronet_aml_base_sanitizer_buildflags__android_x86_64",
+        "cronet_aml_base_sanitizer_buildflags__host",
+        "cronet_aml_base_synchronization_buildflags__android_x86",
+        "cronet_aml_base_synchronization_buildflags__android_x86_64",
+        "cronet_aml_base_synchronization_buildflags__host",
+        "cronet_aml_base_tracing_buildflags__android_x86",
+        "cronet_aml_base_tracing_buildflags__android_x86_64",
+        "cronet_aml_base_tracing_buildflags__host",
+        "cronet_aml_build_branding_buildflags__android_x86",
+        "cronet_aml_build_branding_buildflags__android_x86_64",
+        "cronet_aml_build_branding_buildflags__host",
+        "cronet_aml_build_chromecast_buildflags__android_x86",
+        "cronet_aml_build_chromecast_buildflags__android_x86_64",
+        "cronet_aml_build_chromecast_buildflags__host",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__host",
+        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
+        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
+        "cronet_aml_build_config_compiler_compiler_buildflags__host",
     ],
     defaults: [
         "cronet_aml_base_numerics_base_numerics",
@@ -920,7 +1363,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -932,10 +1374,6 @@
         "third_party/icu/source/common/",
         "third_party/icu/source/i18n/",
     ],
-    header_libs: [
-        "jni_headers",
-        "media_ndk_headers",
-    ],
     cpp_std: "c++20",
     target: {
         android: {
@@ -1142,15 +1580,279 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
 }
 
-// GN: //base:base_jni_headers
+// GN: //base:base_jni_headers__android_x86
 genrule {
-    name: "cronet_aml_base_base_jni_headers",
+    name: "cronet_aml_base_base_jni_headers__android_x86",
+    srcs: [
+        "base/android/java/src/org/chromium/base/ApkAssets.java",
+        "base/android/java/src/org/chromium/base/ApplicationStatus.java",
+        "base/android/java/src/org/chromium/base/BaseFeatureList.java",
+        "base/android/java/src/org/chromium/base/BuildInfo.java",
+        "base/android/java/src/org/chromium/base/BundleUtils.java",
+        "base/android/java/src/org/chromium/base/Callback.java",
+        "base/android/java/src/org/chromium/base/CommandLine.java",
+        "base/android/java/src/org/chromium/base/ContentUriUtils.java",
+        "base/android/java/src/org/chromium/base/CpuFeatures.java",
+        "base/android/java/src/org/chromium/base/EarlyTraceEvent.java",
+        "base/android/java/src/org/chromium/base/EventLog.java",
+        "base/android/java/src/org/chromium/base/FeatureList.java",
+        "base/android/java/src/org/chromium/base/Features.java",
+        "base/android/java/src/org/chromium/base/FieldTrialList.java",
+        "base/android/java/src/org/chromium/base/FileUtils.java",
+        "base/android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
+        "base/android/java/src/org/chromium/base/IntStringCallback.java",
+        "base/android/java/src/org/chromium/base/JNIUtils.java",
+        "base/android/java/src/org/chromium/base/JavaExceptionReporter.java",
+        "base/android/java/src/org/chromium/base/JavaHandlerThread.java",
+        "base/android/java/src/org/chromium/base/LocaleUtils.java",
+        "base/android/java/src/org/chromium/base/MemoryPressureListener.java",
+        "base/android/java/src/org/chromium/base/PathService.java",
+        "base/android/java/src/org/chromium/base/PathUtils.java",
+        "base/android/java/src/org/chromium/base/PowerMonitor.java",
+        "base/android/java/src/org/chromium/base/RadioUtils.java",
+        "base/android/java/src/org/chromium/base/SysUtils.java",
+        "base/android/java/src/org/chromium/base/ThreadUtils.java",
+        "base/android/java/src/org/chromium/base/TimezoneUtils.java",
+        "base/android/java/src/org/chromium/base/TraceEvent.java",
+        "base/android/java/src/org/chromium/base/UnguessableToken.java",
+        "base/android/java/src/org/chromium/base/jank_tracker/JankMetricUMARecorder.java",
+        "base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
+        "base/android/java/src/org/chromium/base/library_loader/LibraryPrefetcher.java",
+        "base/android/java/src/org/chromium/base/memory/JavaHeapDumpGenerator.java",
+        "base/android/java/src/org/chromium/base/metrics/NativeUmaRecorder.java",
+        "base/android/java/src/org/chromium/base/metrics/StatisticsRecorderAndroid.java",
+        "base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java",
+        "base/android/java/src/org/chromium/base/task/PostTask.java",
+        "base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java",
+    ],
+    cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
+         "long " +
+         " " +
+         " " +
+         "--output_dir " +
+         "$(genDir)/base/base_jni_headers " +
+         "--includes " +
+         "base/android/jni_generator/jni_generator_helper.h " +
+         "--use_proxy_hash " +
+         "--output_name " +
+         "ApkAssets_jni.h " +
+         "--output_name " +
+         "ApplicationStatus_jni.h " +
+         "--output_name " +
+         "BaseFeatureList_jni.h " +
+         "--output_name " +
+         "BuildInfo_jni.h " +
+         "--output_name " +
+         "BundleUtils_jni.h " +
+         "--output_name " +
+         "Callback_jni.h " +
+         "--output_name " +
+         "CommandLine_jni.h " +
+         "--output_name " +
+         "ContentUriUtils_jni.h " +
+         "--output_name " +
+         "CpuFeatures_jni.h " +
+         "--output_name " +
+         "EarlyTraceEvent_jni.h " +
+         "--output_name " +
+         "EventLog_jni.h " +
+         "--output_name " +
+         "FeatureList_jni.h " +
+         "--output_name " +
+         "Features_jni.h " +
+         "--output_name " +
+         "FieldTrialList_jni.h " +
+         "--output_name " +
+         "FileUtils_jni.h " +
+         "--output_name " +
+         "ImportantFileWriterAndroid_jni.h " +
+         "--output_name " +
+         "IntStringCallback_jni.h " +
+         "--output_name " +
+         "JNIUtils_jni.h " +
+         "--output_name " +
+         "JavaExceptionReporter_jni.h " +
+         "--output_name " +
+         "JavaHandlerThread_jni.h " +
+         "--output_name " +
+         "LocaleUtils_jni.h " +
+         "--output_name " +
+         "MemoryPressureListener_jni.h " +
+         "--output_name " +
+         "PathService_jni.h " +
+         "--output_name " +
+         "PathUtils_jni.h " +
+         "--output_name " +
+         "PowerMonitor_jni.h " +
+         "--output_name " +
+         "RadioUtils_jni.h " +
+         "--output_name " +
+         "SysUtils_jni.h " +
+         "--output_name " +
+         "ThreadUtils_jni.h " +
+         "--output_name " +
+         "TimezoneUtils_jni.h " +
+         "--output_name " +
+         "TraceEvent_jni.h " +
+         "--output_name " +
+         "UnguessableToken_jni.h " +
+         "--output_name " +
+         "JankMetricUMARecorder_jni.h " +
+         "--output_name " +
+         "LibraryLoader_jni.h " +
+         "--output_name " +
+         "LibraryPrefetcher_jni.h " +
+         "--output_name " +
+         "JavaHeapDumpGenerator_jni.h " +
+         "--output_name " +
+         "NativeUmaRecorder_jni.h " +
+         "--output_name " +
+         "StatisticsRecorderAndroid_jni.h " +
+         "--output_name " +
+         "ChildProcessService_jni.h " +
+         "--output_name " +
+         "PostTask_jni.h " +
+         "--output_name " +
+         "TaskRunnerImpl_jni.h " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/ApkAssets.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/ApplicationStatus.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/BaseFeatureList.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/BuildInfo.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/BundleUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/Callback.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/CommandLine.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/ContentUriUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/CpuFeatures.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/EarlyTraceEvent.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/EventLog.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/FeatureList.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/Features.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/FieldTrialList.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/FileUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/ImportantFileWriterAndroid.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/IntStringCallback.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/JNIUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/JavaExceptionReporter.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/JavaHandlerThread.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/LocaleUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/MemoryPressureListener.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/PathService.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/PathUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/PowerMonitor.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/RadioUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/SysUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/ThreadUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/TimezoneUtils.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/TraceEvent.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/UnguessableToken.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/jank_tracker/JankMetricUMARecorder.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/library_loader/LibraryPrefetcher.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/memory/JavaHeapDumpGenerator.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/metrics/NativeUmaRecorder.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/metrics/StatisticsRecorderAndroid.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/task/PostTask.java) " +
+         "--input_file " +
+         "$(location base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java)",
+    out: [
+        "base/base_jni_headers/ApkAssets_jni.h",
+        "base/base_jni_headers/ApplicationStatus_jni.h",
+        "base/base_jni_headers/BaseFeatureList_jni.h",
+        "base/base_jni_headers/BuildInfo_jni.h",
+        "base/base_jni_headers/BundleUtils_jni.h",
+        "base/base_jni_headers/Callback_jni.h",
+        "base/base_jni_headers/ChildProcessService_jni.h",
+        "base/base_jni_headers/CommandLine_jni.h",
+        "base/base_jni_headers/ContentUriUtils_jni.h",
+        "base/base_jni_headers/CpuFeatures_jni.h",
+        "base/base_jni_headers/EarlyTraceEvent_jni.h",
+        "base/base_jni_headers/EventLog_jni.h",
+        "base/base_jni_headers/FeatureList_jni.h",
+        "base/base_jni_headers/Features_jni.h",
+        "base/base_jni_headers/FieldTrialList_jni.h",
+        "base/base_jni_headers/FileUtils_jni.h",
+        "base/base_jni_headers/ImportantFileWriterAndroid_jni.h",
+        "base/base_jni_headers/IntStringCallback_jni.h",
+        "base/base_jni_headers/JNIUtils_jni.h",
+        "base/base_jni_headers/JankMetricUMARecorder_jni.h",
+        "base/base_jni_headers/JavaExceptionReporter_jni.h",
+        "base/base_jni_headers/JavaHandlerThread_jni.h",
+        "base/base_jni_headers/JavaHeapDumpGenerator_jni.h",
+        "base/base_jni_headers/LibraryLoader_jni.h",
+        "base/base_jni_headers/LibraryPrefetcher_jni.h",
+        "base/base_jni_headers/LocaleUtils_jni.h",
+        "base/base_jni_headers/MemoryPressureListener_jni.h",
+        "base/base_jni_headers/NativeUmaRecorder_jni.h",
+        "base/base_jni_headers/PathService_jni.h",
+        "base/base_jni_headers/PathUtils_jni.h",
+        "base/base_jni_headers/PostTask_jni.h",
+        "base/base_jni_headers/PowerMonitor_jni.h",
+        "base/base_jni_headers/RadioUtils_jni.h",
+        "base/base_jni_headers/StatisticsRecorderAndroid_jni.h",
+        "base/base_jni_headers/SysUtils_jni.h",
+        "base/base_jni_headers/TaskRunnerImpl_jni.h",
+        "base/base_jni_headers/ThreadUtils_jni.h",
+        "base/base_jni_headers/TimezoneUtils_jni.h",
+        "base/base_jni_headers/TraceEvent_jni.h",
+        "base/base_jni_headers/UnguessableToken_jni.h",
+    ],
+    tool_files: [
+        "base/android/jni_generator/android_jar.classes",
+        "base/android/jni_generator/jni_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+    ],
+}
+
+// GN: //base:base_jni_headers__android_x86_64
+genrule {
+    name: "cronet_aml_base_base_jni_headers__android_x86_64",
     srcs: [
         "base/android/java/src/org/chromium/base/ApkAssets.java",
         "base/android/java/src/org/chromium/base/ApplicationStatus.java",
@@ -1421,10 +2123,14 @@
     ],
     host_supported: true,
     generated_headers: [
-        "cronet_aml_build_chromeos_buildflags",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__host",
     ],
     export_generated_headers: [
-        "cronet_aml_build_chromeos_buildflags",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__host",
     ],
     defaults: [
         "cronet_aml_defaults",
@@ -1442,7 +2148,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -1475,15 +2180,14 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
 }
 
-// GN: //base:build_date
+// GN: //base:build_date__android_x86
 genrule {
-    name: "cronet_aml_base_build_date",
+    name: "cronet_aml_base_build_date__android_x86",
     cmd: "$(location build/write_build_date_header.py) $(out) " +
          "1664686800",
     out: [
@@ -1494,9 +2198,35 @@
     ],
 }
 
-// GN: //base:cfi_buildflags
+// GN: //base:build_date__android_x86_64
 genrule {
-    name: "cronet_aml_base_cfi_buildflags",
+    name: "cronet_aml_base_build_date__android_x86_64",
+    cmd: "$(location build/write_build_date_header.py) $(out) " +
+         "1664686800",
+    out: [
+        "base/generated_build_date.h",
+    ],
+    tool_files: [
+        "build/write_build_date_header.py",
+    ],
+}
+
+// GN: //base:build_date__host
+genrule {
+    name: "cronet_aml_base_build_date__host",
+    cmd: "$(location build/write_build_date_header.py) $(out) " +
+         "1664686800",
+    out: [
+        "base/generated_build_date.h",
+    ],
+    tool_files: [
+        "build/write_build_date_header.py",
+    ],
+}
+
+// GN: //base:cfi_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_cfi_buildflags__android_x86",
     cmd: "echo '--flags CFI_CAST_CHECK=\"false && false\" CFI_DIAG=\"false && false\" CFI_ICALL_CHECK=\"false && false\" CFI_ENFORCEMENT_TRAP=\"false && !false\" CFI_ENFORCEMENT_DIAGNOSTIC=\"false && false && !false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1514,9 +2244,49 @@
     ],
 }
 
-// GN: //base:clang_profiling_buildflags
+// GN: //base:cfi_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_clang_profiling_buildflags",
+    name: "cronet_aml_base_cfi_buildflags__android_x86_64",
+    cmd: "echo '--flags CFI_CAST_CHECK=\"false && false\" CFI_DIAG=\"false && false\" CFI_ICALL_CHECK=\"false && false\" CFI_ENFORCEMENT_TRAP=\"false && !false\" CFI_ENFORCEMENT_DIAGNOSTIC=\"false && false && !false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:cfi_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/cfi_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:cfi_buildflags__host
+genrule {
+    name: "cronet_aml_base_cfi_buildflags__host",
+    cmd: "echo '--flags CFI_CAST_CHECK=\"false && false\" CFI_DIAG=\"false && false\" CFI_ICALL_CHECK=\"false && false\" CFI_ENFORCEMENT_TRAP=\"false && !false\" CFI_ENFORCEMENT_DIAGNOSTIC=\"false && false && !false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:cfi_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/cfi_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:clang_profiling_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_clang_profiling_buildflags__android_x86",
     cmd: "echo '--flags CLANG_PROFILING=\"false\" CLANG_PROFILING_INSIDE_SANDBOX=\"false\" USE_CLANG_COVERAGE=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1534,9 +2304,49 @@
     ],
 }
 
-// GN: //base:debugging_buildflags
+// GN: //base:clang_profiling_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_debugging_buildflags",
+    name: "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
+    cmd: "echo '--flags CLANG_PROFILING=\"false\" CLANG_PROFILING_INSIDE_SANDBOX=\"false\" USE_CLANG_COVERAGE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:clang_profiling_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/clang_profiling_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:clang_profiling_buildflags__host
+genrule {
+    name: "cronet_aml_base_clang_profiling_buildflags__host",
+    cmd: "echo '--flags CLANG_PROFILING=\"false\" CLANG_PROFILING_INSIDE_SANDBOX=\"false\" USE_CLANG_COVERAGE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:clang_profiling_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/clang_profiling_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:debugging_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_debugging_buildflags__android_x86",
     cmd: "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"true\" UNSAFE_DEVELOPER_BUILD=\"true\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"true\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"true\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1554,9 +2364,49 @@
     ],
 }
 
-// GN: //base:feature_list_buildflags
+// GN: //base:debugging_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_feature_list_buildflags",
+    name: "cronet_aml_base_debugging_buildflags__android_x86_64",
+    cmd: "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"false\" UNSAFE_DEVELOPER_BUILD=\"true\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"true\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"true\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:debugging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/debug/debugging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:debugging_buildflags__host
+genrule {
+    name: "cronet_aml_base_debugging_buildflags__host",
+    cmd: "echo '--flags DCHECK_IS_CONFIGURABLE=\"false\" ENABLE_LOCATION_SOURCE=\"true\" ENABLE_PROFILING=\"false\" CAN_UNWIND_WITH_FRAME_POINTERS=\"true\" UNSAFE_DEVELOPER_BUILD=\"true\" CAN_UNWIND_WITH_CFI_TABLE=\"false\" EXCLUDE_UNWIND_TABLES=\"false\" ENABLE_GDBINIT_WARNING=\"true\" ENABLE_LLDBINIT_WARNING=\"false\" EXPENSIVE_DCHECKS_ARE_ON=\"true\" ENABLE_STACK_TRACE_LINE_NUMBERS=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:debugging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/debug/debugging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:feature_list_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_feature_list_buildflags__android_x86",
     cmd: "echo '--flags ENABLE_BANNED_BASE_FEATURE_PREFIX=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1574,9 +2424,49 @@
     ],
 }
 
-// GN: //base:ios_cronet_buildflags
+// GN: //base:feature_list_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_ios_cronet_buildflags",
+    name: "cronet_aml_base_feature_list_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_BANNED_BASE_FEATURE_PREFIX=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:feature_list_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/feature_list_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:feature_list_buildflags__host
+genrule {
+    name: "cronet_aml_base_feature_list_buildflags__host",
+    cmd: "echo '--flags ENABLE_BANNED_BASE_FEATURE_PREFIX=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:feature_list_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/feature_list_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:ios_cronet_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_ios_cronet_buildflags__android_x86",
     cmd: "echo '--flags CRONET_BUILD=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1594,9 +2484,49 @@
     ],
 }
 
-// GN: //base:logging_buildflags
+// GN: //base:ios_cronet_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_logging_buildflags",
+    name: "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
+    cmd: "echo '--flags CRONET_BUILD=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:ios_cronet_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/message_loop/ios_cronet_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:ios_cronet_buildflags__host
+genrule {
+    name: "cronet_aml_base_ios_cronet_buildflags__host",
+    cmd: "echo '--flags CRONET_BUILD=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:ios_cronet_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/message_loop/ios_cronet_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:logging_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_logging_buildflags__android_x86",
     cmd: "echo '--flags ENABLE_LOG_ERROR_NOT_REACHED=\"false\" USE_RUNTIME_VLOG=\"true\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1614,9 +2544,89 @@
     ],
 }
 
-// GN: //base:message_pump_buildflags
+// GN: //base:logging_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_message_pump_buildflags",
+    name: "cronet_aml_base_logging_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_LOG_ERROR_NOT_REACHED=\"false\" USE_RUNTIME_VLOG=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:logging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/logging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:logging_buildflags__host
+genrule {
+    name: "cronet_aml_base_logging_buildflags__host",
+    cmd: "echo '--flags ENABLE_LOG_ERROR_NOT_REACHED=\"false\" USE_RUNTIME_VLOG=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:logging_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/logging_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:message_pump_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_message_pump_buildflags__android_x86",
+    cmd: "echo '--flags ENABLE_MESSAGE_PUMP_EPOLL=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:message_pump_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/message_loop/message_pump_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:message_pump_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_base_message_pump_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_MESSAGE_PUMP_EPOLL=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:message_pump_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/message_loop/message_pump_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:message_pump_buildflags__host
+genrule {
+    name: "cronet_aml_base_message_pump_buildflags__host",
     cmd: "echo '--flags ENABLE_MESSAGE_PUMP_EPOLL=\"true\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1639,9 +2649,9 @@
     name: "cronet_aml_base_numerics_base_numerics",
 }
 
-// GN: //base:orderfile_buildflags
+// GN: //base:orderfile_buildflags__android_x86
 genrule {
-    name: "cronet_aml_base_orderfile_buildflags",
+    name: "cronet_aml_base_orderfile_buildflags__android_x86",
     cmd: "echo '--flags DEVTOOLS_INSTRUMENTATION_DUMPING=\"false\" ORDERFILE_INSTRUMENTATION=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1659,9 +2669,49 @@
     ],
 }
 
-// GN: //base:parsing_buildflags
+// GN: //base:orderfile_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_parsing_buildflags",
+    name: "cronet_aml_base_orderfile_buildflags__android_x86_64",
+    cmd: "echo '--flags DEVTOOLS_INSTRUMENTATION_DUMPING=\"false\" ORDERFILE_INSTRUMENTATION=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:orderfile_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/android/orderfile/orderfile_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:orderfile_buildflags__host
+genrule {
+    name: "cronet_aml_base_orderfile_buildflags__host",
+    cmd: "echo '--flags DEVTOOLS_INSTRUMENTATION_DUMPING=\"false\" ORDERFILE_INSTRUMENTATION=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:orderfile_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/android/orderfile/orderfile_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:parsing_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_parsing_buildflags__android_x86",
     cmd: "echo '--flags BUILD_RUST_JSON_PARSER=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1679,9 +2729,49 @@
     ],
 }
 
-// GN: //base:power_monitor_buildflags
+// GN: //base:parsing_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_power_monitor_buildflags",
+    name: "cronet_aml_base_parsing_buildflags__android_x86_64",
+    cmd: "echo '--flags BUILD_RUST_JSON_PARSER=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:parsing_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/parsing_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:parsing_buildflags__host
+genrule {
+    name: "cronet_aml_base_parsing_buildflags__host",
+    cmd: "echo '--flags BUILD_RUST_JSON_PARSER=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:parsing_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/parsing_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:power_monitor_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_power_monitor_buildflags__android_x86",
     cmd: "echo '--flags HAS_BATTERY_LEVEL_PROVIDER_IMPL=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1699,9 +2789,49 @@
     ],
 }
 
-// GN: //base:profiler_buildflags
+// GN: //base:power_monitor_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_profiler_buildflags",
+    name: "cronet_aml_base_power_monitor_buildflags__android_x86_64",
+    cmd: "echo '--flags HAS_BATTERY_LEVEL_PROVIDER_IMPL=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:power_monitor_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/power_monitor/power_monitor_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:power_monitor_buildflags__host
+genrule {
+    name: "cronet_aml_base_power_monitor_buildflags__host",
+    cmd: "echo '--flags HAS_BATTERY_LEVEL_PROVIDER_IMPL=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:power_monitor_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/power_monitor/power_monitor_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:profiler_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_profiler_buildflags__android_x86",
     cmd: "echo '--flags ENABLE_ARM_CFI_TABLE=\"false\" IOS_STACK_PROFILER_ENABLED=\"true\" USE_ANDROID_UNWINDER_V2=\"true\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1719,9 +2849,49 @@
     ],
 }
 
-// GN: //base:sanitizer_buildflags
+// GN: //base:profiler_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_sanitizer_buildflags",
+    name: "cronet_aml_base_profiler_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_ARM_CFI_TABLE=\"false\" IOS_STACK_PROFILER_ENABLED=\"true\" USE_ANDROID_UNWINDER_V2=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:profiler_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/profiler/profiler_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:profiler_buildflags__host
+genrule {
+    name: "cronet_aml_base_profiler_buildflags__host",
+    cmd: "echo '--flags ENABLE_ARM_CFI_TABLE=\"false\" IOS_STACK_PROFILER_ENABLED=\"true\" USE_ANDROID_UNWINDER_V2=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:profiler_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/profiler/profiler_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:sanitizer_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_sanitizer_buildflags__android_x86",
     cmd: "echo '--flags IS_HWASAN=\"false\" USING_SANITIZER=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1739,9 +2909,89 @@
     ],
 }
 
-// GN: //base:synchronization_buildflags
+// GN: //base:sanitizer_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_base_synchronization_buildflags",
+    name: "cronet_aml_base_sanitizer_buildflags__android_x86_64",
+    cmd: "echo '--flags IS_HWASAN=\"false\" USING_SANITIZER=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:sanitizer_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/sanitizer_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:sanitizer_buildflags__host
+genrule {
+    name: "cronet_aml_base_sanitizer_buildflags__host",
+    cmd: "echo '--flags IS_HWASAN=\"false\" USING_SANITIZER=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:sanitizer_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/sanitizer_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:synchronization_buildflags__android_x86
+genrule {
+    name: "cronet_aml_base_synchronization_buildflags__android_x86",
+    cmd: "echo '--flags ENABLE_MUTEX_PRIORITY_INHERITANCE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:synchronization_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/synchronization/synchronization_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:synchronization_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_base_synchronization_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_MUTEX_PRIORITY_INHERITANCE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:synchronization_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/synchronization/synchronization_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:synchronization_buildflags__host
+genrule {
+    name: "cronet_aml_base_synchronization_buildflags__host",
     cmd: "echo '--flags ENABLE_MUTEX_PRIORITY_INHERITANCE=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -1789,7 +3039,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -1822,7 +3071,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -1849,7 +3097,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -1882,7 +3129,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -1919,7 +3165,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -1928,13 +3173,6 @@
         "buildtools/third_party/libc++abi/trunk/include",
     ],
     cpp_std: "c++20",
-    target: {
-        host: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //base/third_party/xdg_mime:xdg_mime
@@ -1973,7 +3211,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -1982,13 +3219,6 @@
         "buildtools/third_party/libc++abi/trunk/include",
     ],
     cpp_std: "c++20",
-    target: {
-        host: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //base/third_party/xdg_user_dirs:xdg_user_dirs
@@ -2022,7 +3252,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -2031,18 +3260,11 @@
         "buildtools/third_party/libc++abi/trunk/include",
     ],
     cpp_std: "c++20",
-    target: {
-        host: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
-// GN: //base:tracing_buildflags
+// GN: //base:tracing_buildflags__android_x86
 genrule {
-    name: "cronet_aml_base_tracing_buildflags",
+    name: "cronet_aml_base_tracing_buildflags__android_x86",
     cmd: "echo '--flags ENABLE_BASE_TRACING=\"false\" USE_PERFETTO_CLIENT_LIBRARY=\"false\" OPTIONAL_TRACE_EVENTS_ENABLED=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2060,9 +3282,89 @@
     ],
 }
 
-// GN: //build:branding_buildflags
+// GN: //base:tracing_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_build_branding_buildflags",
+    name: "cronet_aml_base_tracing_buildflags__android_x86_64",
+    cmd: "echo '--flags ENABLE_BASE_TRACING=\"false\" USE_PERFETTO_CLIENT_LIBRARY=\"false\" OPTIONAL_TRACE_EVENTS_ENABLED=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:tracing_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/tracing_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //base:tracing_buildflags__host
+genrule {
+    name: "cronet_aml_base_tracing_buildflags__host",
+    cmd: "echo '--flags ENABLE_BASE_TRACING=\"false\" USE_PERFETTO_CLIENT_LIBRARY=\"false\" OPTIONAL_TRACE_EVENTS_ENABLED=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//base:tracing_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "base/tracing_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build:branding_buildflags__android_x86
+genrule {
+    name: "cronet_aml_build_branding_buildflags__android_x86",
+    cmd: "echo '--flags CHROMIUM_BRANDING=\"1\" GOOGLE_CHROME_BRANDING=\"0\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build:branding_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/branding_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build:branding_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_build_branding_buildflags__android_x86_64",
+    cmd: "echo '--flags CHROMIUM_BRANDING=\"1\" GOOGLE_CHROME_BRANDING=\"0\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build:branding_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/branding_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build:branding_buildflags__host
+genrule {
+    name: "cronet_aml_build_branding_buildflags__host",
     cmd: "echo '--flags CHROMIUM_BRANDING=\"1\" GOOGLE_CHROME_BRANDING=\"0\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2085,9 +3387,9 @@
     name: "cronet_aml_build_buildflag_header_h",
 }
 
-// GN: //build:chromecast_buildflags
+// GN: //build:chromecast_buildflags__android_x86
 genrule {
-    name: "cronet_aml_build_chromecast_buildflags",
+    name: "cronet_aml_build_chromecast_buildflags__android_x86",
     cmd: "echo '--flags IS_CASTOS=\"false\" IS_CAST_ANDROID=\"false\" ENABLE_CAST_RECEIVER=\"false\" IS_CHROMECAST=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2105,9 +3407,49 @@
     ],
 }
 
-// GN: //build:chromeos_buildflags
+// GN: //build:chromecast_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_build_chromeos_buildflags",
+    name: "cronet_aml_build_chromecast_buildflags__android_x86_64",
+    cmd: "echo '--flags IS_CASTOS=\"false\" IS_CAST_ANDROID=\"false\" ENABLE_CAST_RECEIVER=\"false\" IS_CHROMECAST=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build:chromecast_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/chromecast_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build:chromecast_buildflags__host
+genrule {
+    name: "cronet_aml_build_chromecast_buildflags__host",
+    cmd: "echo '--flags IS_CASTOS=\"false\" IS_CAST_ANDROID=\"false\" ENABLE_CAST_RECEIVER=\"false\" IS_CHROMECAST=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build:chromecast_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/chromecast_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build:chromeos_buildflags__android_x86
+genrule {
+    name: "cronet_aml_build_chromeos_buildflags__android_x86",
     cmd: "echo '--flags IS_CHROMEOS_DEVICE=\"false\" IS_CHROMEOS_LACROS=\"false\" IS_CHROMEOS_ASH=\"false\" IS_CHROMEOS_WITH_HW_DETAILS=\"false\" IS_REVEN=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2125,9 +3467,49 @@
     ],
 }
 
-// GN: //build/config/compiler:compiler_buildflags
+// GN: //build:chromeos_buildflags__android_x86_64
 genrule {
-    name: "cronet_aml_build_config_compiler_compiler_buildflags",
+    name: "cronet_aml_build_chromeos_buildflags__android_x86_64",
+    cmd: "echo '--flags IS_CHROMEOS_DEVICE=\"false\" IS_CHROMEOS_LACROS=\"false\" IS_CHROMEOS_ASH=\"false\" IS_CHROMEOS_WITH_HW_DETAILS=\"false\" IS_REVEN=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build:chromeos_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/chromeos_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build:chromeos_buildflags__host
+genrule {
+    name: "cronet_aml_build_chromeos_buildflags__host",
+    cmd: "echo '--flags IS_CHROMEOS_DEVICE=\"false\" IS_CHROMEOS_LACROS=\"false\" IS_CHROMEOS_ASH=\"false\" IS_CHROMEOS_WITH_HW_DETAILS=\"false\" IS_REVEN=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build:chromeos_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/chromeos_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build/config/compiler:compiler_buildflags__android_x86
+genrule {
+    name: "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
     cmd: "echo '--flags CLANG_PGO=\"0\" SYMBOL_LEVEL=\"1\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2145,6 +3527,46 @@
     ],
 }
 
+// GN: //build/config/compiler:compiler_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
+    cmd: "echo '--flags CLANG_PGO=\"0\" SYMBOL_LEVEL=\"1\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build/config/compiler:compiler_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/config/compiler/compiler_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //build/config/compiler:compiler_buildflags__host
+genrule {
+    name: "cronet_aml_build_config_compiler_compiler_buildflags__host",
+    cmd: "echo '--flags CLANG_PGO=\"0\" SYMBOL_LEVEL=\"2\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//build/config/compiler:compiler_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "build/config/compiler/compiler_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
 // GN: //buildtools/third_party/libc++:libc++
 cc_defaults {
     name: "cronet_aml_buildtools_third_party_libc___libc__",
@@ -2389,9 +3811,29 @@
     },
 }
 
-// GN: //components/cronet/android:buildflags
+// GN: //components/cronet/android:buildflags__android_x86
 genrule {
-    name: "cronet_aml_components_cronet_android_buildflags",
+    name: "cronet_aml_components_cronet_android_buildflags__android_x86",
+    cmd: "echo '--flags INTEGRATED_MODE=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//components/cronet/android:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "components/cronet/android/buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //components/cronet/android:buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_components_cronet_android_buildflags__android_x86_64",
     cmd: "echo '--flags INTEGRATED_MODE=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2445,16 +3887,25 @@
         "cronet_aml_url_url",
     ],
     generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_components_cronet_android_buildflags",
-        "cronet_aml_components_cronet_android_cronet_jni_headers",
-        "cronet_aml_components_cronet_android_cronet_jni_registration",
-        "cronet_aml_components_cronet_cronet_buildflags",
-        "cronet_aml_components_cronet_cronet_version_header_action",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_components_cronet_android_buildflags__android_x86",
+        "cronet_aml_components_cronet_android_buildflags__android_x86_64",
+        "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86",
+        "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86_64",
+        "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86",
+        "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86_64",
+        "cronet_aml_components_cronet_cronet_buildflags__android_x86",
+        "cronet_aml_components_cronet_cronet_buildflags__android_x86_64",
+        "cronet_aml_components_cronet_cronet_version_header_action__android_x86",
+        "cronet_aml_components_cronet_cronet_version_header_action__android_x86_64",
         "cronet_aml_third_party_metrics_proto_metrics_proto_gen_headers",
-        "cronet_aml_url_buildflags",
+        "cronet_aml_url_buildflags__android_x86",
+        "cronet_aml_url_buildflags__android_x86_64",
     ],
     defaults: [
         "cronet_aml_buildtools_third_party_libc___libc__",
@@ -2517,9 +3968,6 @@
         "third_party/protobuf/src/",
         "third_party/zlib/",
     ],
-    header_libs: [
-        "jni_headers",
-    ],
     cpp_std: "c++20",
     linker_scripts: [
         "base/android/library_loader/anchor_functions.lds",
@@ -2528,23 +3976,11 @@
         "-fexceptions",
     ],
     rtti: true,
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
-// GN: //components/cronet/android:cronet_jni_headers
+// GN: //components/cronet/android:cronet_jni_headers__android_x86
 genrule {
-    name: "cronet_aml_components_cronet_android_cronet_jni_headers",
+    name: "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86",
     srcs: [
         "components/cronet/android/java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
         "components/cronet/android/java/src/org/chromium/net/impl/CronetLibraryLoader.java",
@@ -2597,32 +4033,105 @@
     ],
 }
 
-// GN: //components/cronet/android:cronet_jni_registration
+// GN: //components/cronet/android:cronet_jni_headers__android_x86_64
 genrule {
-    name: "cronet_aml_components_cronet_android_cronet_jni_registration",
+    name: "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86_64",
     srcs: [
-        "base/android/java/src/org/chromium/base/JniException.java",
-        "base/android/java/src/org/chromium/base/JniStaticTestMocker.java",
-        "base/android/java/src/org/chromium/base/NativeLibraryLoadedStatus.java",
-        "base/android/java/src/org/chromium/base/annotations/AccessedByNative.java",
-        "base/android/java/src/org/chromium/base/annotations/CalledByNative.java",
-        "base/android/java/src/org/chromium/base/annotations/CalledByNativeForTesting.java",
-        "base/android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java",
-        "base/android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java",
-        "base/android/java/src/org/chromium/base/annotations/JNINamespace.java",
-        "base/android/java/src/org/chromium/base/annotations/JniIgnoreNatives.java",
-        "base/android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java",
-        "base/android/java/src/org/chromium/base/annotations/NativeMethods.java",
-        "build/android/java/src/org/chromium/build/annotations/AlwaysInline.java",
-        "build/android/java/src/org/chromium/build/annotations/CheckDiscard.java",
-        "build/android/java/src/org/chromium/build/annotations/DoNotClassMerge.java",
-        "build/android/java/src/org/chromium/build/annotations/DoNotInline.java",
-        "build/android/java/src/org/chromium/build/annotations/IdentifierNameString.java",
-        "build/android/java/src/org/chromium/build/annotations/MainDex.java",
-        "build/android/java/src/org/chromium/build/annotations/MockedInTests.java",
-        "build/android/java/src/org/chromium/build/annotations/UsedByReflection.java",
+        "components/cronet/android/java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
+        "components/cronet/android/java/src/org/chromium/net/impl/CronetLibraryLoader.java",
+        "components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java",
         "components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java",
-        "url/android/java/src/org/chromium/url/IDNStringUtil.java",
+        "components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java",
+    ],
+    cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
+         "long " +
+         " " +
+         " " +
+         "--output_dir " +
+         "$(genDir)/components/cronet/android/cronet_jni_headers " +
+         "--includes " +
+         "base/android/jni_generator/jni_generator_helper.h " +
+         "--use_proxy_hash " +
+         "--output_name " +
+         "CronetBidirectionalStream_jni.h " +
+         "--output_name " +
+         "CronetLibraryLoader_jni.h " +
+         "--output_name " +
+         "CronetUploadDataStream_jni.h " +
+         "--output_name " +
+         "CronetUrlRequest_jni.h " +
+         "--output_name " +
+         "CronetUrlRequestContext_jni.h " +
+         "--input_file " +
+         "$(location components/cronet/android/java/src/org/chromium/net/impl/CronetBidirectionalStream.java) " +
+         "--input_file " +
+         "$(location components/cronet/android/java/src/org/chromium/net/impl/CronetLibraryLoader.java) " +
+         "--input_file " +
+         "$(location components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java) " +
+         "--input_file " +
+         "$(location components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java) " +
+         "--input_file " +
+         "$(location components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java)",
+    out: [
+        "components/cronet/android/cronet_jni_headers/CronetBidirectionalStream_jni.h",
+        "components/cronet/android/cronet_jni_headers/CronetLibraryLoader_jni.h",
+        "components/cronet/android/cronet_jni_headers/CronetUploadDataStream_jni.h",
+        "components/cronet/android/cronet_jni_headers/CronetUrlRequestContext_jni.h",
+        "components/cronet/android/cronet_jni_headers/CronetUrlRequest_jni.h",
+    ],
+    tool_files: [
+        "base/android/jni_generator/android_jar.classes",
+        "base/android/jni_generator/jni_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+    ],
+}
+
+// GN: //components/cronet/android:cronet_jni_registration__android_x86
+genrule {
+    name: "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86",
+    srcs: [
+        "components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java",
+    ],
+    cmd: "current_dir=`basename \\`pwd\\``; " +
+         "for f in $(in); " +
+         "do " +
+         "echo \"../$$current_dir/$$f\" >> $(genDir)/java.sources; " +
+         "done; " +
+         "python3 $(location base/android/jni_generator/jni_registration_generator.py) --srcjar-path " +
+         "$(genDir)/components/cronet/android/cronet_jni_registration.srcjar " +
+         "--depfile " +
+         "$(genDir)/components/cronet/android/cronet_jni_registration.d " +
+         "--sources-files " +
+         "$(genDir)/java.sources " +
+         "--include_test_only " +
+         "--use_proxy_hash " +
+         "--header-path " +
+         "$(genDir)/components/cronet/android/cronet_jni_registration.h " +
+         "--manual_jni_registration " +
+         " " +
+         " " +
+         ";sed -i -e 's/OUT_SOONG_.TEMP_SBOX_.*_OUT/GEN/g'  " +
+         "$(genDir)/components/cronet/android/cronet_jni_registration.h",
+    out: [
+        "components/cronet/android/cronet_jni_registration.h",
+        "components/cronet/android/cronet_jni_registration.srcjar",
+    ],
+    tool_files: [
+        "base/android/jni_generator/jni_generator.py",
+        "base/android/jni_generator/jni_registration_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+    ],
+}
+
+// GN: //components/cronet/android:cronet_jni_registration__android_x86_64
+genrule {
+    name: "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86_64",
+    srcs: [
+        "components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java",
     ],
     cmd: "current_dir=`basename \\`pwd\\``; " +
          "for f in $(in); " +
@@ -2732,9 +4241,29 @@
     },
 }
 
-// GN: //components/cronet:cronet_buildflags
+// GN: //components/cronet:cronet_buildflags__android_x86
 genrule {
-    name: "cronet_aml_components_cronet_cronet_buildflags",
+    name: "cronet_aml_components_cronet_cronet_buildflags__android_x86",
+    cmd: "echo '--flags DISABLE_HISTOGRAM_SUPPORT=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//components/cronet:cronet_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "components/cronet/cronet_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //components/cronet:cronet_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_components_cronet_cronet_buildflags__android_x86_64",
     cmd: "echo '--flags DISABLE_HISTOGRAM_SUPPORT=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -2832,9 +4361,32 @@
     name: "cronet_aml_components_cronet_cronet_version_header",
 }
 
-// GN: //components/cronet:cronet_version_header_action
+// GN: //components/cronet:cronet_version_header_action__android_x86
 genrule {
-    name: "cronet_aml_components_cronet_cronet_version_header_action",
+    name: "cronet_aml_components_cronet_cronet_version_header_action__android_x86",
+    cmd: "$(location build/util/version.py) -f " +
+         "$(location chrome/VERSION) " +
+         "-e " +
+         "VERSION_FULL='\"%s.%s.%s.%s\" % (MAJOR,MINOR,BUILD,PATCH)' " +
+         " " +
+         "-o " +
+         "$(out) " +
+         "$(location components/cronet/version.h.in)",
+    out: [
+        "components/cronet/version.h",
+    ],
+    tool_files: [
+        "build/util/LASTCHANGE",
+        "build/util/android_chrome_version.py",
+        "build/util/version.py",
+        "chrome/VERSION",
+        "components/cronet/version.h.in",
+    ],
+}
+
+// GN: //components/cronet:cronet_version_header_action__android_x86_64
+genrule {
+    name: "cronet_aml_components_cronet_cronet_version_header_action__android_x86_64",
     cmd: "$(location build/util/version.py) -f " +
          "$(location chrome/VERSION) " +
          "-e " +
@@ -3123,9 +4675,9 @@
     },
 }
 
-// GN: //components/nacl/common:buildflags
+// GN: //components/nacl/common:buildflags__host
 genrule {
-    name: "cronet_aml_components_nacl_common_buildflags",
+    name: "cronet_aml_components_nacl_common_buildflags__host",
     cmd: "echo '--flags ENABLE_NACL=\"true\" IS_MINIMAL_TOOLCHAIN=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -3143,9 +4695,40 @@
     ],
 }
 
-// GN: //components/prefs/android:jni_headers
+// GN: //components/prefs/android:jni_headers__android_x86
 genrule {
-    name: "cronet_aml_components_prefs_android_jni_headers",
+    name: "cronet_aml_components_prefs_android_jni_headers__android_x86",
+    srcs: [
+        "components/prefs/android/java/src/org/chromium/components/prefs/PrefService.java",
+    ],
+    cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
+         "long " +
+         " " +
+         " " +
+         "--output_dir " +
+         "$(genDir)/components/prefs/android/jni_headers " +
+         "--includes " +
+         "base/android/jni_generator/jni_generator_helper.h " +
+         "--use_proxy_hash " +
+         "--output_name " +
+         "PrefService_jni.h " +
+         "--input_file " +
+         "$(location components/prefs/android/java/src/org/chromium/components/prefs/PrefService.java)",
+    out: [
+        "components/prefs/android/jni_headers/PrefService_jni.h",
+    ],
+    tool_files: [
+        "base/android/jni_generator/android_jar.classes",
+        "base/android/jni_generator/jni_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+    ],
+}
+
+// GN: //components/prefs/android:jni_headers__android_x86_64
+genrule {
+    name: "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
     srcs: [
         "components/prefs/android/java/src/org/chromium/components/prefs/PrefService.java",
     ],
@@ -3217,16 +4800,24 @@
         "cronet_aml_third_party_modp_b64_modp_b64",
     ],
     generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_components_prefs_android_jni_headers",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_components_prefs_android_jni_headers__android_x86",
+        "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
     ],
     export_generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_components_prefs_android_jni_headers",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_components_prefs_android_jni_headers__android_x86",
+        "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
     ],
     defaults: [
         "cronet_aml_defaults",
@@ -3257,27 +4848,12 @@
         "third_party/abseil-cpp/",
         "third_party/boringssl/src/include/",
     ],
-    header_libs: [
-        "jni_headers",
-    ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
-// GN: //crypto:buildflags
+// GN: //crypto:buildflags__android_x86
 genrule {
-    name: "cronet_aml_crypto_buildflags",
+    name: "cronet_aml_crypto_buildflags__android_x86",
     cmd: "echo '--flags USE_NSS_CERTS=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -3295,6 +4871,46 @@
     ],
 }
 
+// GN: //crypto:buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_crypto_buildflags__android_x86_64",
+    cmd: "echo '--flags USE_NSS_CERTS=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//crypto:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "crypto/crypto_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //crypto:buildflags__host
+genrule {
+    name: "cronet_aml_crypto_buildflags__host",
+    cmd: "echo '--flags USE_NSS_CERTS=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//crypto:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "crypto/crypto_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
 // GN: //crypto:crypto
 cc_library_static {
     name: "cronet_aml_crypto_crypto",
@@ -3333,14 +4949,18 @@
     ],
     host_supported: true,
     generated_headers: [
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_components_nacl_common_buildflags",
-        "cronet_aml_crypto_buildflags",
+        "cronet_aml_build_chromeos_buildflags__host",
+        "cronet_aml_components_nacl_common_buildflags__host",
+        "cronet_aml_crypto_buildflags__android_x86",
+        "cronet_aml_crypto_buildflags__android_x86_64",
+        "cronet_aml_crypto_buildflags__host",
     ],
     export_generated_headers: [
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_components_nacl_common_buildflags",
-        "cronet_aml_crypto_buildflags",
+        "cronet_aml_build_chromeos_buildflags__host",
+        "cronet_aml_components_nacl_common_buildflags__host",
+        "cronet_aml_crypto_buildflags__android_x86",
+        "cronet_aml_crypto_buildflags__android_x86_64",
+        "cronet_aml_crypto_buildflags__host",
     ],
     defaults: [
         "cronet_aml_defaults",
@@ -3359,7 +4979,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -3409,7 +5028,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
             local_include_dirs: [
                 "build/linux/debian_bullseye_amd64-sysroot/usr/include/nspr",
@@ -3438,6 +5056,19 @@
         "-fvisibility=hidden",
     ],
     stl: "none",
+    target: {
+        android: {
+            header_libs: [
+                "jni_headers",
+                "media_ndk_headers",
+            ],
+        },
+        host: {
+            cflags: [
+                "-UANDROID",
+            ],
+        },
+    },
 }
 
 // GN: //ipc:param_traits
@@ -3448,29 +5079,6 @@
 // GN: //gn:java
 java_library {
     name: "cronet_aml_java",
-    srcs: [
-        "base/android/java/src/org/chromium/base/JniException.java",
-        "base/android/java/src/org/chromium/base/JniStaticTestMocker.java",
-        "base/android/java/src/org/chromium/base/NativeLibraryLoadedStatus.java",
-        "base/android/java/src/org/chromium/base/annotations/AccessedByNative.java",
-        "base/android/java/src/org/chromium/base/annotations/CalledByNative.java",
-        "base/android/java/src/org/chromium/base/annotations/CalledByNativeForTesting.java",
-        "base/android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java",
-        "base/android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java",
-        "base/android/java/src/org/chromium/base/annotations/JNINamespace.java",
-        "base/android/java/src/org/chromium/base/annotations/JniIgnoreNatives.java",
-        "base/android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java",
-        "base/android/java/src/org/chromium/base/annotations/NativeMethods.java",
-        "build/android/java/src/org/chromium/build/annotations/AlwaysInline.java",
-        "build/android/java/src/org/chromium/build/annotations/CheckDiscard.java",
-        "build/android/java/src/org/chromium/build/annotations/DoNotClassMerge.java",
-        "build/android/java/src/org/chromium/build/annotations/DoNotInline.java",
-        "build/android/java/src/org/chromium/build/annotations/IdentifierNameString.java",
-        "build/android/java/src/org/chromium/build/annotations/MainDex.java",
-        "build/android/java/src/org/chromium/build/annotations/MockedInTests.java",
-        "build/android/java/src/org/chromium/build/annotations/UsedByReflection.java",
-        "url/android/java/src/org/chromium/url/IDNStringUtil.java",
-    ],
 }
 
 // GN: //net/base/registry_controlled_domains:registry_controlled_domains
@@ -3524,9 +5132,9 @@
     ],
 }
 
-// GN: //net:buildflags
+// GN: //net:buildflags__android_x86
 genrule {
-    name: "cronet_aml_net_buildflags",
+    name: "cronet_aml_net_buildflags__android_x86",
     cmd: "echo '--flags POSIX_BYPASS_MMAP=\"false\" DISABLE_FILE_SUPPORT=\"true\" ENABLE_MDNS=\"false\" ENABLE_REPORTING=\"true\" ENABLE_WEBSOCKETS=\"false\" INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST=\"false\" USE_KERBEROS=\"true\" USE_EXTERNAL_GSSAPI=\"false\" TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED=\"false\" CHROME_ROOT_STORE_SUPPORTED=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -3544,6 +5152,26 @@
     ],
 }
 
+// GN: //net:buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_net_buildflags__android_x86_64",
+    cmd: "echo '--flags POSIX_BYPASS_MMAP=\"true\" DISABLE_FILE_SUPPORT=\"true\" ENABLE_MDNS=\"false\" ENABLE_REPORTING=\"true\" ENABLE_WEBSOCKETS=\"false\" INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST=\"false\" USE_KERBEROS=\"true\" USE_EXTERNAL_GSSAPI=\"false\" TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED=\"false\" CHROME_ROOT_STORE_SUPPORTED=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//net:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "net/net_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
 // GN: //net:constants
 cc_defaults {
     name: "cronet_aml_net_constants",
@@ -3579,9 +5207,32 @@
     },
 }
 
-// GN: //net/data/ssl/chrome_root_store:gen_root_store_inc
+// GN: //net/data/ssl/chrome_root_store:gen_root_store_inc__android_x86
 genrule {
-    name: "cronet_aml_net_data_ssl_chrome_root_store_gen_root_store_inc",
+    name: "cronet_aml_net_data_ssl_chrome_root_store_gen_root_store_inc__android_x86",
+    cmd: "$(location build/gn_run_binary.py) clang_x64/root_store_tool " +
+         "--root-store " +
+         "../../net/data/ssl/chrome_root_store/root_store.textproto " +
+         "--certs " +
+         "../../net/data/ssl/chrome_root_store/root_store.certs " +
+         "--write-cpp-root-store " +
+         "gen/net/data/ssl/chrome_root_store/chrome-root-store-inc.cc " +
+         "--write-cpp-ev-roots " +
+         "gen/net/data/ssl/chrome_root_store/chrome-ev-roots-inc.cc",
+    out: [
+        "net/data/ssl/chrome_root_store/chrome-ev-roots-inc.cc",
+        "net/data/ssl/chrome_root_store/chrome-root-store-inc.cc",
+    ],
+    tool_files: [
+        "build/gn_run_binary.py",
+        "net/data/ssl/chrome_root_store/root_store.certs",
+        "net/data/ssl/chrome_root_store/root_store.textproto",
+    ],
+}
+
+// GN: //net/data/ssl/chrome_root_store:gen_root_store_inc__android_x86_64
+genrule {
+    name: "cronet_aml_net_data_ssl_chrome_root_store_gen_root_store_inc__android_x86_64",
     cmd: "$(location build/gn_run_binary.py) clang_x64/root_store_tool " +
          "--root-store " +
          "../../net/data/ssl/chrome_root_store/root_store.textproto " +
@@ -4077,9 +5728,29 @@
     },
 }
 
-// GN: //net:ios_cronet_buildflags
+// GN: //net:ios_cronet_buildflags__android_x86
 genrule {
-    name: "cronet_aml_net_ios_cronet_buildflags",
+    name: "cronet_aml_net_ios_cronet_buildflags__android_x86",
+    cmd: "echo '--flags CRONET_BUILD=\"false\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//net:ios_cronet_buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "net/socket/ios_cronet_buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //net:ios_cronet_buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
     cmd: "echo '--flags CRONET_BUILD=\"false\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -4649,32 +6320,48 @@
         "cronet_aml_url_url",
     ],
     generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_branding_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_branding_buildflags__android_x86",
+        "cronet_aml_build_branding_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
         "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
-        "cronet_aml_net_buildflags",
-        "cronet_aml_net_ios_cronet_buildflags",
+        "cronet_aml_net_buildflags__android_x86",
+        "cronet_aml_net_buildflags__android_x86_64",
+        "cronet_aml_net_ios_cronet_buildflags__android_x86",
+        "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
         "cronet_aml_net_isolation_info_proto_gen_headers",
-        "cronet_aml_net_net_jni_headers",
+        "cronet_aml_net_net_jni_headers__android_x86",
+        "cronet_aml_net_net_jni_headers__android_x86_64",
         "cronet_aml_net_net_nqe_proto_gen_headers",
         "cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen_headers",
-        "cronet_aml_url_buildflags",
+        "cronet_aml_url_buildflags__android_x86",
+        "cronet_aml_url_buildflags__android_x86_64",
     ],
     export_generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_branding_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_branding_buildflags__android_x86",
+        "cronet_aml_build_branding_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
         "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
-        "cronet_aml_net_buildflags",
-        "cronet_aml_net_ios_cronet_buildflags",
+        "cronet_aml_net_buildflags__android_x86",
+        "cronet_aml_net_buildflags__android_x86_64",
+        "cronet_aml_net_ios_cronet_buildflags__android_x86",
+        "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
         "cronet_aml_net_isolation_info_proto_gen_headers",
-        "cronet_aml_net_net_jni_headers",
+        "cronet_aml_net_net_jni_headers__android_x86",
+        "cronet_aml_net_net_jni_headers__android_x86_64",
         "cronet_aml_net_net_nqe_proto_gen_headers",
         "cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen_headers",
-        "cronet_aml_url_buildflags",
+        "cronet_aml_url_buildflags__android_x86",
+        "cronet_aml_url_buildflags__android_x86_64",
     ],
     export_static_lib_headers: [
         "cronet_aml_crypto_crypto",
@@ -4732,9 +6419,6 @@
         "third_party/protobuf/src/",
         "third_party/zlib/",
     ],
-    header_libs: [
-        "jni_headers",
-    ],
     cpp_std: "c++20",
     rtti: true,
     target: {
@@ -4742,17 +6426,11 @@
             srcs: [
                 "net/disk_cache/blockfile/mapped_file_posix.cc",
             ],
-            cflags: [
-                "-UANDROID",
-            ],
         },
         android_x86_64: {
             srcs: [
                 "net/disk_cache/blockfile/mapped_file_bypass_mmap_posix.cc",
             ],
-            cflags: [
-                "-UANDROID",
-            ],
         },
     },
 }
@@ -4807,9 +6485,112 @@
     name: "cronet_aml_net_net_export_header",
 }
 
-// GN: //net:net_jni_headers
+// GN: //net:net_jni_headers__android_x86
 genrule {
-    name: "cronet_aml_net_net_jni_headers",
+    name: "cronet_aml_net_net_jni_headers__android_x86",
+    srcs: [
+        "net/android/java/src/org/chromium/net/AndroidCertVerifyResult.java",
+        "net/android/java/src/org/chromium/net/AndroidKeyStore.java",
+        "net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java",
+        "net/android/java/src/org/chromium/net/AndroidTrafficStats.java",
+        "net/android/java/src/org/chromium/net/DnsStatus.java",
+        "net/android/java/src/org/chromium/net/GURLUtils.java",
+        "net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java",
+        "net/android/java/src/org/chromium/net/HttpUtil.java",
+        "net/android/java/src/org/chromium/net/NetStringUtil.java",
+        "net/android/java/src/org/chromium/net/NetworkActiveNotifier.java",
+        "net/android/java/src/org/chromium/net/NetworkChangeNotifier.java",
+        "net/android/java/src/org/chromium/net/ProxyChangeListener.java",
+        "net/android/java/src/org/chromium/net/X509Util.java",
+    ],
+    cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
+         "long " +
+         " " +
+         " " +
+         "--output_dir " +
+         "$(genDir)/net/net_jni_headers " +
+         "--includes " +
+         "base/android/jni_generator/jni_generator_helper.h " +
+         "--use_proxy_hash " +
+         "--output_name " +
+         "AndroidCertVerifyResult_jni.h " +
+         "--output_name " +
+         "AndroidKeyStore_jni.h " +
+         "--output_name " +
+         "AndroidNetworkLibrary_jni.h " +
+         "--output_name " +
+         "AndroidTrafficStats_jni.h " +
+         "--output_name " +
+         "DnsStatus_jni.h " +
+         "--output_name " +
+         "GURLUtils_jni.h " +
+         "--output_name " +
+         "HttpNegotiateAuthenticator_jni.h " +
+         "--output_name " +
+         "HttpUtil_jni.h " +
+         "--output_name " +
+         "NetStringUtil_jni.h " +
+         "--output_name " +
+         "NetworkActiveNotifier_jni.h " +
+         "--output_name " +
+         "NetworkChangeNotifier_jni.h " +
+         "--output_name " +
+         "ProxyChangeListener_jni.h " +
+         "--output_name " +
+         "X509Util_jni.h " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/AndroidCertVerifyResult.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/AndroidKeyStore.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/AndroidTrafficStats.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/DnsStatus.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/GURLUtils.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/HttpUtil.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/NetStringUtil.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/NetworkActiveNotifier.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/NetworkChangeNotifier.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/ProxyChangeListener.java) " +
+         "--input_file " +
+         "$(location net/android/java/src/org/chromium/net/X509Util.java)",
+    out: [
+        "net/net_jni_headers/AndroidCertVerifyResult_jni.h",
+        "net/net_jni_headers/AndroidKeyStore_jni.h",
+        "net/net_jni_headers/AndroidNetworkLibrary_jni.h",
+        "net/net_jni_headers/AndroidTrafficStats_jni.h",
+        "net/net_jni_headers/DnsStatus_jni.h",
+        "net/net_jni_headers/GURLUtils_jni.h",
+        "net/net_jni_headers/HttpNegotiateAuthenticator_jni.h",
+        "net/net_jni_headers/HttpUtil_jni.h",
+        "net/net_jni_headers/NetStringUtil_jni.h",
+        "net/net_jni_headers/NetworkActiveNotifier_jni.h",
+        "net/net_jni_headers/NetworkChangeNotifier_jni.h",
+        "net/net_jni_headers/ProxyChangeListener_jni.h",
+        "net/net_jni_headers/X509Util_jni.h",
+    ],
+    tool_files: [
+        "base/android/jni_generator/android_jar.classes",
+        "base/android/jni_generator/jni_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+    ],
+}
+
+// GN: //net:net_jni_headers__android_x86_64
+genrule {
+    name: "cronet_aml_net_net_jni_headers__android_x86_64",
     srcs: [
         "net/android/java/src/org/chromium/net/AndroidCertVerifyResult.java",
         "net/android/java/src/org/chromium/net/AndroidKeyStore.java",
@@ -5043,18 +6824,6 @@
         "third_party/boringssl/src/include/",
     ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //net/third_party/quiche:net_quic_proto
@@ -5442,11 +7211,15 @@
         "cronet_aml_url_url",
     ],
     generated_headers: [
-        "cronet_aml_build_chromeos_buildflags",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__host",
         "cronet_aml_net_third_party_quiche_net_quic_proto_gen_headers",
     ],
     export_generated_headers: [
-        "cronet_aml_build_chromeos_buildflags",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__host",
         "cronet_aml_net_third_party_quiche_net_quic_proto_gen_headers",
     ],
     defaults: [
@@ -5600,18 +7373,6 @@
         "third_party/zlib/",
     ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //net/traffic_annotation:traffic_annotation
@@ -5707,18 +7468,6 @@
         "third_party/boringssl/src/include/",
     ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/abseil-cpp:absl
@@ -7568,7 +9317,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -7602,7 +9350,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -7725,18 +9472,6 @@
         "third_party/brotli/include/",
     ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/brotli:dec
@@ -7780,18 +9515,6 @@
         "third_party/brotli/include/",
     ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/brotli:headers
@@ -8074,7 +9797,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -8110,7 +9832,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -8351,7 +10072,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -8387,7 +10107,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -8433,7 +10152,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -8472,7 +10190,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
             local_include_dirs: [
                 "third_party/libevent/linux/",
@@ -8643,7 +10360,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -8676,7 +10392,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -8802,7 +10517,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -8813,13 +10527,6 @@
         "third_party/zlib/",
     ],
     cpp_std: "c++20",
-    target: {
-        host: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/protobuf:protobuf_lite
@@ -8892,18 +10599,6 @@
         "third_party/protobuf/src/",
     ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/protobuf:protoc
@@ -8952,7 +10647,6 @@
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCPP_OVERRIDABLE_FUNC_VIS=__attribute__((__visibility__(\"default\")))",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -8967,13 +10661,6 @@
         "-fexceptions",
     ],
     rtti: true,
-    target: {
-        host: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/protobuf:protoc_lib
@@ -9097,7 +10784,6 @@
         "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1",
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
-        "-UANDROID",
     ],
     local_include_dirs: [
         "./",
@@ -9107,13 +10793,6 @@
         "third_party/protobuf/src/",
     ],
     cpp_std: "c++20",
-    target: {
-        host: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
 // GN: //third_party/zlib:zlib
@@ -9166,7 +10845,6 @@
         "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_FORMAT_MACROS",
-        "-UANDROID",
         "-mpclmul",
         "-mssse3",
     ],
@@ -9210,7 +10888,6 @@
                 "-D_FILE_OFFSET_BITS=64",
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
-                "-UANDROID",
             ],
         },
     },
@@ -9298,9 +10975,29 @@
     name: "cronet_aml_third_party_zlib_zlib_slide_hash_simd",
 }
 
-// GN: //url:buildflags
+// GN: //url:buildflags__android_x86
 genrule {
-    name: "cronet_aml_url_buildflags",
+    name: "cronet_aml_url_buildflags__android_x86",
+    cmd: "echo '--flags USE_PLATFORM_ICU_ALTERNATIVES=\"true\"' | " +
+         "$(location build/write_buildflag_header.py) --output " +
+         "$(out) " +
+         "--rulename " +
+         "//url:buildflags " +
+         "--gen-dir " +
+         ". " +
+         "--definitions " +
+         "/dev/stdin",
+    out: [
+        "url/buildflags.h",
+    ],
+    tool_files: [
+        "build/write_buildflag_header.py",
+    ],
+}
+
+// GN: //url:buildflags__android_x86_64
+genrule {
+    name: "cronet_aml_url_buildflags__android_x86_64",
     cmd: "echo '--flags USE_PLATFORM_ICU_ALTERNATIVES=\"true\"' | " +
          "$(location build/write_buildflag_header.py) --output " +
          "$(out) " +
@@ -9362,18 +11059,28 @@
         "cronet_aml_third_party_modp_b64_modp_b64",
     ],
     generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_url_buildflags",
-        "cronet_aml_url_url_jni_headers",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_url_buildflags__android_x86",
+        "cronet_aml_url_buildflags__android_x86_64",
+        "cronet_aml_url_url_jni_headers__android_x86",
+        "cronet_aml_url_url_jni_headers__android_x86_64",
     ],
     export_generated_headers: [
-        "cronet_aml_base_debugging_buildflags",
-        "cronet_aml_base_logging_buildflags",
-        "cronet_aml_build_chromeos_buildflags",
-        "cronet_aml_url_buildflags",
-        "cronet_aml_url_url_jni_headers",
+        "cronet_aml_base_debugging_buildflags__android_x86",
+        "cronet_aml_base_debugging_buildflags__android_x86_64",
+        "cronet_aml_base_logging_buildflags__android_x86",
+        "cronet_aml_base_logging_buildflags__android_x86_64",
+        "cronet_aml_build_chromeos_buildflags__android_x86",
+        "cronet_aml_build_chromeos_buildflags__android_x86_64",
+        "cronet_aml_url_buildflags__android_x86",
+        "cronet_aml_url_buildflags__android_x86_64",
+        "cronet_aml_url_url_jni_headers__android_x86",
+        "cronet_aml_url_url_jni_headers__android_x86_64",
     ],
     defaults: [
         "cronet_aml_defaults",
@@ -9405,27 +11112,49 @@
         "third_party/abseil-cpp/",
         "third_party/boringssl/src/include/",
     ],
-    header_libs: [
-        "jni_headers",
-    ],
     cpp_std: "c++20",
-    target: {
-        android_x86: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-        android_x86_64: {
-            cflags: [
-                "-UANDROID",
-            ],
-        },
-    },
 }
 
-// GN: //url:url_jni_headers
+// GN: //url:url_jni_headers__android_x86
 genrule {
-    name: "cronet_aml_url_url_jni_headers",
+    name: "cronet_aml_url_url_jni_headers__android_x86",
+    srcs: [
+        "url/android/java/src/org/chromium/url/IDNStringUtil.java",
+        "url/android/java/src/org/chromium/url/Origin.java",
+    ],
+    cmd: "$(location base/android/jni_generator/jni_generator.py) --ptr_type " +
+         "long " +
+         " " +
+         " " +
+         "--output_dir " +
+         "$(genDir)/url/url_jni_headers " +
+         "--includes " +
+         "base/android/jni_generator/jni_generator_helper.h " +
+         "--use_proxy_hash " +
+         "--output_name " +
+         "IDNStringUtil_jni.h " +
+         "--output_name " +
+         "Origin_jni.h " +
+         "--input_file " +
+         "$(location url/android/java/src/org/chromium/url/IDNStringUtil.java) " +
+         "--input_file " +
+         "$(location url/android/java/src/org/chromium/url/Origin.java)",
+    out: [
+        "url/url_jni_headers/IDNStringUtil_jni.h",
+        "url/url_jni_headers/Origin_jni.h",
+    ],
+    tool_files: [
+        "base/android/jni_generator/android_jar.classes",
+        "base/android/jni_generator/jni_generator.py",
+        "build/android/gyp/util/__init__.py",
+        "build/android/gyp/util/build_utils.py",
+        "build/gn_helpers.py",
+    ],
+}
+
+// GN: //url:url_jni_headers__android_x86_64
+genrule {
+    name: "cronet_aml_url_url_jni_headers__android_x86_64",
     srcs: [
         "url/android/java/src/org/chromium/url/IDNStringUtil.java",
         "url/android/java/src/org/chromium/url/Origin.java",
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index cf8a4fd..e919406 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -131,9 +131,6 @@
         # that doesn't depend on rtti. undefined symbol: typeinfo 'class' errors appears.
         ('rtti', True), # go/undefined-symbol-typeinfo
     ],
-    'cronet_aml_base_base': [
-        ('header_libs', {"media_ndk_headers"}),
-    ],
 }
 
 # Android equivalents for third-party libraries that the upstream project
@@ -206,12 +203,13 @@
     self.shared_libs = set()
     self.static_libs = set()
     self.whole_static_libs = set()
+    self.header_libs = set()
     self.cflags = set()
     self.dist = dict()
     self.strip = dict()
     self.stl = None
     self.cppflags = set()
-    self.local_include_dirs = []
+    self.local_include_dirs = set()
     self.export_system_include_dirs = set()
 
   def to_string(self, output):
@@ -220,6 +218,7 @@
     self._output_field(nested_out, 'shared_libs')
     self._output_field(nested_out, 'static_libs')
     self._output_field(nested_out, 'whole_static_libs')
+    self._output_field(nested_out, 'header_libs')
     self._output_field(nested_out, 'cflags')
     self._output_field(nested_out, 'stl')
     self._output_field(nested_out, 'dist')
@@ -266,7 +265,7 @@
     self.defaults = set()
     self.cflags = set()
     self.include_dirs = set()
-    self.local_include_dirs = []
+    self.local_include_dirs = set()
     self.header_libs = set()
     self.required = set()
     self.tool_files = set()
@@ -328,7 +327,7 @@
     self._output_field(output, 'defaults')
     self._output_field(output, 'cflags')
     self._output_field(output, 'include_dirs')
-    self._output_field(output, 'local_include_dirs', sort=False)
+    self._output_field(output, 'local_include_dirs')
     self._output_field(output, 'header_libs')
     self._output_field(output, 'required')
     self._output_field(output, 'dist')
@@ -708,9 +707,6 @@
     target.args[0] = '$(out)'
 
   elif target.script == '//base/android/jni_generator/jni_generator.py':
-    # chromium builds against a prebuilt ndk that contains the jni_headers, so
-    # a dependency is never explicitly created.
-    module.genrule_header_libs.add('jni_headers')
     needs_javap = False
     for i, val in enumerate(target.args):
       if val == '--output_dir':
@@ -959,12 +955,6 @@
   cflags = {flag for flag in cflags if flag in cflag_allowlist}
   # Consider proper allowlist or denylist if needed
   cflags |= set("-D%s" % define.replace("\"", "\\\"") for define in defines)
-  # -DANDROID is added by default but target.defines contain -DANDROID if it's required.
-  # So adding -UANDROID to cancel default -DANDROID if it's not specified.
-  # This is needed for some targets(e.g. symbolize)
-  # TODO: Set -UANDROID considering common define
-  if "ANDROID" not in defines:
-    cflags.add("-UANDROID")
   return cflags
 
 def set_module_flags(module, cflags, defines):
@@ -979,20 +969,18 @@
       module.cppflags.add('-fexceptions')
 
 def set_module_include_dirs(module, cflags, include_dirs):
-  local_include_dirs_set = set()
   for flag in cflags:
     if '-isystem' in flag:
-      local_include_dirs_set.add(flag[len('-isystem../../'):])
+      module.local_include_dirs.add(flag[len('-isystem../../'):])
 
   # Adding local_include_dirs is necessary due to source_sets / filegroups
   # which do not properly propagate include directories.
   # Filter any directory inside //out as a) this directory does not exist for
   # aosp / soong builds and b) the include directory should already be
   # configured via library dependency.
-  local_include_dirs_set.update([gn_utils.label_to_path(d)
+  module.local_include_dirs.update([gn_utils.label_to_path(d)
                                  for d in include_dirs
                                  if not re.match('^//out/.*', d)])
-  module.local_include_dirs = sorted(list(local_include_dirs_set))
 
 
 def create_modules_from_target(blueprint, gn, gn_target_name):
@@ -1175,13 +1163,7 @@
   module.srcs.update([gn_utils.label_to_path(source) for source in gn.java_sources])
   blueprint.add_module(module)
 
-def update_jni_registration_module(blueprint, gn):
-  bp_module_name = label_to_module_name('//components/cronet/android:cronet_jni_registration')
-  if bp_module_name not in blueprint.modules:
-    # To support building targets that might not create the cronet_jni_registration.
-    return
-  module = blueprint.modules[bp_module_name]
-
+def update_jni_registration_module(module, gn):
   # TODO: deny list is in the arg of jni_registration_generator.py. Should not be hardcoded
   deny_list = [
     '//base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java',
@@ -1222,6 +1204,20 @@
       '-Wno-unreachable-code-loop-increment', # needed for icui18n
       '-O2',
   ]
+  # Chromium builds do not add a dependency for headers found inside the
+  # sysroot, so they are added globally via defaults.
+  defaults.target['android'].header_libs = [
+      'media_ndk_headers',
+      'jni_headers',
+  ]
+  defaults.target['host'].cflags = [
+      # -DANDROID is added by default but target.defines contain -DANDROID if
+      # it's required.  So adding -UANDROID to cancel default -DANDROID if it's
+      # not specified.
+      # Note: -DANDROID is not consistently applied across the chromium code
+      # base, so it is removed unconditionally for host targets.
+      '-UANDROID',
+  ]
   defaults.stl = 'none'
   blueprint.add_module(defaults)
 
@@ -1229,7 +1225,9 @@
     create_modules_from_target(blueprint, gn, target)
 
   create_java_module(blueprint, gn)
-  update_jni_registration_module(blueprint, gn)
+  for module in blueprint.modules.values():
+    if 'cronet_jni_registration' in module.name:
+      update_jni_registration_module(module, gn)
 
   # Merge in additional hardcoded arguments.
   for module in blueprint.modules.values():
diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index d9e677a..6d23c55 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -273,11 +273,19 @@
     # Use name without toolchain for targets to support targets built for
     # multiple archs.
     target_name = label_without_toolchain(gn_target_name)
-    target = self.all_targets.get(target_name)
     desc = gn_desc[gn_target_name]
+    type_ = desc['type']
     arch = self._get_arch(desc['toolchain'])
+
+    # Action modules can differ depending on the target architecture, yet
+    # genrule's do not allow to overload cmd per target OS / arch.  Create a
+    # separate action for every architecture.
+    if type_ == 'action':
+      target_name += '__' + arch
+
+    target = self.all_targets.get(target_name)
     if target is None:
-      target = GnParser.Target(target_name, desc['type'])
+      target = GnParser.Target(target_name, type_)
       self.all_targets[target_name] = target
 
     if arch not in target.arch: