diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt
index 616cd67..19a1351 100644
--- a/apex/allowed_deps.txt
+++ b/apex/allowed_deps.txt
@@ -57,17 +57,15 @@
 androidx.activity_activity(minSdkVersion:14)
 androidx.activity_activity-ktx(minSdkVersion:14)
 androidx.annotation_annotation(minSdkVersion:24)
-androidx.annotation_annotation(minSdkVersion:current)
+androidx.annotation_annotation-experimental(minSdkVersion:14)
 androidx.appcompat_appcompat(minSdkVersion:14)
 androidx.appcompat_appcompat-resources(minSdkVersion:14)
 androidx.arch.core_core-common(minSdkVersion:24)
-androidx.arch.core_core-common(minSdkVersion:current)
 androidx.arch.core_core-runtime(minSdkVersion:14)
 androidx.asynclayoutinflater_asynclayoutinflater(minSdkVersion:14)
 androidx.autofill_autofill(minSdkVersion:14)
 androidx.cardview_cardview(minSdkVersion:14)
 androidx.collection_collection(minSdkVersion:24)
-androidx.collection_collection(minSdkVersion:current)
 androidx.collection_collection-ktx(minSdkVersion:24)
 androidx.coordinatorlayout_coordinatorlayout(minSdkVersion:14)
 androidx.core_core(minSdkVersion:14)
@@ -87,7 +85,6 @@
 androidx.legacy_legacy-support-v13(minSdkVersion:14)
 androidx.legacy_legacy-support-v4(minSdkVersion:14)
 androidx.lifecycle_lifecycle-common(minSdkVersion:24)
-androidx.lifecycle_lifecycle-common(minSdkVersion:current)
 androidx.lifecycle_lifecycle-common-java8(minSdkVersion:24)
 androidx.lifecycle_lifecycle-extensions(minSdkVersion:14)
 androidx.lifecycle_lifecycle-livedata(minSdkVersion:14)
@@ -116,15 +113,24 @@
 androidx.recyclerview_recyclerview(minSdkVersion:14)
 androidx.recyclerview_recyclerview-selection(minSdkVersion:14)
 androidx.savedstate_savedstate(minSdkVersion:14)
+androidx.savedstate_savedstate-ktx(minSdkVersion:14)
 androidx.slidingpanelayout_slidingpanelayout(minSdkVersion:14)
 androidx.swiperefreshlayout_swiperefreshlayout(minSdkVersion:14)
+androidx.tracing_tracing(minSdkVersion:14)
 androidx.transition_transition(minSdkVersion:14)
 androidx.vectordrawable_vectordrawable(minSdkVersion:14)
 androidx.vectordrawable_vectordrawable-animated(minSdkVersion:14)
 androidx.versionedparcelable_versionedparcelable(minSdkVersion:14)
+androidx.viewpager2_viewpager2(minSdkVersion:14)
 androidx.viewpager_viewpager(minSdkVersion:14)
 apache-commons-compress(minSdkVersion:current)
 art.module.public.api.stubs(minSdkVersion:(no version))
+audio_common-aidl-unstable-cpp(minSdkVersion:29)
+audioclient-types-aidl-unstable-cpp(minSdkVersion:29)
+audioflinger-aidl-unstable-cpp(minSdkVersion:29)
+audiopolicy-aidl-unstable-cpp(minSdkVersion:29)
+av-headers(minSdkVersion:29)
+av-types-aidl-unstable-cpp(minSdkVersion:29)
 bcm_object(minSdkVersion:29)
 bionic_libc_platform_headers(minSdkVersion:29)
 boringssl_self_test(minSdkVersion:29)
@@ -165,7 +171,9 @@
 DocumentsUI-res-lib(minSdkVersion:29)
 exoplayer2-extractor(minSdkVersion:16)
 exoplayer2-extractor-annotation-stubs(minSdkVersion:16)
+ExtServices(minSdkVersion:30)
 ExtServices(minSdkVersion:current)
+ExtServices-core(minSdkVersion:30)
 ExtServices-core(minSdkVersion:current)
 flatbuffer_headers(minSdkVersion:(no version))
 fmtlib(minSdkVersion:29)
@@ -176,10 +184,14 @@
 framework-tethering(minSdkVersion:30)
 framework-tethering(minSdkVersion:current)
 gemmlowp_headers(minSdkVersion:(no version))
+geotz(minSdkVersion:current)
+geotz_lookup(minSdkVersion:30)
+geotz_s2storage_ro(minSdkVersion:30)
 GoogleCellBroadcastApp(minSdkVersion:29)
 GoogleCellBroadcastServiceModule(minSdkVersion:29)
+GoogleExtServices(minSdkVersion:30)
 GoogleExtServices(minSdkVersion:current)
-GooglePermissionController(minSdkVersion:28)
+GooglePermissionController(minSdkVersion:30)
 guava(minSdkVersion:current)
 gwp_asan_headers(minSdkVersion:(no version))
 i18n.module.public.api.stubs(minSdkVersion:(no version))
@@ -209,13 +221,15 @@
 libadbd(minSdkVersion:(no version))
 libadbd_core(minSdkVersion:(no version))
 libadbd_services(minSdkVersion:(no version))
-liballoc.rust_sysroot(minSdkVersion:29)
+liballoc.rust_sysroot(minSdkVersion:(no version))
 libamrextractor(minSdkVersion:29)
 libapp_processes_protos_lite(minSdkVersion:(no version))
 libarect(minSdkVersion:29)
 libasyncio(minSdkVersion:(no version))
 libatomic(minSdkVersion:(no version))
 libaudio_system_headers(minSdkVersion:29)
+libaudioclient_aidl_conversion(minSdkVersion:29)
+libaudioclient_aidl_conversion_util(minSdkVersion:29)
 libaudioclient_headers(minSdkVersion:29)
 libaudiofoundation_headers(minSdkVersion:29)
 libaudioutils(minSdkVersion:29)
@@ -224,10 +238,11 @@
 libavcenc(minSdkVersion:29)
 libavservices_minijail(minSdkVersion:29)
 libbacktrace_headers(minSdkVersion:apex_inherit)
-libbacktrace_rs.rust_sysroot(minSdkVersion:29)
-libbacktrace_sys.rust_sysroot(minSdkVersion:29)
+libbacktrace_rs.rust_sysroot(minSdkVersion:(no version))
+libbacktrace_sys.rust_sysroot(minSdkVersion:(no version))
 libbase(minSdkVersion:29)
 libbase_headers(minSdkVersion:29)
+libbinder(minSdkVersion:29)
 libbinder_headers(minSdkVersion:29)
 libbinderthreadstateutils(minSdkVersion:29)
 libbluetooth-types-header(minSdkVersion:29)
@@ -241,8 +256,8 @@
 libc_headers(minSdkVersion:apex_inherit)
 libc_headers_arch(minSdkVersion:apex_inherit)
 libcap(minSdkVersion:29)
-libcfg_if(minSdkVersion:29)
-libcfg_if.rust_sysroot(minSdkVersion:29)
+libcfg_if(minSdkVersion:(no version))
+libcfg_if.rust_sysroot(minSdkVersion:(no version))
 libclang_rt.hwasan-aarch64-android.llndk(minSdkVersion:(no version))
 libcodec2(minSdkVersion:29)
 libcodec2_headers(minSdkVersion:29)
@@ -281,8 +296,8 @@
 libcodec2_soft_vp9dec(minSdkVersion:29)
 libcodec2_soft_vp9enc(minSdkVersion:29)
 libcodec2_vndk(minSdkVersion:29)
-libcompiler_builtins.rust_sysroot(minSdkVersion:29)
-libcore.rust_sysroot(minSdkVersion:29)
+libcompiler_builtins.rust_sysroot(minSdkVersion:(no version))
+libcore.rust_sysroot(minSdkVersion:(no version))
 libcrypto(minSdkVersion:29)
 libcrypto_static(minSdkVersion:(no version))
 libcrypto_utils(minSdkVersion:(no version))
@@ -294,6 +309,8 @@
 libdl(minSdkVersion:(no version))
 libdmabufheap(minSdkVersion:29)
 libeigen(minSdkVersion:(no version))
+libextservices(minSdkVersion:30)
+libextservices_jni(minSdkVersion:30)
 libfifo(minSdkVersion:29)
 libFLAC(minSdkVersion:29)
 libFLAC-config(minSdkVersion:29)
@@ -305,7 +322,7 @@
 libgav1(minSdkVersion:29)
 libgcc(minSdkVersion:(no version))
 libgcc_stripped(minSdkVersion:(no version))
-libgetopts(minSdkVersion:29)
+libgetopts(minSdkVersion:(no version))
 libgralloctypes(minSdkVersion:29)
 libgrallocusage(minSdkVersion:29)
 libgsm(minSdkVersion:apex_inherit)
@@ -314,7 +331,7 @@
 libgui_headers(minSdkVersion:29)
 libhardware(minSdkVersion:29)
 libhardware_headers(minSdkVersion:29)
-libhashbrown.rust_sysroot(minSdkVersion:29)
+libhashbrown.rust_sysroot(minSdkVersion:(no version))
 libhevcdec(minSdkVersion:29)
 libhevcenc(minSdkVersion:29)
 libhidlbase(minSdkVersion:29)
@@ -324,15 +341,16 @@
 libion(minSdkVersion:29)
 libjavacrypto(minSdkVersion:29)
 libjsoncpp(minSdkVersion:29)
-liblazy_static(minSdkVersion:29)
-liblibc(minSdkVersion:29)
-liblibc.rust_sysroot(minSdkVersion:29)
+liblazy_static(minSdkVersion:(no version))
+liblibc(minSdkVersion:(no version))
+liblibc.rust_sysroot(minSdkVersion:(no version))
 libLibGuiProperties(minSdkVersion:29)
-liblibm(minSdkVersion:29)
+liblibm(minSdkVersion:(no version))
 liblog(minSdkVersion:(no version))
 liblog_headers(minSdkVersion:29)
-liblog_rust(minSdkVersion:29)
+liblog_rust(minSdkVersion:(no version))
 liblua(minSdkVersion:(no version))
+liblua(minSdkVersion:30)
 liblz4(minSdkVersion:(no version))
 libm(minSdkVersion:(no version))
 libmath(minSdkVersion:29)
@@ -343,6 +361,9 @@
 libmedia_helper_headers(minSdkVersion:29)
 libmedia_midiiowrapper(minSdkVersion:29)
 libmediaparser-jni(minSdkVersion:29)
+libmediatranscoder(minSdkVersion:29)
+libmediatranscoding(minSdkVersion:29)
+libmediatranscodingservice(minSdkVersion:29)
 libmidiextractor(minSdkVersion:29)
 libminijail(minSdkVersion:29)
 libminijail_gen_constants(minSdkVersion:(no version))
@@ -369,27 +390,35 @@
 libneuralnetworks_common(minSdkVersion:(no version))
 libneuralnetworks_headers(minSdkVersion:(no version))
 liboggextractor(minSdkVersion:29)
-libonce_cell(minSdkVersion:29)
+libonce_cell(minSdkVersion:(no version))
 libopus(minSdkVersion:29)
-libpanic_unwind.rust_sysroot(minSdkVersion:29)
+libpanic_unwind.rust_sysroot(minSdkVersion:(no version))
 libprocessgroup(minSdkVersion:29)
 libprocessgroup_headers(minSdkVersion:29)
 libprocpartition(minSdkVersion:(no version))
-libprofiler_builtins.rust_sysroot(minSdkVersion:29)
+libprofile-clang-extras(minSdkVersion:(no version))
+libprofile-clang-extras_cfi_support(minSdkVersion:(no version))
+libprofile-clang-extras_ndk(minSdkVersion:(no version))
+libprofile-extras(minSdkVersion:(no version))
+libprofile-extras_ndk(minSdkVersion:(no version))
+libprofiler_builtins.rust_sysroot(minSdkVersion:(no version))
 libprotobuf-cpp-lite(minSdkVersion:29)
 libprotobuf-java-lite(minSdkVersion:current)
 libprotobuf-java-nano(minSdkVersion:9)
 libprotoutil(minSdkVersion:(no version))
 libqemu_pipe(minSdkVersion:(no version))
-libquiche_ffi(minSdkVersion:29)
-libring(minSdkVersion:29)
+libquiche_ffi(minSdkVersion:(no version))
+libquiche_ffi_headers(minSdkVersion:29)
+libring(minSdkVersion:(no version))
 libring-core(minSdkVersion:29)
-librustc_demangle.rust_sysroot(minSdkVersion:29)
+librustc_demangle.rust_sysroot(minSdkVersion:(no version))
 libsdk_proto(minSdkVersion:30)
 libsfplugin_ccodec_utils(minSdkVersion:29)
+libshmemcompat(minSdkVersion:29)
+libshmemutil(minSdkVersion:29)
 libsonivoxwithoutjet(minSdkVersion:29)
 libspeexresampler(minSdkVersion:29)
-libspin(minSdkVersion:29)
+libspin(minSdkVersion:(no version))
 libssl(minSdkVersion:29)
 libstagefright_amrnb_common(minSdkVersion:29)
 libstagefright_amrnbdec(minSdkVersion:29)
@@ -398,6 +427,7 @@
 libstagefright_amrwbenc(minSdkVersion:29)
 libstagefright_bufferpool@2.0.1(minSdkVersion:29)
 libstagefright_bufferqueue_helper(minSdkVersion:29)
+libstagefright_bufferqueue_helper_novndk(minSdkVersion:29)
 libstagefright_enc_common(minSdkVersion:29)
 libstagefright_esds(minSdkVersion:29)
 libstagefright_flacdec(minSdkVersion:29)
@@ -420,24 +450,30 @@
 libstatspush_compat(minSdkVersion:29)
 libstatssocket(minSdkVersion:(no version))
 libstatssocket_headers(minSdkVersion:29)
-libstd(minSdkVersion:29)
+libstd(minSdkVersion:(no version))
 libsystem_headers(minSdkVersion:apex_inherit)
 libsysutils(minSdkVersion:apex_inherit)
-libterm(minSdkVersion:29)
-libtest(minSdkVersion:29)
+libterm(minSdkVersion:(no version))
+libtest(minSdkVersion:(no version))
 libtetherutilsjni(minSdkVersion:30)
 libtetherutilsjni(minSdkVersion:current)
 libtextclassifier(minSdkVersion:(no version))
-libtextclassifier-java(minSdkVersion:current)
+libtextclassifier(minSdkVersion:30)
+libtextclassifier-java(minSdkVersion:28)
+libtextclassifier_abseil(minSdkVersion:30)
+libtextclassifier_flatbuffer_headers(minSdkVersion:(no version))
+libtextclassifier_flatbuffer_headers(minSdkVersion:30)
 libtextclassifier_hash_headers(minSdkVersion:(no version))
 libtextclassifier_hash_static(minSdkVersion:(no version))
 libtflite_kernel_utils(minSdkVersion:(no version))
 libtflite_static(minSdkVersion:(no version))
+libtflite_static(minSdkVersion:30)
 libui(minSdkVersion:29)
+libui-types(minSdkVersion:apex_inherit)
 libui_headers(minSdkVersion:29)
-libunicode_width.rust_sysroot(minSdkVersion:29)
-libuntrusted(minSdkVersion:29)
-libunwind.rust_sysroot(minSdkVersion:29)
+libunicode_width.rust_sysroot(minSdkVersion:(no version))
+libuntrusted(minSdkVersion:(no version))
+libunwind.rust_sysroot(minSdkVersion:(no version))
 libunwind_llvm(minSdkVersion:apex_inherit)
 libutf(minSdkVersion:(no version))
 libutils(minSdkVersion:apex_inherit)
@@ -450,9 +486,14 @@
 libyuv(minSdkVersion:29)
 libyuv_static(minSdkVersion:29)
 libzstd(minSdkVersion:(no version))
+marisa-trie(minSdkVersion:(no version))
+marisa-trie(minSdkVersion:30)
 media_ndk_headers(minSdkVersion:29)
 media_plugin_headers(minSdkVersion:29)
 mediaswcodec(minSdkVersion:29)
+mediatranscoding(minSdkVersion:29)
+mediatranscoding_aidl_interface-java(minSdkVersion:29)
+mediatranscoding_aidl_interface-ndk_platform(minSdkVersion:29)
 metrics-constants-protos(minSdkVersion:29)
 modules-utils-build(minSdkVersion:29)
 ndk_crtbegin_so.19(minSdkVersion:(no version))
@@ -461,6 +502,7 @@
 ndk_crtend_so.19(minSdkVersion:(no version))
 ndk_crtend_so.21(minSdkVersion:(no version))
 ndk_crtend_so.27(minSdkVersion:(no version))
+ndk_libandroid_support(minSdkVersion:(no version))
 ndk_libc++_static(minSdkVersion:(no version))
 ndk_libc++_static(minSdkVersion:16)
 ndk_libc++abi(minSdkVersion:(no version))
@@ -475,6 +517,7 @@
 netd_event_listener_interface-ndk_platform(minSdkVersion:29)
 netd_event_listener_interface-unstable-ndk_platform(minSdkVersion:29)
 netlink-client(minSdkVersion:29)
+networkstack-aidl-interfaces-java(minSdkVersion:29)
 networkstack-aidl-interfaces-unstable-java(minSdkVersion:29)
 networkstack-client(minSdkVersion:29)
 NetworkStackApiStableDependencies(minSdkVersion:29)
@@ -487,7 +530,8 @@
 neuralnetworks_utils_hal_1_3(minSdkVersion:30)
 neuralnetworks_utils_hal_common(minSdkVersion:30)
 neuralnetworks_utils_hal_service(minSdkVersion:30)
-PermissionController(minSdkVersion:28)
+offlinelocationtimezoneprovider(minSdkVersion:current)
+PermissionController(minSdkVersion:30)
 permissioncontroller-statsd(minSdkVersion:current)
 philox_random(minSdkVersion:(no version))
 philox_random_headers(minSdkVersion:(no version))
@@ -495,6 +539,7 @@
 prebuilt_androidx-constraintlayout_constraintlayout-solver-nodeps(minSdkVersion:current)
 prebuilt_androidx.activity_activity-ktx-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.activity_activity-nodeps(minSdkVersion:(no version))
+prebuilt_androidx.annotation_annotation-experimental-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.annotation_annotation-nodeps(minSdkVersion:current)
 prebuilt_androidx.appcompat_appcompat-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.appcompat_appcompat-resources-nodeps(minSdkVersion:(no version))
@@ -548,13 +593,16 @@
 prebuilt_androidx.print_print-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.recyclerview_recyclerview-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.recyclerview_recyclerview-selection-nodeps(minSdkVersion:(no version))
+prebuilt_androidx.savedstate_savedstate-ktx-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.savedstate_savedstate-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.slidingpanelayout_slidingpanelayout-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.swiperefreshlayout_swiperefreshlayout-nodeps(minSdkVersion:(no version))
+prebuilt_androidx.tracing_tracing-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.transition_transition-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.vectordrawable_vectordrawable-animated-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.vectordrawable_vectordrawable-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.versionedparcelable_versionedparcelable-nodeps(minSdkVersion:(no version))
+prebuilt_androidx.viewpager2_viewpager2-nodeps(minSdkVersion:(no version))
 prebuilt_androidx.viewpager_viewpager-nodeps(minSdkVersion:(no version))
 prebuilt_com.google.android.material_material-nodeps(minSdkVersion:(no version))
 prebuilt_error_prone_annotations(minSdkVersion:(no version))
@@ -566,6 +614,8 @@
 prebuilt_libclang_rt.builtins-i686-android(minSdkVersion:(no version))
 prebuilt_libclang_rt.builtins-x86_64-android(minSdkVersion:(no version))
 prebuilt_test_framework-sdkextensions(minSdkVersion:(no version))
+resourceobserver_aidl_interface-ndk_platform(minSdkVersion:29)
+s2-geometry-library-java(minSdkVersion:30)
 server_configurable_flags(minSdkVersion:29)
 service-permission(minSdkVersion:current)
 service-statsd(minSdkVersion:current)
@@ -579,6 +629,7 @@
 SettingsLibSearchWidget(minSdkVersion:21)
 SettingsLibSettingsTheme(minSdkVersion:21)
 SettingsLibUtils(minSdkVersion:21)
+shared-file-region-aidl-unstable-cpp(minSdkVersion:29)
 stats_proto(minSdkVersion:29)
 statsd(minSdkVersion:(no version))
 statsd-aidl-ndk_platform(minSdkVersion:(no version))
@@ -590,8 +641,10 @@
 TetheringApiCurrentLib(minSdkVersion:current)
 TetheringGoogle(minSdkVersion:30)
 TetheringGoogle(minSdkVersion:current)
+textclassifier-statsd(minSdkVersion:30)
 textclassifier-statsd(minSdkVersion:current)
 TextClassifierNotificationLibNoManifest(minSdkVersion:29)
 TextClassifierServiceLibNoManifest(minSdkVersion:28)
+TextClassifierServiceLibNoManifest(minSdkVersion:30)
 updatable-media(minSdkVersion:29)
 xz-java(minSdkVersion:current)
diff --git a/apex/apex.go b/apex/apex.go
index 5cd18ed..3a333ba 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -2646,7 +2646,6 @@
 		"libstagefright_amrwbdec",
 		"libstagefright_amrwbenc",
 		"libstagefright_bufferpool@2.0.1",
-		"libstagefright_bufferqueue_helper",
 		"libstagefright_enc_common",
 		"libstagefright_flacdec",
 		"libstagefright_foundation",
diff --git a/apex/apex_singleton.go b/apex/apex_singleton.go
index ee9fc81..c1aca95 100644
--- a/apex/apex_singleton.go
+++ b/apex/apex_singleton.go
@@ -17,9 +17,9 @@
 package apex
 
 import (
-	"android/soong/android"
-
 	"github.com/google/blueprint"
+
+	"android/soong/android"
 )
 
 func init() {
diff --git a/apex/prebuilt.go b/apex/prebuilt.go
index 7931e9e..e6fe357 100644
--- a/apex/prebuilt.go
+++ b/apex/prebuilt.go
@@ -21,7 +21,6 @@
 
 	"android/soong/android"
 	"android/soong/java"
-
 	"github.com/google/blueprint"
 
 	"github.com/google/blueprint/proptools"
@@ -266,9 +265,6 @@
 	// list of commands to create symlinks for backward compatibility.
 	// these commands will be attached as LOCAL_POST_INSTALL_CMD
 	compatSymlinks []string
-
-	hostRequired        []string
-	postInstallCommands []string
 }
 
 type ApexSetProperties struct {
@@ -407,43 +403,21 @@
 	for _, overridden := range a.properties.Overrides {
 		a.compatSymlinks = append(a.compatSymlinks, makeCompatSymlinks(overridden, ctx)...)
 	}
-
-	if ctx.Config().InstallExtraFlattenedApexes() {
-		// flattened apex should be in /system_ext/apex
-		flattenedApexDir := android.PathForModuleInstall(&systemExtContext{ctx}, "apex", a.BaseModuleName())
-		a.postInstallCommands = append(a.postInstallCommands,
-			fmt.Sprintf("$(HOST_OUT_EXECUTABLES)/deapexer --debugfs_path $(HOST_OUT_EXECUTABLES)/debugfs extract %s %s",
-				a.outputApex.String(),
-				flattenedApexDir.ToMakePath().String(),
-			))
-		a.hostRequired = []string{"deapexer", "debugfs"}
-	}
-}
-
-type systemExtContext struct {
-	android.ModuleContext
-}
-
-func (*systemExtContext) SystemExtSpecific() bool {
-	return true
 }
 
 func (a *ApexSet) AndroidMkEntries() []android.AndroidMkEntries {
 	return []android.AndroidMkEntries{android.AndroidMkEntries{
-		Class:         "ETC",
-		OutputFile:    android.OptionalPathForPath(a.outputApex),
-		Include:       "$(BUILD_PREBUILT)",
-		Host_required: a.hostRequired,
+		Class:      "ETC",
+		OutputFile: android.OptionalPathForPath(a.outputApex),
+		Include:    "$(BUILD_PREBUILT)",
 		ExtraEntries: []android.AndroidMkExtraEntriesFunc{
 			func(entries *android.AndroidMkEntries) {
 				entries.SetString("LOCAL_MODULE_PATH", a.installDir.ToMakePath().String())
 				entries.SetString("LOCAL_MODULE_STEM", a.installFilename)
 				entries.SetBoolIfTrue("LOCAL_UNINSTALLABLE_MODULE", !a.installable())
 				entries.AddStrings("LOCAL_OVERRIDES_MODULES", a.properties.Overrides...)
-				postInstallCommands := append([]string{}, a.postInstallCommands...)
-				postInstallCommands = append(postInstallCommands, a.compatSymlinks...)
-				if len(postInstallCommands) > 0 {
-					entries.SetString("LOCAL_POST_INSTALL_CMD", strings.Join(postInstallCommands, " && "))
+				if len(a.compatSymlinks) > 0 {
+					entries.SetString("LOCAL_POST_INSTALL_CMD", strings.Join(a.compatSymlinks, " && "))
 				}
 			},
 		},
diff --git a/cc/cc.go b/cc/cc.go
index ca2bd4f..7fa3840 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -456,6 +456,7 @@
 	nativeCoverage() bool
 	directlyInAnyApex() bool
 	isPreventInstall() bool
+	isCfiAssemblySupportEnabled() bool
 }
 
 type ModuleContext interface {
@@ -1230,6 +1231,11 @@
 	return c.kytheFiles
 }
 
+func (c *Module) isCfiAssemblySupportEnabled() bool {
+	return c.sanitize != nil &&
+		Bool(c.sanitize.Properties.Sanitize.Config.Cfi_assembly_support)
+}
+
 type baseModuleContext struct {
 	android.BaseModuleContext
 	moduleContextImpl
@@ -1395,6 +1401,10 @@
 	return ctx.mod.Properties.PreventInstall
 }
 
+func (ctx *moduleContextImpl) isCfiAssemblySupportEnabled() bool {
+	return ctx.mod.isCfiAssemblySupportEnabled()
+}
+
 func newBaseModule(hod android.HostOrDeviceSupported, multilib android.Multilib) *Module {
 	return &Module{
 		hod:      hod,
diff --git a/cc/config/vndk.go b/cc/config/vndk.go
index 0aa6866..53600ba 100644
--- a/cc/config/vndk.go
+++ b/cc/config/vndk.go
@@ -20,12 +20,15 @@
 var VndkMustUseVendorVariantList = []string{
 	"android.hardware.authsecret-unstable-ndk_platform",
 	"android.hardware.automotive.occupant_awareness-ndk_platform",
+	"android.hardware.gnss-unstable-ndk_platform",
 	"android.hardware.light-ndk_platform",
 	"android.hardware.identity-ndk_platform",
 	"android.hardware.nfc@1.2",
 	"android.hardware.memtrack-unstable-ndk_platform",
 	"android.hardware.oemlock-unstable-ndk_platform",
 	"android.hardware.power-ndk_platform",
+	"android.hardware.power.stats-ndk_platform",
+	"android.hardware.power.stats-unstable-ndk_platform",
 	"android.hardware.rebootescrow-ndk_platform",
 	"android.hardware.security.keymint-unstable-ndk_platform",
 	"android.hardware.vibrator-ndk_platform",
diff --git a/cc/coverage.go b/cc/coverage.go
index acf98dd..5b5ccf2 100644
--- a/cc/coverage.go
+++ b/cc/coverage.go
@@ -58,6 +58,8 @@
 func getClangProfileLibraryName(ctx ModuleContextIntf) string {
 	if ctx.useSdk() {
 		return "libprofile-clang-extras_ndk"
+	} else if ctx.isCfiAssemblySupportEnabled() {
+		return "libprofile-clang-extras_cfi_support"
 	} else {
 		return "libprofile-clang-extras"
 	}
diff --git a/java/legacy_core_platform_api_usage.go b/java/legacy_core_platform_api_usage.go
index 021920a..82d6ac3 100644
--- a/java/legacy_core_platform_api_usage.go
+++ b/java/legacy_core_platform_api_usage.go
@@ -19,11 +19,9 @@
 	"android/soong/java/config"
 )
 
-// This variable is effectively unused in pre-master branches, and is
-// included (with the same value as it has in AOSP) only to ease
-// merges between branches (see the comment in the
-// useLegacyCorePlatformApi() function):
 var legacyCorePlatformApiModules = []string{
+	"AAECarSystemUI",
+	"AAECarSystemUI-tests",
 	"ahat-test-dump",
 	"android.car",
 	"android.test.mock",
@@ -33,27 +31,49 @@
 	"api-stubs-docs",
 	"art_cts_jvmti_test_library",
 	"art-gtest-jars-MyClassNatives",
+	"BackupEncryption",
 	"BackupFrameworksServicesRoboTests",
+	"backuplib",
 	"BandwidthEnforcementTest",
 	"BlockedNumberProvider",
 	"BluetoothInstrumentationTests",
+	"BluetoothMidiLib",
 	"BluetoothMidiService",
-	"car-apps-common",
+	"BTTestApp",
+	"CallEnhancement",
+	"CapCtrlInterface",
+	"CarService",
+	"CarServiceTest",
+	"car-service-test-lib",
+	"car-service-test-static-lib",
 	"CertInstaller",
+	"com.qti.location.sdk",
+	"com.qti.media.secureprocessor",
 	"ConnectivityManagerTest",
 	"ContactsProvider",
+	"CorePerfTests",
 	"core-tests-support",
+	"cronet_impl_common_java",
+	"cronet_impl_native_java",
+	"cronet_impl_platform_java",
+	"CtsAppExitTestCases",
 	"CtsContentTestCases",
-	"CtsIkeTestCases",
 	"CtsLibcoreWycheproofBCTestCases",
 	"CtsMediaTestCases",
 	"CtsNetTestCases",
 	"CtsNetTestCasesLatestSdk",
 	"CtsSecurityTestCases",
+	"CtsSuspendAppsTestCases",
 	"CtsUsageStatsTestCases",
+	"DeadpoolService",
+	"DeadpoolServiceBtServices",
+	"DeviceInfo",
+	"DiagnosticTools",
 	"DisplayCutoutEmulationEmu01Overlay",
+	"DocumentsUIGoogleTests",
 	"DocumentsUIPerfTests",
 	"DocumentsUITests",
+	"DocumentsUIUnitTests",
 	"DownloadProvider",
 	"DownloadProviderTests",
 	"DownloadProviderUi",
@@ -62,10 +82,12 @@
 	"ethernet-service",
 	"EthernetServiceTests",
 	"ExternalStorageProvider",
-	"ExtServices",
-	"ExtServices-core",
-	"framework-all",
+	"face-V1-0-javalib",
+	"FloralClocks",
+	"framework-jobscheduler",
 	"framework-minus-apex",
+	"framework-minus-apex-intdefs",
+	"FrameworkOverlayG6QU3",
 	"FrameworksCoreTests",
 	"FrameworksIkeTests",
 	"FrameworksNetCommonTests",
@@ -73,28 +95,53 @@
 	"FrameworksServicesRoboTests",
 	"FrameworksServicesTests",
 	"FrameworksUtilTests",
+	"GtsIncrementalInstallTestCases",
+	"GtsIncrementalInstallTriggerApp",
+	"GtsInstallerV2TestCases",
+	"HelloOslo",
 	"hid",
 	"hidl_test_java_java",
 	"hwbinder",
-	"ims",
+	"imssettings",
+	"izat.lib.glue",
 	"KeyChain",
-	"ksoap2",
+	"LocalSettingsLib",
 	"LocalTransport",
 	"lockagent",
 	"mediaframeworktest",
-	"MediaProvider",
+	"mediatek-ims-base",
 	"MmsService",
-	"MtpDocumentsProvider",
+	"ModemTestMode",
+	"MtkCapCtrl",
+	"MtpService",
 	"MultiDisplayProvider",
+	"my.tests.snapdragonsdktest",
+	"NetworkSetting",
 	"NetworkStackIntegrationTestsLib",
 	"NetworkStackNextIntegrationTests",
 	"NetworkStackNextTests",
 	"NetworkStackTests",
 	"NetworkStackTestsLib",
-	"NfcNci",
+	"online-gcm-ref-docs",
+	"online-gts-docs",
+	"PerformanceMode",
 	"platform_library-docs",
+	"PowerStatsService",
 	"PrintSpooler",
+	"pxp-monitor",
+	"QColor",
+	"qcom.fmradio",
+	"QDCMMobileApp",
+	"Qmmi",
+	"QPerformance",
+	"remotesimlockmanagerlibrary",
 	"RollbackTest",
+	"sam",
+	"saminterfacelibrary",
+	"sammanagerlibrary",
+	"service-blobstore",
+	"service-connectivity",
+	"service-jobscheduler",
 	"services",
 	"services.accessibility",
 	"services.backup",
@@ -104,21 +151,50 @@
 	"services.usage",
 	"services.usb",
 	"Settings-core",
+	"SettingsGoogleOverlayCoral",
+	"SettingsGoogleOverlayFlame",
 	"SettingsLib",
+	"SettingsOverlayG020A",
+	"SettingsOverlayG020B",
+	"SettingsOverlayG020C",
+	"SettingsOverlayG020D",
+	"SettingsOverlayG020E",
+	"SettingsOverlayG020E_VN",
+	"SettingsOverlayG020F",
+	"SettingsOverlayG020F_VN",
+	"SettingsOverlayG020G",
+	"SettingsOverlayG020G_VN",
+	"SettingsOverlayG020H",
+	"SettingsOverlayG020H_VN",
+	"SettingsOverlayG020I",
+	"SettingsOverlayG020I_VN",
+	"SettingsOverlayG020J",
+	"SettingsOverlayG020M",
+	"SettingsOverlayG020N",
+	"SettingsOverlayG020P",
+	"SettingsOverlayG020Q",
+	"SettingsOverlayG025H",
+	"SettingsOverlayG025J",
+	"SettingsOverlayG025M",
+	"SettingsOverlayG025N",
+	"SettingsOverlayG5NZ6",
 	"SettingsProvider",
 	"SettingsProviderTest",
 	"SettingsRoboTests",
 	"Shell",
 	"ShellTests",
+	"SimContact",
+	"SimContacts",
+	"SimSettings",
 	"sl4a.Common",
 	"StatementService",
 	"SystemUI-core",
 	"SystemUISharedLib",
 	"SystemUI-tests",
+	"tcmiface",
 	"Telecom",
 	"TelecomUnitTests",
 	"telephony-common",
-	"TelephonyProvider",
 	"TelephonyProviderTests",
 	"TeleService",
 	"testables",
@@ -128,18 +204,18 @@
 	"time_zone_distro_installer-tests",
 	"time_zone_distro-tests",
 	"time_zone_updater",
+	"TMobilePlanProvider",
 	"TvProvider",
 	"uiautomator-stubs-docs",
+	"uimgbamanagerlibrary",
 	"UsbHostExternalManagementTestApp",
 	"UserDictionaryProvider",
+	"UxPerformance",
 	"WallpaperBackup",
-	"wifi-service",
+	"WallpaperBackupAgentTests",
+	"WfdCommon",
 }
 
-// This variable is effectively unused in pre-master branches, and is
-// included (with the same value as it has in AOSP) only to ease
-// merges between branches (see the comment in the
-// useLegacyCorePlatformApi() function):
 var legacyCorePlatformApiLookup = make(map[string]struct{})
 
 func init() {
@@ -149,12 +225,8 @@
 }
 
 func useLegacyCorePlatformApi(ctx android.EarlyModuleContext) bool {
-	// In pre-master branches, we don't attempt to force usage of the stable
-	// version of the core/platform API. Instead, we always use the legacy
-	// version --- except in tests, where we always use stable, so that we
-	// can make the test assertions the same as other branches.
-	// This should be false in tests and true otherwise:
-	return ctx.Config().TestProductVariables == nil
+	_, found := legacyCorePlatformApiLookup[ctx.ModuleName()]
+	return found
 }
 
 func corePlatformSystemModules(ctx android.EarlyModuleContext) string {
diff --git a/java/robolectric.go b/java/robolectric.go
index c821e5b..4efdf1e 100644
--- a/java/robolectric.go
+++ b/java/robolectric.go
@@ -389,10 +389,8 @@
 		}
 		runtimeFromSourceJar := android.OutputFileForModule(ctx, runtimeFromSourceModule, "")
 
-		// TODO(murj) Update this to ctx.Config().PlatformSdkCodename() once the platform
-		// classes like android.os.Build are updated to S.
 		runtimeName := fmt.Sprintf("android-all-%s-robolectric-r0.jar",
-			"R")
+			    ctx.Config().PlatformSdkCodename())
 		installedRuntime := ctx.InstallFile(androidAllDir, runtimeName, runtimeFromSourceJar)
 		r.runtimes = append(r.runtimes, installedRuntime)
 	}
