diff --git a/android/variable.go b/android/variable.go
index be12a0a..d9c2ac2 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -130,6 +130,7 @@
 		Arc struct {
 			Cflags            []string `android:"arch_variant"`
 			Exclude_srcs      []string `android:"arch_variant"`
+			Header_libs       []string `android:"arch_variant"`
 			Include_dirs      []string `android:"arch_variant"`
 			Shared_libs       []string `android:"arch_variant"`
 			Static_libs       []string `android:"arch_variant"`
diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt
index ad069e0..ffbf6e4 100644
--- a/apex/allowed_deps.txt
+++ b/apex/allowed_deps.txt
@@ -46,8 +46,27 @@
 android.hardware.neuralnetworks@1.3(minSdkVersion:30)
 android.hardware.tetheroffload.config-V1.0-java(minSdkVersion:current)
 android.hardware.tetheroffload.control-V1.0-java(minSdkVersion:current)
+android.hardware.wifi-V1.0-java(minSdkVersion:30)
+android.hardware.wifi-V1.0-java-constants(minSdkVersion:30)
+android.hardware.wifi-V1.1-java(minSdkVersion:30)
+android.hardware.wifi-V1.2-java(minSdkVersion:30)
+android.hardware.wifi-V1.3-java(minSdkVersion:30)
+android.hardware.wifi-V1.4-java(minSdkVersion:30)
+android.hardware.wifi-V1.5-java(minSdkVersion:30)
+android.hardware.wifi.hostapd-V1.0-java(minSdkVersion:30)
+android.hardware.wifi.hostapd-V1.1-java(minSdkVersion:30)
+android.hardware.wifi.hostapd-V1.2-java(minSdkVersion:30)
+android.hardware.wifi.hostapd-V1.3-java(minSdkVersion:30)
+android.hardware.wifi.supplicant-V1.0-java(minSdkVersion:30)
+android.hardware.wifi.supplicant-V1.1-java(minSdkVersion:30)
+android.hardware.wifi.supplicant-V1.2-java(minSdkVersion:30)
+android.hardware.wifi.supplicant-V1.3-java(minSdkVersion:30)
+android.hardware.wifi.supplicant-V1.4-java(minSdkVersion:30)
 android.hidl.allocator@1.0(minSdkVersion:29)
 android.hidl.base-V1.0-java(minSdkVersion:current)
+android.hidl.manager-V1.0-java(minSdkVersion:30)
+android.hidl.manager-V1.1-java(minSdkVersion:30)
+android.hidl.manager-V1.2-java(minSdkVersion:30)
 android.hidl.memory.token@1.0(minSdkVersion:29)
 android.hidl.memory@1.0(minSdkVersion:29)
 android.hidl.safe_union@1.0(minSdkVersion:29)
@@ -61,17 +80,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)
@@ -92,7 +109,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)
@@ -121,18 +137,32 @@
 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-cpp(minSdkVersion:29)
+audioclient-types-aidl-unstable-cpp(minSdkVersion:29)
+audioflinger-aidl-cpp(minSdkVersion:29)
+audioflinger-aidl-unstable-cpp(minSdkVersion:29)
+audiopolicy-aidl-cpp(minSdkVersion:29)
+audiopolicy-aidl-unstable-cpp(minSdkVersion:29)
+av-headers(minSdkVersion:29)
+av-types-aidl-cpp(minSdkVersion:29)
+av-types-aidl-unstable-cpp(minSdkVersion:29)
 bcm_object(minSdkVersion:29)
 bionic_libc_platform_headers(minSdkVersion:29)
 boringssl_self_test(minSdkVersion:29)
+bouncycastle-unbundled(minSdkVersion:30)
 bouncycastle_ike_digests(minSdkVersion:current)
 bpf_syscall_wrappers(minSdkVersion:30)
 brotli-java(minSdkVersion:current)
@@ -175,7 +205,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)
@@ -185,15 +217,22 @@
 framework-permission(minSdkVersion:current)
 framework-permission-s(minSdkVersion:30)
 framework-permission-s-shared(minSdkVersion:30)
+framework-scheduling(minSdkVersion:current)
 framework-sdkextensions(minSdkVersion:30)
 framework-sdkextensions(minSdkVersion:current)
 framework-statsd(minSdkVersion:30)
 framework-statsd(minSdkVersion:current)
 framework-tethering(minSdkVersion:30)
 framework-tethering(minSdkVersion:current)
+framework-wifi(minSdkVersion:30)
+framework-wifi-util-lib(minSdkVersion:30)
 gemmlowp_headers(minSdkVersion:(no version))
+geotz(minSdkVersion:current)
+geotz_lookup(minSdkVersion:current)
+geotz_s2storage_ro(minSdkVersion:current)
 GoogleCellBroadcastApp(minSdkVersion:29)
 GoogleCellBroadcastServiceModule(minSdkVersion:29)
+GoogleExtServices(minSdkVersion:30)
 GoogleExtServices(minSdkVersion:current)
 GooglePermissionController(minSdkVersion:30)
 guava(minSdkVersion:current)
@@ -211,6 +250,7 @@
 jsr305(minSdkVersion:14)
 kotlinx-coroutines-android(minSdkVersion:current)
 kotlinx-coroutines-core(minSdkVersion:current)
+ksoap2(minSdkVersion:30)
 legacy.art.module.platform.api.stubs(minSdkVersion:(no version))
 legacy.core.platform.api.stubs(minSdkVersion:(no version))
 legacy.i18n.module.platform.api.stubs(minSdkVersion:(no version))
@@ -227,13 +267,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)
@@ -242,11 +284,12 @@
 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)
 libbase_ndk(minSdkVersion:29)
+libbinder(minSdkVersion:29)
 libbinder_headers(minSdkVersion:29)
 libbinder_headers_platform_shared(minSdkVersion:29)
 libbinderthreadstateutils(minSdkVersion:29)
@@ -261,8 +304,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)
@@ -301,8 +344,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))
@@ -315,6 +358,9 @@
 libdl(minSdkVersion:(no version))
 libdmabufheap(minSdkVersion:29)
 libeigen(minSdkVersion:(no version))
+libextservices(minSdkVersion:30)
+libextservices_jni(minSdkVersion:30)
+libfft2d(minSdkVersion:30)
 libfifo(minSdkVersion:29)
 libFLAC(minSdkVersion:29)
 libFLAC-config(minSdkVersion:29)
@@ -328,7 +374,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)
@@ -337,7 +383,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)
@@ -347,18 +393,20 @@
 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)
+libmath_headers(minSdkVersion:apex_inherit)
 libmdnssd(minSdkVersion:(no version))
 libmedia_codecserviceregistrant(minSdkVersion:29)
 libmedia_datasource_headers(minSdkVersion:29)
@@ -366,6 +414,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))
@@ -379,6 +430,7 @@
 libmp4extractor(minSdkVersion:29)
 libmpeg2dec(minSdkVersion:29)
 libmpeg2extractor(minSdkVersion:29)
+libnanohttpd(minSdkVersion:30)
 libnativebase_headers(minSdkVersion:29)
 libnativehelper_compat_libc++(minSdkVersion:(no version))
 libnativehelper_header_only(minSdkVersion:29)
@@ -392,28 +444,36 @@
 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))
 libruy_static(minSdkVersion:30)
 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)
@@ -422,6 +482,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)
@@ -439,6 +500,7 @@
 libstagefright_mpeg2support_nocrypto(minSdkVersion:29)
 libstats_jni(minSdkVersion:(no version))
 libstats_jni(minSdkVersion:30)
+libstatslog_media(minSdkVersion:29)
 libstatslog_resolv(minSdkVersion:29)
 libstatslog_statsd(minSdkVersion:(no version))
 libstatslog_statsd(minSdkVersion:30)
@@ -448,24 +510,30 @@
 libstatssocket(minSdkVersion:(no version))
 libstatssocket(minSdkVersion:30)
 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)
@@ -478,11 +546,16 @@
 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)
 MediaProvider(minSdkVersion:30)
 MediaProviderGoogle(minSdkVersion:30)
 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-annotation-minsdk(minSdkVersion:29)
 modules-utils-build(minSdkVersion:29)
@@ -494,6 +567,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))
@@ -505,6 +579,7 @@
 netd_aidl_interface-java(minSdkVersion:29)
 netd_aidl_interface-lateststable-java(minSdkVersion:29)
 netd_aidl_interface-unstable-java(minSdkVersion:29)
+netd_aidl_interface-V3-java(minSdkVersion:29)
 netd_aidl_interface-V5-java(minSdkVersion:29)
 netd_aidl_interface-V6-java(minSdkVersion:29)
 netd_event_listener_interface-java(minSdkVersion:29)
@@ -514,8 +589,10 @@
 netd_event_listener_interface-V1-ndk_platform(minSdkVersion:29)
 netd_event_listener_interface-V2-ndk_platform(minSdkVersion:29)
 netlink-client(minSdkVersion:29)
+networkstack-aidl-interfaces-java(minSdkVersion:29)
 networkstack-aidl-interfaces-unstable-java(minSdkVersion:29)
 networkstack-aidl-interfaces-V10-java(minSdkVersion:29)
+networkstack-aidl-interfaces-V9-java(minSdkVersion:29)
 networkstack-client(minSdkVersion:29)
 NetworkStackApi29Shims(minSdkVersion:29)
 NetworkStackApi30Shims(minSdkVersion:29)
@@ -535,6 +612,9 @@
 no_op(minSdkVersion:current)
 note_memtag_heap_async(minSdkVersion:16)
 note_memtag_heap_sync(minSdkVersion:16)
+offlinelocationtimezoneprovider(minSdkVersion:current)
+OsuLogin(minSdkVersion:30)
+OsuLoginGoogle(minSdkVersion:30)
 PermissionController(minSdkVersion:30)
 permissioncontroller-statsd(minSdkVersion:current)
 philox_random(minSdkVersion:(no version))
@@ -543,6 +623,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))
@@ -597,13 +678,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))
@@ -616,16 +700,25 @@
 prebuilt_libclang_rt.builtins-x86_64-android(minSdkVersion:(no version))
 prebuilt_libunwind(minSdkVersion:(no version))
 prebuilt_test_framework-sdkextensions(minSdkVersion:(no version))
+resourceobserver_aidl_interface-ndk_platform(minSdkVersion:29)
+resourceobserver_aidl_interface-V1-ndk_platform(minSdkVersion:29)
+s2-geometry-library-java(minSdkVersion:30)
 server_configurable_flags(minSdkVersion:29)
 service-media-s(minSdkVersion:29)
 service-permission(minSdkVersion:30)
 service-permission(minSdkVersion:current)
 service-permission-shared(minSdkVersion:30)
+service-scheduling(minSdkVersion:current)
 service-statsd(minSdkVersion:30)
 service-statsd(minSdkVersion:current)
+service-wifi(minSdkVersion:30)
+services.net-module-wifi(minSdkVersion:30)
+ServiceWifiResources(minSdkVersion:30)
+ServiceWifiResourcesGoogle(minSdkVersion:30)
 SettingsLibActionBarShadow(minSdkVersion:21)
 SettingsLibAppPreference(minSdkVersion:21)
 SettingsLibBarChartPreference(minSdkVersion:21)
+SettingsLibCollapsingToolbarBaseActivity(minSdkVersion:21)
 SettingsLibHelpUtils(minSdkVersion:21)
 SettingsLibLayoutPreference(minSdkVersion:21)
 SettingsLibProgressBar(minSdkVersion:21)
@@ -633,6 +726,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(minSdkVersion:30)
@@ -646,8 +740,14 @@
 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)
+tflite_support(minSdkVersion:30)
 updatable-media(minSdkVersion:29)
+wifi-lite-protos(minSdkVersion:30)
+wifi-nano-protos(minSdkVersion:30)
+wifi-service-pre-jarjar(minSdkVersion:30)
 xz-java(minSdkVersion:current)
diff --git a/apex/apex.go b/apex/apex.go
index e5b5c92..ca00226 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -2678,7 +2678,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 3280cd8..460e559 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"
@@ -437,9 +436,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 {
@@ -578,43 +574,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(ctx android.AndroidMkExtraEntriesContext, 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/config/vndk.go b/cc/config/vndk.go
index 425e349..d58c7a5 100644
--- a/cc/config/vndk.go
+++ b/cc/config/vndk.go
@@ -24,6 +24,9 @@
 	"android.hardware.authsecret-V1-ndk_platform",
 	"android.hardware.automotive.occupant_awareness-ndk_platform",
 	"android.hardware.automotive.occupant_awareness-V1-ndk_platform",
+	"android.hardware.gnss-unstable-ndk_platform",
+	"android.hardware.gnss-ndk_platform",
+	"android.hardware.gnss-V1-ndk_platform",
 	"android.hardware.health.storage-V1-ndk_platform",
 	"android.hardware.health.storage-ndk_platform",
 	"android.hardware.health.storage-unstable-ndk_platform",
@@ -40,10 +43,10 @@
 	"android.hardware.oemlock-unstable-ndk_platform",
 	"android.hardware.power-V1-ndk_platform",
 	"android.hardware.power-ndk_platform",
-	"android.hardware.rebootescrow-V1-ndk_platform",
 	"android.hardware.power.stats-V1-ndk_platform",
 	"android.hardware.power.stats-ndk_platform",
 	"android.hardware.power.stats-unstable-ndk_platform",
+	"android.hardware.rebootescrow-V1-ndk_platform",
 	"android.hardware.rebootescrow-ndk_platform",
 	"android.hardware.security.keymint-V1-ndk_platform",
 	"android.hardware.security.keymint-ndk_platform",
diff --git a/java/app.go b/java/app.go
index e4bba3c..eef627c 100755
--- a/java/app.go
+++ b/java/app.go
@@ -913,6 +913,8 @@
 		&module.appProperties,
 		&module.overridableAppProperties)
 
+	module.usesLibrary.enforce = true
+
 	android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
 	android.InitDefaultableModule(module)
 	android.InitOverridableModule(module, &module.appProperties.Overrides)
@@ -1183,6 +1185,9 @@
 // with knowledge of their shared libraries.
 type usesLibrary struct {
 	usesLibraryProperties UsesLibraryProperties
+
+	// Whether to enforce verify_uses_library check.
+	enforce bool
 }
 
 func (u *usesLibrary) addLib(lib string, optional bool) {
@@ -1267,7 +1272,7 @@
 func (u *usesLibrary) enforceUsesLibraries() bool {
 	defaultEnforceUsesLibs := len(u.usesLibraryProperties.Uses_libs) > 0 ||
 		len(u.usesLibraryProperties.Optional_uses_libs) > 0
-	return BoolDefault(u.usesLibraryProperties.Enforce_uses_libs, defaultEnforceUsesLibs)
+	return BoolDefault(u.usesLibraryProperties.Enforce_uses_libs, u.enforce || defaultEnforceUsesLibs)
 }
 
 // Freeze the value of `enforce_uses_libs` based on the current values of `uses_libs` and `optional_uses_libs`.
diff --git a/java/app_import.go b/java/app_import.go
index 16a3cb9..d4da64d 100644
--- a/java/app_import.go
+++ b/java/app_import.go
@@ -462,6 +462,8 @@
 	android.InitDefaultableModule(module)
 	android.InitSingleSourcePrebuiltModule(module, &module.properties, "Apk")
 
+	module.usesLibrary.enforce = true
+
 	return module
 }
 
diff --git a/java/app_import_test.go b/java/app_import_test.go
index 4994c98..cae41d0 100644
--- a/java/app_import_test.go
+++ b/java/app_import_test.go
@@ -222,31 +222,31 @@
 			name:                "no preferred",
 			aaptPreferredConfig: nil,
 			aaptPrebuiltDPI:     []string{},
-			expected:            "prebuilts/apk/app.apk",
+			expected:            "verify_uses_libraries/apk/app.apk",
 		},
 		{
 			name:                "AAPTPreferredConfig matches",
 			aaptPreferredConfig: proptools.StringPtr("xhdpi"),
 			aaptPrebuiltDPI:     []string{"xxhdpi", "ldpi"},
-			expected:            "prebuilts/apk/app_xhdpi.apk",
+			expected:            "verify_uses_libraries/apk/app_xhdpi.apk",
 		},
 		{
 			name:                "AAPTPrebuiltDPI matches",
 			aaptPreferredConfig: proptools.StringPtr("mdpi"),
 			aaptPrebuiltDPI:     []string{"xxhdpi", "xhdpi"},
-			expected:            "prebuilts/apk/app_xxhdpi.apk",
+			expected:            "verify_uses_libraries/apk/app_xxhdpi.apk",
 		},
 		{
 			name:                "non-first AAPTPrebuiltDPI matches",
 			aaptPreferredConfig: proptools.StringPtr("mdpi"),
 			aaptPrebuiltDPI:     []string{"ldpi", "xhdpi"},
-			expected:            "prebuilts/apk/app_xhdpi.apk",
+			expected:            "verify_uses_libraries/apk/app_xhdpi.apk",
 		},
 		{
 			name:                "no matches",
 			aaptPreferredConfig: proptools.StringPtr("mdpi"),
 			aaptPrebuiltDPI:     []string{"ldpi", "xxxhdpi"},
-			expected:            "prebuilts/apk/app.apk",
+			expected:            "verify_uses_libraries/apk/app.apk",
 		},
 	}
 
@@ -265,7 +265,7 @@
 		if len(matches) != 2 {
 			t.Errorf("failed to extract the src apk path from %q", jniRuleCommand)
 		}
-		if test.expected != matches[1] {
+		if strings.HasSuffix(matches[1], test.expected) {
 			t.Errorf("wrong src apk, expected: %q got: %q", test.expected, matches[1])
 		}
 	}
@@ -341,7 +341,7 @@
 					},
 				}
 			`,
-			expected: "prebuilts/apk/app_arm64.apk",
+			expected: "verify_uses_libraries/apk/app_arm64.apk",
 		},
 		{
 			name: "no matching arch",
@@ -360,7 +360,7 @@
 					},
 				}
 			`,
-			expected: "prebuilts/apk/app.apk",
+			expected: "verify_uses_libraries/apk/app.apk",
 		},
 		{
 			name: "no matching arch without default",
@@ -398,7 +398,7 @@
 		if len(matches) != 2 {
 			t.Errorf("failed to extract the src apk path from %q", jniRuleCommand)
 		}
-		if test.expected != matches[1] {
+		if strings.HasSuffix(matches[1], test.expected) {
 			t.Errorf("wrong src apk, expected: %q got: %q", test.expected, matches[1])
 		}
 	}
diff --git a/java/legacy_core_platform_api_usage.go b/java/legacy_core_platform_api_usage.go
index e2cac36..fa741a9 100644
--- a/java/legacy_core_platform_api_usage.go
+++ b/java/legacy_core_platform_api_usage.go
@@ -20,6 +20,8 @@
 )
 
 var legacyCorePlatformApiModules = []string{
+	"AAECarSystemUI",
+	"AAECarSystemUI-tests",
 	"ArcSettings",
 	"ahat-test-dump",
 	"android.car",
@@ -30,28 +32,33 @@
 	"api-stubs-docs",
 	"art_cts_jvmti_test_library",
 	"art-gtest-jars-MyClassNatives",
+	"BackupEncryption",
 	"BackupFrameworksServicesRoboTests",
 	"backuplib",
 	"BandwidthEnforcementTest",
 	"BlockedNumberProvider",
 	"BluetoothInstrumentationTests",
+	"BluetoothMidiLib",
 	"BluetoothMidiService",
-	"CarDeveloperOptions",
+	"BTTestApp",
+	"CallEnhancement",
+	"CapCtrlInterface",
 	"CarService",
 	"CarServiceTest",
-	"car-apps-common",
 	"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",
-	"CtsAppExitTestCases",
 	"CtsLibcoreWycheproofBCTestCases",
 	"CtsMediaTestCases",
 	"CtsNetTestCases",
@@ -64,8 +71,10 @@
 	"DeviceInfo",
 	"DiagnosticTools",
 	"DisplayCutoutEmulationEmu01Overlay",
+	"DocumentsUIGoogleTests",
 	"DocumentsUIPerfTests",
 	"DocumentsUITests",
+	"DocumentsUIUnitTests",
 	"DownloadProvider",
 	"DownloadProviderTests",
 	"DownloadProviderUi",
@@ -75,10 +84,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",
@@ -86,29 +97,50 @@
 	"FrameworksServicesRoboTests",
 	"FrameworksServicesTests",
 	"FrameworksUtilTests",
-	"FrameworksWifiTests",
+	"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-pre-jarjar",
 	"service-jobscheduler",
@@ -122,21 +154,50 @@
 	"services.usb",
 	"Settings-core",
 	"SettingsGoogle",
+	"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",
@@ -146,12 +207,16 @@
 	"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",
 }
 
 var legacyCorePlatformApiLookup = make(map[string]struct{})
diff --git a/java/robolectric.go b/java/robolectric.go
index 00f233e..9fe1f0e 100644
--- a/java/robolectric.go
+++ b/java/robolectric.go
@@ -405,10 +405,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)
 	}
