topjohnwu / Magisk

The Magic Mask for Android
GNU General Public License v3.0
48.28k stars 12.33k forks source link

Bootsigner no longer works with Android 11+ #4147

Closed moetayuko closed 2 years ago

moetayuko commented 3 years ago

Device: op3 Android version: 11 Magisk version name: f42a87b51ae64cf5ed4937e3cd17c7f865f33bc1 Magisk version code: 22006

Background

Bootsigner is implemented in java and thus relying on jvm in recovery. https://github.com/topjohnwu/Magisk/blob/f42a87b51ae64cf5ed4937e3cd17c7f865f33bc1/scripts/util_functions.sh#L782-L784

Underlying issue

libstatssocket.so, an dependency of ART, has been relocated to APEX /apex/com.android.os.statsd/lib64/libstatssocket.so on Android 11. However, it can't be loaded due to linker namespace isolation and produces the following error

Error preloading public library libandroid.so: dlopen failed: library "libstatssocket.so" not found: needed by /system/lib64/libandroid_runtime.so in namespace system
libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1703 (main), pid 1703 (main)
Aborted

Note that export LD_LIBRARY_PATH does NOT work. As a result, AVB 1.0 devices won't boot with locked bl due to missing boot signature.

Possible solutions

  1. Ship custom ld.config.txt to allow loading apex libs.
  2. Reimplement Bootsigner in native languages to avoid depending on art.
topjohnwu commented 3 years ago

A solution is to use the Magisk app to patch the boot image. I really do not want to spend any effort on supporting recovery installation anymore, especially on modern Android devices.

Issue kept open in case someone had an easy fix

moetayuko commented 3 years ago

A solution is to use the Magisk app to patch the boot image. I really do not want to spend any effort on supporting recovery installation anymore, especially on modern Android devices.

Issue kept open in case someone had an easy fix

That's a valid approach for installation on old devices, but that would require manual intervention after every system upgrade due to missing addon.d support.

osm0sis commented 3 years ago

I made a little progress on investigating this in recovery on Android 11 the other day.

Here's the output from my experiments on Lineage Recovery adb shell:

OnePlus7Pro:/data/local/tmp # /system/bin/dalvikvm
  Error preloading public library libandroid.so: dlopen failed: library "libstatssocket.so" not found: needed by /system/lib64/libandroid_runtime.so in namespace system
  libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1376 (main), pid 1376 (main)
  Aborted
134|OnePlus7Pro:/data/local/tmp #

LD_PRELOAD=/apex/com.android.os.statsd/lib64/libstatssocket.so /system/bin/dalvikvm
  linker: library "/apex/com.android.os.statsd/lib64/libstatssocket.so" ("/apex/com.android.os.statsd/lib64/libstatssocket.so") needed or dlopened by "/apex/com.android.art/bin/dalvikvm64" is not accessible for the namespace: [name="system", ld_library_paths="", default_library_paths="/system/lib64", permitted_paths="/apex/com.android.runtime/lib64/bionic"]
  CANNOT LINK EXECUTABLE "/system/bin/dalvikvm": library "/apex/com.android.os.statsd/lib64/libstatssocket.so" needed or dlopened by "/apex/com.android.art/bin/dalvikvm64" is not accessible for the namespace "(default)"
  linker: CANNOT LINK EXECUTABLE "/system/bin/dalvikvm": library "/apex/com.android.os.statsd/lib64/libstatssocket.so" needed or dlopened by "/apex/com.android.art/bin/dalvikvm64" is not accessible for the namespace "(default)"
1|OnePlus7Pro:/data/local/tmp #

LD_LIBRARY_PATH=/apex/com.android.os.statsd/lib64 LD_PRELOAD=/apex/com.android.os.statsd/lib64/libstatssocket.so /system/bin/dalvikvm
  Error preloading public library libandroid.so: dlopen failed: library "libstatspull.so" not found: needed by /system/lib64/libandroid_runtime.so in namespace system
  libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1385 (main), pid 1385 (main)
  Aborted
134|OnePlus7Pro:/data/local/tmp #

LD_LIBRARY_PATH=/apex/com.android.os.statsd/lib64 LD_PRELOAD=/apex/com.android.os.statsd/lib64/libstatssocket.so:/apex/com.android.os.statsd/lib64/libstatspull.so /system/bin/dalvikvm
  Error finding namespace of apex: no namespace called com_android_art
  libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1391 (main), pid 1391 (main)
  Aborted
134|OnePlus7Pro:/data/local/tmp #

Sounds like you're right and ld.config.txt is the next step.

osm0sis commented 3 years ago

Also note it does still all work fine over an Android 10 ROM, so whatever the fix is for Android 11+ also needs to not break it for Android 10 and below.

osm0sis commented 3 years ago

Just noticed there's a linkerconfig binary now..

Usage : linkerconfig [--target <target_directory>] [--strict] [--help]
dir.system = /system/bin/
dir.system = /system/xbin/
dir.system = /system_ext/bin/
dir.product = /product/bin/
dir.vendor = /odm/bin/
dir.vendor = /vendor/bin/
dir.vendor = /data/nativetest/odm
dir.vendor = /data/nativetest64/odm
dir.vendor = /data/benchmarktest/odm
dir.vendor = /data/benchmarktest64/odm
dir.vendor = /data/nativetest/vendor
dir.vendor = /data/nativetest64/vendor
dir.vendor = /data/benchmarktest/vendor
dir.vendor = /data/benchmarktest64/vendor
dir.unrestricted = /data/nativetest/unrestricted
dir.unrestricted = /data/nativetest64/unrestricted
dir.unrestricted = /data/local/tmp
dir.postinstall = /postinstall
dir.system = /data
[system]
additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,sphal,vndk,vndk_product
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
namespace.default.search.paths += /system_ext/${LIB}
namespace.default.permitted.paths = /system/${LIB}/drm
namespace.default.permitted.paths += /system/${LIB}/extractors
namespace.default.permitted.paths += /system/${LIB}/hw
namespace.default.permitted.paths += /system_ext/${LIB}
namespace.default.permitted.paths += /system/framework
namespace.default.permitted.paths += /system/app
namespace.default.permitted.paths += /system/priv-app
namespace.default.permitted.paths += /system_ext/framework
namespace.default.permitted.paths += /system_ext/app
namespace.default.permitted.paths += /system_ext/priv-app
namespace.default.permitted.paths += /vendor/framework
namespace.default.permitted.paths += /vendor/app
namespace.default.permitted.paths += /vendor/priv-app
namespace.default.permitted.paths += /system/vendor/framework
namespace.default.permitted.paths += /system/vendor/app
namespace.default.permitted.paths += /system/vendor/priv-app
namespace.default.permitted.paths += /odm/framework
namespace.default.permitted.paths += /odm/app
namespace.default.permitted.paths += /odm/priv-app
namespace.default.permitted.paths += /oem/app
namespace.default.permitted.paths += /product/framework
namespace.default.permitted.paths += /product/app
namespace.default.permitted.paths += /product/priv-app
namespace.default.permitted.paths += /data
namespace.default.permitted.paths += /mnt/expand
namespace.default.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.permitted.paths += /system/${LIB}/bootstrap
namespace.default.asan.search.paths = /data/asan/system/${LIB}
namespace.default.asan.search.paths += /system/${LIB}
namespace.default.asan.search.paths += /data/asan/system_ext/${LIB}
namespace.default.asan.search.paths += /system_ext/${LIB}
namespace.default.asan.permitted.paths = /system/${LIB}/drm
namespace.default.asan.permitted.paths += /system/${LIB}/extractors
namespace.default.asan.permitted.paths += /system/${LIB}/hw
namespace.default.asan.permitted.paths += /system_ext/${LIB}
namespace.default.asan.permitted.paths += /system/framework
namespace.default.asan.permitted.paths += /system/app
namespace.default.asan.permitted.paths += /system/priv-app
namespace.default.asan.permitted.paths += /system_ext/framework
namespace.default.asan.permitted.paths += /system_ext/app
namespace.default.asan.permitted.paths += /system_ext/priv-app
namespace.default.asan.permitted.paths += /vendor/framework
namespace.default.asan.permitted.paths += /vendor/app
namespace.default.asan.permitted.paths += /vendor/priv-app
namespace.default.asan.permitted.paths += /system/vendor/framework
namespace.default.asan.permitted.paths += /system/vendor/app
namespace.default.asan.permitted.paths += /system/vendor/priv-app
namespace.default.asan.permitted.paths += /odm/framework
namespace.default.asan.permitted.paths += /odm/app
namespace.default.asan.permitted.paths += /odm/priv-app
namespace.default.asan.permitted.paths += /oem/app
namespace.default.asan.permitted.paths += /product/framework
namespace.default.asan.permitted.paths += /product/app
namespace.default.asan.permitted.paths += /product/priv-app
namespace.default.asan.permitted.paths += /data
namespace.default.asan.permitted.paths += /mnt/expand
namespace.default.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.asan.permitted.paths += /system/${LIB}/bootstrap
namespace.default.links = com_android_adbd,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
namespace.default.link.com_android_adbd.shared_libs = libadb_pairing_auth.so
namespace.default.link.com_android_adbd.shared_libs += libadb_pairing_connection.so
namespace.default.link.com_android_adbd.shared_libs += libadb_pairing_server.so
namespace.default.link.com_android_art.shared_libs = libandroidicu.so
namespace.default.link.com_android_art.shared_libs += libdexfile_external.so
namespace.default.link.com_android_art.shared_libs += libdexfiled_external.so
namespace.default.link.com_android_art.shared_libs += libicui18n.so
namespace.default.link.com_android_art.shared_libs += libicuuc.so
namespace.default.link.com_android_art.shared_libs += libnativebridge.so
namespace.default.link.com_android_art.shared_libs += libnativehelper.so
namespace.default.link.com_android_art.shared_libs += libnativeloader.so
namespace.default.link.com_android_art.shared_libs += libpac.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so
namespace.default.link.com_android_os_statsd.shared_libs += libstatssocket.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths += /system/${LIB}
namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
namespace.com_android_adbd.links = default
namespace.com_android_adbd.link.default.shared_libs = libadbd_auth.so
namespace.com_android_adbd.link.default.shared_libs += libadbd_fs.so
namespace.com_android_adbd.link.default.shared_libs += libc.so
namespace.com_android_adbd.link.default.shared_libs += libdl.so
namespace.com_android_adbd.link.default.shared_libs += liblog.so
namespace.com_android_adbd.link.default.shared_libs += libm.so
namespace.com_android_adbd.link.default.shared_libs += libselinux.so
namespace.com_android_adbd.link.default.shared_libs += libc.so
namespace.com_android_adbd.link.default.shared_libs += libdl.so
namespace.com_android_adbd.link.default.shared_libs += libdl_android.so
namespace.com_android_adbd.link.default.shared_libs += libm.so
namespace.com_android_adbd.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_art.isolated = true
namespace.com_android_art.visible = true
namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.permitted.paths = /system/${LIB}
namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.asan.permitted.paths = /system/${LIB}
namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.links = default,com_android_adbd,com_android_neuralnetworks
namespace.com_android_art.link.default.allow_all_shared_libs = true
namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.com_android_conscrypt.isolated = true
namespace.com_android_conscrypt.visible = true
namespace.com_android_conscrypt.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.permitted.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.permitted.paths += /system/${LIB}
namespace.com_android_conscrypt.asan.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.asan.permitted.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.asan.permitted.paths += /system/${LIB}
namespace.com_android_conscrypt.links = com_android_art,default
namespace.com_android_conscrypt.link.com_android_art.shared_libs = libandroidio.so
namespace.com_android_conscrypt.link.default.shared_libs = libc.so
namespace.com_android_conscrypt.link.default.shared_libs += libdl.so
namespace.com_android_conscrypt.link.default.shared_libs += liblog.so
namespace.com_android_conscrypt.link.default.shared_libs += libm.so
namespace.com_android_conscrypt.link.default.shared_libs += libc.so
namespace.com_android_conscrypt.link.default.shared_libs += libdl.so
namespace.com_android_conscrypt.link.default.shared_libs += libdl_android.so
namespace.com_android_conscrypt.link.default.shared_libs += libm.so
namespace.com_android_conscrypt.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_media.isolated = true
namespace.com_android_media.visible = true
namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.permitted.paths += /system/${LIB}
namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.asan.permitted.paths += /system/${LIB}
namespace.com_android_media.links = default
namespace.com_android_media.link.default.shared_libs = libandroid.so
namespace.com_android_media.link.default.shared_libs += libbinder_ndk.so
namespace.com_android_media.link.default.shared_libs += libc.so
namespace.com_android_media.link.default.shared_libs += libcgrouprc.so
namespace.com_android_media.link.default.shared_libs += libdl.so
namespace.com_android_media.link.default.shared_libs += liblog.so
namespace.com_android_media.link.default.shared_libs += libm.so
namespace.com_android_media.link.default.shared_libs += libmediametrics.so
namespace.com_android_media.link.default.shared_libs += libmediandk.so
namespace.com_android_media.link.default.shared_libs += libvndksupport.so
namespace.com_android_media.link.default.shared_libs += libc.so
namespace.com_android_media.link.default.shared_libs += libdl.so
namespace.com_android_media.link.default.shared_libs += libdl_android.so
namespace.com_android_media.link.default.shared_libs += libm.so
namespace.com_android_media.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_neuralnetworks.isolated = true
namespace.com_android_neuralnetworks.visible = true
namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.links = default
namespace.com_android_neuralnetworks.link.default.shared_libs = libc.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libcgrouprc.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.default.shared_libs += liblog.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libnativewindow.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libneuralnetworks_packageinfo.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libvndksupport.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libc.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libdl_android.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_os_statsd.isolated = true
namespace.com_android_os_statsd.visible = true
namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
namespace.com_android_os_statsd.links = default
namespace.com_android_os_statsd.link.default.shared_libs = libbinder_ndk.so
namespace.com_android_os_statsd.link.default.shared_libs += libc.so
namespace.com_android_os_statsd.link.default.shared_libs += libdl.so
namespace.com_android_os_statsd.link.default.shared_libs += libincident.so
namespace.com_android_os_statsd.link.default.shared_libs += liblog.so
namespace.com_android_os_statsd.link.default.shared_libs += libm.so
namespace.com_android_os_statsd.link.default.shared_libs += libc.so
namespace.com_android_os_statsd.link.default.shared_libs += libdl.so
namespace.com_android_os_statsd.link.default.shared_libs += libdl_android.so
namespace.com_android_os_statsd.link.default.shared_libs += libm.so
namespace.com_android_os_statsd.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_resolv.isolated = true
namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.permitted.paths += /system/${LIB}
namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
namespace.com_android_resolv.links = default,com_android_os_statsd
namespace.com_android_resolv.link.default.shared_libs = libbinder_ndk.so
namespace.com_android_resolv.link.default.shared_libs += libc.so
namespace.com_android_resolv.link.default.shared_libs += libdl.so
namespace.com_android_resolv.link.default.shared_libs += liblog.so
namespace.com_android_resolv.link.default.shared_libs += libm.so
namespace.com_android_resolv.link.default.shared_libs += libc.so
namespace.com_android_resolv.link.default.shared_libs += libdl.so
namespace.com_android_resolv.link.default.shared_libs += libdl_android.so
namespace.com_android_resolv.link.default.shared_libs += libm.so
namespace.com_android_resolv.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_resolv.link.com_android_os_statsd.shared_libs = libstatssocket.so
namespace.com_android_runtime.isolated = true
namespace.com_android_runtime.visible = true
namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths += /system/${LIB}
namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
namespace.com_android_runtime.links = com_android_art,default
namespace.com_android_runtime.link.com_android_art.shared_libs = libdexfile_external.so
namespace.com_android_runtime.link.default.shared_libs = liblog.so
namespace.com_android_runtime.link.default.shared_libs += libc.so
namespace.com_android_runtime.link.default.shared_libs += libdl.so
namespace.com_android_runtime.link.default.shared_libs += libdl_android.so
namespace.com_android_runtime.link.default.shared_libs += libm.so
namespace.com_android_runtime.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
namespace.rs.search.paths += /vendor/${LIB}/vndk-sp
namespace.rs.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.rs.search.paths += /odm/${LIB}
namespace.rs.search.paths += /vendor/${LIB}
namespace.rs.permitted.paths = /odm/${LIB}
namespace.rs.permitted.paths += /vendor/${LIB}
namespace.rs.permitted.paths += /system/vendor/${LIB}
namespace.rs.permitted.paths += /data
namespace.rs.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /odm/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /vendor/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.rs.asan.search.paths += /data/asan/odm/${LIB}
namespace.rs.asan.search.paths += /odm/${LIB}
namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}
namespace.rs.asan.search.paths += /vendor/${LIB}
namespace.rs.asan.permitted.paths = /data/asan/odm/${LIB}
namespace.rs.asan.permitted.paths += /odm/${LIB}
namespace.rs.asan.permitted.paths += /data/asan/vendor/${LIB}
namespace.rs.asan.permitted.paths += /vendor/${LIB}
namespace.rs.asan.permitted.paths += /data
namespace.rs.links = default,com_android_neuralnetworks
namespace.rs.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.rs.link.default.shared_libs += libft2.so
namespace.rs.link.default.shared_libs += libc.so
namespace.rs.link.default.shared_libs += libdl.so
namespace.rs.link.default.shared_libs += libdl_android.so
namespace.rs.link.default.shared_libs += libm.so
namespace.rs.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.rs.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
namespace.sphal.search.paths += /vendor/${LIB}
namespace.sphal.search.paths += /vendor/${LIB}/hw
namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
namespace.sphal.asan.search.paths += /vendor/${LIB}
namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.permitted.paths += /odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/${LIB}
namespace.sphal.links = rs,default,vndk,com_android_neuralnetworks
namespace.sphal.link.rs.shared_libs = libRS_internal.so
namespace.sphal.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.sphal.link.default.shared_libs += libc.so
namespace.sphal.link.default.shared_libs += libdl.so
namespace.sphal.link.default.shared_libs += libdl_android.so
namespace.sphal.link.default.shared_libs += libm.so
namespace.sphal.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.sphal.link.vndk.shared_libs = android.hardware.common-V1-ndk_platform.so:android.hardware.graphics.common-V1-ndk_platform.so:android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.graphics.mapper@4.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libgralloctypes.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
namespace.vndk.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.permitted.paths = /odm/${LIB}/hw
namespace.vndk.permitted.paths += /odm/${LIB}/egl
namespace.vndk.permitted.paths += /vendor/${LIB}/hw
namespace.vndk.permitted.paths += /vendor/${LIB}/egl
namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
namespace.vndk.permitted.paths += /apex/com.android.vndk.v30/${LIB}/hw
namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
namespace.vndk.asan.permitted.paths += /apex/com.android.vndk.v30/${LIB}/hw
namespace.vndk.links = default,sphal,com_android_neuralnetworks
namespace.vndk.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.vndk.link.default.shared_libs += libc.so
namespace.vndk.link.default.shared_libs += libdl.so
namespace.vndk.link.default.shared_libs += libdl_android.so
namespace.vndk.link.default.shared_libs += libm.so
namespace.vndk.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.vndk.link.sphal.allow_all_shared_libs = true
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.vndk_product.isolated = true
namespace.vndk_product.visible = true
namespace.vndk_product.search.paths = /product/${LIB}/vndk-sp
namespace.vndk_product.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk_product.asan.search.paths = /data/asan/product/${LIB}/vndk-sp
namespace.vndk_product.asan.search.paths += /product/${LIB}/vndk-sp
namespace.vndk_product.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk_product.links = default,com_android_neuralnetworks
namespace.vndk_product.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.vndk_product.link.default.shared_libs += libc.so
namespace.vndk_product.link.default.shared_libs += libdl.so
namespace.vndk_product.link.default.shared_libs += libdl_android.so
namespace.vndk_product.link.default.shared_libs += libm.so
namespace.vndk_product.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.vndk_product.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
additional.namespaces = com_android_adbd,com_android_art,com_android_neuralnetworks,com_android_runtime,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /odm/${LIB}
namespace.default.search.paths += /vendor/${LIB}
namespace.default.permitted.paths = /odm
namespace.default.permitted.paths += /vendor
namespace.default.permitted.paths += /system/vendor
namespace.default.asan.search.paths = /data/asan/odm/${LIB}
namespace.default.asan.search.paths += /odm/${LIB}
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
namespace.default.asan.search.paths += /vendor/${LIB}
namespace.default.asan.permitted.paths = /data/asan/odm
namespace.default.asan.permitted.paths += /odm
namespace.default.asan.permitted.paths += /data/asan/vendor
namespace.default.asan.permitted.paths += /vendor
namespace.default.links = system,vndk,com_android_neuralnetworks
namespace.default.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.default.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so
namespace.default.link.system.shared_libs += libc.so
namespace.default.link.system.shared_libs += libdl.so
namespace.default.link.system.shared_libs += libdl_android.so
namespace.default.link.system.shared_libs += libm.so
namespace.default.link.vndk.shared_libs = android.hardware.common-V1-ndk_platform.so:android.hardware.graphics.common-V1-ndk_platform.so:android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.graphics.mapper@4.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libgralloctypes.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
namespace.default.link.vndk.shared_libs += android.frameworks.automotive.display@1.0.so:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.cameraservice.service@2.1.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.audiocontrol@2.0.so:android.hardware.automotive.can@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.evs@1.1.so:android.hardware.automotive.occupant_awareness-V1-ndk_platform.so:android.hardware.automotive.sv@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.biometrics.fingerprint@2.2.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.device@3.6.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.metadata@3.5.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.camera.provider@2.6.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.contexthub@1.1.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.drm@1.3.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.measurement_corrections@1.1.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.gnss@2.1.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.allocator@4.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.graphics.composer@2.4.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V2-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V2-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.c2@1.1.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.rebootescrow-V1-ndk_platform.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.sensors@2.1.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.soundtrigger@2.3.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb.gadget@1.1.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.hostapd@1.2.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi.supplicant@1.3.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hardware.wifi@1.4.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libbufferqueueconverter.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-aarch64-android.so:libclang_rt.scudo-arm-android.so:libclang_rt.scudo_minimal-aarch64-android.so:libclang_rt.scudo_minimal-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths += /system/${LIB}
namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
namespace.com_android_adbd.links = system
namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so
namespace.com_android_adbd.link.system.shared_libs += libadbd_fs.so
namespace.com_android_adbd.link.system.shared_libs += libc.so
namespace.com_android_adbd.link.system.shared_libs += libdl.so
namespace.com_android_adbd.link.system.shared_libs += liblog.so
namespace.com_android_adbd.link.system.shared_libs += libm.so
namespace.com_android_adbd.link.system.shared_libs += libselinux.so
namespace.com_android_adbd.link.system.shared_libs += libc.so
namespace.com_android_adbd.link.system.shared_libs += libdl.so
namespace.com_android_adbd.link.system.shared_libs += libdl_android.so
namespace.com_android_adbd.link.system.shared_libs += libm.so
namespace.com_android_adbd.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_art.isolated = true
namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.permitted.paths = /system/${LIB}
namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.asan.permitted.paths = /system/${LIB}
namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.links = system,com_android_adbd,com_android_neuralnetworks
namespace.com_android_art.link.system.allow_all_shared_libs = true
namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.com_android_neuralnetworks.isolated = true
namespace.com_android_neuralnetworks.visible = true
namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.links = system
namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libcgrouprc.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.system.shared_libs += liblog.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libnativewindow.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libneuralnetworks_packageinfo.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libvndksupport.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libc.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libdl_android.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_runtime.isolated = true
namespace.com_android_runtime.visible = true
namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths += /system/${LIB}
namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
namespace.com_android_runtime.links = com_android_art,system
namespace.com_android_runtime.link.com_android_art.shared_libs = libdexfile_external.so
namespace.com_android_runtime.link.system.shared_libs = liblog.so
namespace.com_android_runtime.link.system.shared_libs += libc.so
namespace.com_android_runtime.link.system.shared_libs += libdl.so
namespace.com_android_runtime.link.system.shared_libs += libdl_android.so
namespace.com_android_runtime.link.system.shared_libs += libm.so
namespace.com_android_runtime.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.system.isolated = false
namespace.system.search.paths = /system/${LIB}
namespace.system.search.paths += /system_ext/${LIB}
namespace.system.asan.search.paths = /data/asan/system/${LIB}
namespace.system.asan.search.paths += /system/${LIB}
namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
namespace.system.asan.search.paths += /system_ext/${LIB}
namespace.system.links = com_android_art
namespace.system.link.com_android_art.shared_libs = libandroidicu.so
namespace.system.link.com_android_art.shared_libs += libdexfile_external.so
namespace.system.link.com_android_art.shared_libs += libdexfiled_external.so
namespace.system.link.com_android_art.shared_libs += libicui18n.so
namespace.system.link.com_android_art.shared_libs += libicuuc.so
namespace.system.link.com_android_art.shared_libs += libnativebridge.so
namespace.system.link.com_android_art.shared_libs += libnativehelper.so
namespace.system.link.com_android_art.shared_libs += libnativeloader.so
namespace.vndk.isolated = false
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /odm/${LIB}/vndk
namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
namespace.vndk.search.paths += /vendor/${LIB}/vndk
namespace.vndk.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}/vndk
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk
namespace.vndk.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.links = system,default,com_android_neuralnetworks
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.vndk.link.system.shared_libs += libc.so
namespace.vndk.link.system.shared_libs += libdl.so
namespace.vndk.link.system.shared_libs += libdl_android.so
namespace.vndk.link.system.shared_libs += libm.so
namespace.vndk.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[product]
additional.namespaces = com_android_adbd,com_android_art,com_android_neuralnetworks,com_android_runtime,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /product/${LIB}
namespace.default.permitted.paths = /product
namespace.default.asan.search.paths = /data/asan/product/${LIB}
namespace.default.asan.search.paths += /product/${LIB}
namespace.default.asan.permitted.paths = /data/asan/product
namespace.default.asan.permitted.paths += /product
namespace.default.links = system,vndk,com_android_neuralnetworks
namespace.default.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.default.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so
namespace.default.link.system.shared_libs += libc.so
namespace.default.link.system.shared_libs += libdl.so
namespace.default.link.system.shared_libs += libdl_android.so
namespace.default.link.system.shared_libs += libm.so
namespace.default.link.vndk.shared_libs = android.hardware.common-V1-ndk_platform.so:android.hardware.graphics.common-V1-ndk_platform.so:android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.graphics.mapper@4.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libgralloctypes.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
namespace.default.link.vndk.shared_libs += android.frameworks.automotive.display@1.0.so:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.cameraservice.service@2.1.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.audiocontrol@2.0.so:android.hardware.automotive.can@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.evs@1.1.so:android.hardware.automotive.occupant_awareness-V1-ndk_platform.so:android.hardware.automotive.sv@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.biometrics.fingerprint@2.2.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.device@3.6.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.metadata@3.5.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.camera.provider@2.6.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.contexthub@1.1.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.drm@1.3.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.measurement_corrections@1.1.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.gnss@2.1.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.allocator@4.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.graphics.composer@2.4.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V2-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V2-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.c2@1.1.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.rebootescrow-V1-ndk_platform.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.sensors@2.1.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.soundtrigger@2.3.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb.gadget@1.1.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.hostapd@1.2.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi.supplicant@1.3.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hardware.wifi@1.4.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libbufferqueueconverter.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-aarch64-android.so:libclang_rt.scudo-arm-android.so:libclang_rt.scudo_minimal-aarch64-android.so:libclang_rt.scudo_minimal-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths += /system/${LIB}
namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
namespace.com_android_adbd.links = system
namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so
namespace.com_android_adbd.link.system.shared_libs += libadbd_fs.so
namespace.com_android_adbd.link.system.shared_libs += libc.so
namespace.com_android_adbd.link.system.shared_libs += libdl.so
namespace.com_android_adbd.link.system.shared_libs += liblog.so
namespace.com_android_adbd.link.system.shared_libs += libm.so
namespace.com_android_adbd.link.system.shared_libs += libselinux.so
namespace.com_android_adbd.link.system.shared_libs += libc.so
namespace.com_android_adbd.link.system.shared_libs += libdl.so
namespace.com_android_adbd.link.system.shared_libs += libdl_android.so
namespace.com_android_adbd.link.system.shared_libs += libm.so
namespace.com_android_adbd.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_art.isolated = true
namespace.com_android_art.visible = true
namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.permitted.paths = /system/${LIB}
namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.asan.permitted.paths = /system/${LIB}
namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.links = system,com_android_adbd,com_android_neuralnetworks
namespace.com_android_art.link.system.allow_all_shared_libs = true
namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.com_android_neuralnetworks.isolated = true
namespace.com_android_neuralnetworks.visible = true
namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.links = system
namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libcgrouprc.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.system.shared_libs += liblog.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libnativewindow.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libneuralnetworks_packageinfo.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libvndksupport.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libc.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libdl_android.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_runtime.isolated = true
namespace.com_android_runtime.visible = true
namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths += /system/${LIB}
namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
namespace.com_android_runtime.links = com_android_art,system
namespace.com_android_runtime.link.com_android_art.shared_libs = libdexfile_external.so
namespace.com_android_runtime.link.system.shared_libs = liblog.so
namespace.com_android_runtime.link.system.shared_libs += libc.so
namespace.com_android_runtime.link.system.shared_libs += libdl.so
namespace.com_android_runtime.link.system.shared_libs += libdl_android.so
namespace.com_android_runtime.link.system.shared_libs += libm.so
namespace.com_android_runtime.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.system.isolated = false
namespace.system.search.paths = /system/${LIB}
namespace.system.search.paths += /system_ext/${LIB}
namespace.system.asan.search.paths = /data/asan/system/${LIB}
namespace.system.asan.search.paths += /system/${LIB}
namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
namespace.system.asan.search.paths += /system_ext/${LIB}
namespace.system.links = com_android_art
namespace.system.link.com_android_art.shared_libs = libandroidicu.so
namespace.system.link.com_android_art.shared_libs += libdexfile_external.so
namespace.system.link.com_android_art.shared_libs += libdexfiled_external.so
namespace.system.link.com_android_art.shared_libs += libicui18n.so
namespace.system.link.com_android_art.shared_libs += libicuuc.so
namespace.system.link.com_android_art.shared_libs += libnativebridge.so
namespace.system.link.com_android_art.shared_libs += libnativehelper.so
namespace.system.link.com_android_art.shared_libs += libnativeloader.so
namespace.vndk.isolated = false
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
namespace.vndk.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.asan.search.paths = /data/asan/product/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /product/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /data/asan/product/${LIB}/vndk
namespace.vndk.asan.search.paths += /product/${LIB}/vndk
namespace.vndk.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.links = system,default,com_android_neuralnetworks
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.vndk.link.system.shared_libs += libc.so
namespace.vndk.link.system.shared_libs += libdl.so
namespace.vndk.link.system.shared_libs += libdl_android.so
namespace.vndk.link.system.shared_libs += libm.so
namespace.vndk.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[unrestricted]
additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,sphal,vndk
namespace.default.isolated = false
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
namespace.default.search.paths += /system_ext/${LIB}
namespace.default.search.paths += /odm/${LIB}
namespace.default.search.paths += /vendor/${LIB}
namespace.default.search.paths += /product/${LIB}
namespace.default.asan.search.paths = /data/asan/system/${LIB}
namespace.default.asan.search.paths += /system/${LIB}
namespace.default.asan.search.paths += /data/asan/system_ext/${LIB}
namespace.default.asan.search.paths += /system_ext/${LIB}
namespace.default.asan.search.paths += /data/asan/odm/${LIB}
namespace.default.asan.search.paths += /odm/${LIB}
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
namespace.default.asan.search.paths += /vendor/${LIB}
namespace.default.asan.search.paths += /data/asan/product/${LIB}
namespace.default.asan.search.paths += /product/${LIB}
namespace.default.links = com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
namespace.default.link.com_android_art.shared_libs = libandroidicu.so
namespace.default.link.com_android_art.shared_libs += libdexfile_external.so
namespace.default.link.com_android_art.shared_libs += libdexfiled_external.so
namespace.default.link.com_android_art.shared_libs += libicui18n.so
namespace.default.link.com_android_art.shared_libs += libicuuc.so
namespace.default.link.com_android_art.shared_libs += libnativebridge.so
namespace.default.link.com_android_art.shared_libs += libnativehelper.so
namespace.default.link.com_android_art.shared_libs += libnativeloader.so
namespace.default.link.com_android_art.shared_libs += libpac.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so
namespace.default.link.com_android_os_statsd.shared_libs += libstatssocket.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths += /system/${LIB}
namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
namespace.com_android_adbd.links = default
namespace.com_android_adbd.link.default.shared_libs = libadbd_auth.so
namespace.com_android_adbd.link.default.shared_libs += libadbd_fs.so
namespace.com_android_adbd.link.default.shared_libs += libc.so
namespace.com_android_adbd.link.default.shared_libs += libdl.so
namespace.com_android_adbd.link.default.shared_libs += liblog.so
namespace.com_android_adbd.link.default.shared_libs += libm.so
namespace.com_android_adbd.link.default.shared_libs += libselinux.so
namespace.com_android_adbd.link.default.shared_libs += libc.so
namespace.com_android_adbd.link.default.shared_libs += libdl.so
namespace.com_android_adbd.link.default.shared_libs += libdl_android.so
namespace.com_android_adbd.link.default.shared_libs += libm.so
namespace.com_android_adbd.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_art.isolated = true
namespace.com_android_art.visible = true
namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.permitted.paths = /system/${LIB}
namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
namespace.com_android_art.asan.permitted.paths = /system/${LIB}
namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
namespace.com_android_art.links = default,com_android_adbd,com_android_neuralnetworks
namespace.com_android_art.link.default.allow_all_shared_libs = true
namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.com_android_conscrypt.isolated = true
namespace.com_android_conscrypt.visible = true
namespace.com_android_conscrypt.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.permitted.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.permitted.paths += /system/${LIB}
namespace.com_android_conscrypt.asan.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.asan.permitted.paths = /apex/com.android.conscrypt/${LIB}
namespace.com_android_conscrypt.asan.permitted.paths += /system/${LIB}
namespace.com_android_conscrypt.links = com_android_art,default
namespace.com_android_conscrypt.link.com_android_art.shared_libs = libandroidio.so
namespace.com_android_conscrypt.link.default.shared_libs = libc.so
namespace.com_android_conscrypt.link.default.shared_libs += libdl.so
namespace.com_android_conscrypt.link.default.shared_libs += liblog.so
namespace.com_android_conscrypt.link.default.shared_libs += libm.so
namespace.com_android_conscrypt.link.default.shared_libs += libc.so
namespace.com_android_conscrypt.link.default.shared_libs += libdl.so
namespace.com_android_conscrypt.link.default.shared_libs += libdl_android.so
namespace.com_android_conscrypt.link.default.shared_libs += libm.so
namespace.com_android_conscrypt.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_media.isolated = true
namespace.com_android_media.visible = true
namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.permitted.paths += /system/${LIB}
namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
namespace.com_android_media.asan.permitted.paths += /system/${LIB}
namespace.com_android_media.links = default
namespace.com_android_media.link.default.shared_libs = libandroid.so
namespace.com_android_media.link.default.shared_libs += libbinder_ndk.so
namespace.com_android_media.link.default.shared_libs += libc.so
namespace.com_android_media.link.default.shared_libs += libcgrouprc.so
namespace.com_android_media.link.default.shared_libs += libdl.so
namespace.com_android_media.link.default.shared_libs += liblog.so
namespace.com_android_media.link.default.shared_libs += libm.so
namespace.com_android_media.link.default.shared_libs += libmediametrics.so
namespace.com_android_media.link.default.shared_libs += libmediandk.so
namespace.com_android_media.link.default.shared_libs += libvndksupport.so
namespace.com_android_media.link.default.shared_libs += libc.so
namespace.com_android_media.link.default.shared_libs += libdl.so
namespace.com_android_media.link.default.shared_libs += libdl_android.so
namespace.com_android_media.link.default.shared_libs += libm.so
namespace.com_android_media.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_neuralnetworks.isolated = true
namespace.com_android_neuralnetworks.visible = true
namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
namespace.com_android_neuralnetworks.links = default
namespace.com_android_neuralnetworks.link.default.shared_libs = libc.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libcgrouprc.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.default.shared_libs += liblog.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libnativewindow.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libneuralnetworks_packageinfo.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libvndksupport.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libc.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libdl.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libdl_android.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libm.so
namespace.com_android_neuralnetworks.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_os_statsd.isolated = true
namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
namespace.com_android_os_statsd.links = default
namespace.com_android_os_statsd.link.default.shared_libs = libbinder_ndk.so
namespace.com_android_os_statsd.link.default.shared_libs += libc.so
namespace.com_android_os_statsd.link.default.shared_libs += libdl.so
namespace.com_android_os_statsd.link.default.shared_libs += libincident.so
namespace.com_android_os_statsd.link.default.shared_libs += liblog.so
namespace.com_android_os_statsd.link.default.shared_libs += libm.so
namespace.com_android_os_statsd.link.default.shared_libs += libc.so
namespace.com_android_os_statsd.link.default.shared_libs += libdl.so
namespace.com_android_os_statsd.link.default.shared_libs += libdl_android.so
namespace.com_android_os_statsd.link.default.shared_libs += libm.so
namespace.com_android_os_statsd.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_resolv.isolated = true
namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.permitted.paths += /system/${LIB}
namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
namespace.com_android_resolv.links = default,com_android_os_statsd
namespace.com_android_resolv.link.default.shared_libs = libbinder_ndk.so
namespace.com_android_resolv.link.default.shared_libs += libc.so
namespace.com_android_resolv.link.default.shared_libs += libdl.so
namespace.com_android_resolv.link.default.shared_libs += liblog.so
namespace.com_android_resolv.link.default.shared_libs += libm.so
namespace.com_android_resolv.link.default.shared_libs += libc.so
namespace.com_android_resolv.link.default.shared_libs += libdl.so
namespace.com_android_resolv.link.default.shared_libs += libdl_android.so
namespace.com_android_resolv.link.default.shared_libs += libm.so
namespace.com_android_resolv.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.com_android_resolv.link.com_android_os_statsd.shared_libs = libstatssocket.so
namespace.com_android_runtime.isolated = true
namespace.com_android_runtime.visible = true
namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.permitted.paths += /system/${LIB}
namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
namespace.com_android_runtime.links = com_android_art,default
namespace.com_android_runtime.link.com_android_art.shared_libs = libdexfile_external.so
namespace.com_android_runtime.link.default.shared_libs = liblog.so
namespace.com_android_runtime.link.default.shared_libs += libc.so
namespace.com_android_runtime.link.default.shared_libs += libdl.so
namespace.com_android_runtime.link.default.shared_libs += libdl_android.so
namespace.com_android_runtime.link.default.shared_libs += libm.so
namespace.com_android_runtime.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.rs.isolated = false
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
namespace.rs.search.paths += /vendor/${LIB}/vndk-sp
namespace.rs.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.rs.search.paths += /odm/${LIB}
namespace.rs.search.paths += /vendor/${LIB}
namespace.rs.permitted.paths = /odm/${LIB}
namespace.rs.permitted.paths += /vendor/${LIB}
namespace.rs.permitted.paths += /system/vendor/${LIB}
namespace.rs.permitted.paths += /data
namespace.rs.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /odm/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /vendor/${LIB}/vndk-sp
namespace.rs.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.rs.asan.search.paths += /data/asan/odm/${LIB}
namespace.rs.asan.search.paths += /odm/${LIB}
namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}
namespace.rs.asan.search.paths += /vendor/${LIB}
namespace.rs.asan.permitted.paths = /data/asan/odm/${LIB}
namespace.rs.asan.permitted.paths += /odm/${LIB}
namespace.rs.asan.permitted.paths += /data/asan/vendor/${LIB}
namespace.rs.asan.permitted.paths += /vendor/${LIB}
namespace.rs.asan.permitted.paths += /data
namespace.rs.links = default,com_android_neuralnetworks
namespace.rs.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.rs.link.default.shared_libs += libft2.so
namespace.rs.link.default.shared_libs += libc.so
namespace.rs.link.default.shared_libs += libdl.so
namespace.rs.link.default.shared_libs += libdl_android.so
namespace.rs.link.default.shared_libs += libm.so
namespace.rs.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.rs.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.sphal.isolated = false
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
namespace.sphal.search.paths += /vendor/${LIB}
namespace.sphal.search.paths += /vendor/${LIB}/hw
namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
namespace.sphal.asan.search.paths += /vendor/${LIB}
namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.permitted.paths += /odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/${LIB}
namespace.sphal.links = rs,default,vndk,com_android_neuralnetworks
namespace.sphal.link.rs.shared_libs = libRS_internal.so
namespace.sphal.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.sphal.link.default.shared_libs += libc.so
namespace.sphal.link.default.shared_libs += libdl.so
namespace.sphal.link.default.shared_libs += libdl_android.so
namespace.sphal.link.default.shared_libs += libm.so
namespace.sphal.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.sphal.link.vndk.shared_libs = android.hardware.common-V1-ndk_platform.so:android.hardware.graphics.common-V1-ndk_platform.so:android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.graphics.mapper@4.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libgralloctypes.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.vndk.isolated = false
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
namespace.vndk.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.permitted.paths = /odm/${LIB}/hw
namespace.vndk.permitted.paths += /odm/${LIB}/egl
namespace.vndk.permitted.paths += /vendor/${LIB}/hw
namespace.vndk.permitted.paths += /vendor/${LIB}/egl
namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
namespace.vndk.permitted.paths += /apex/com.android.vndk.v30/${LIB}/hw
namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
namespace.vndk.asan.search.paths += /apex/com.android.vndk.v30/${LIB}
namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
namespace.vndk.asan.permitted.paths += /apex/com.android.vndk.v30/${LIB}/hw
namespace.vndk.links = default,sphal,com_android_neuralnetworks
namespace.vndk.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
namespace.vndk.link.default.shared_libs += libc.so
namespace.vndk.link.default.shared_libs += libdl.so
namespace.vndk.link.default.shared_libs += libdl_android.so
namespace.vndk.link.default.shared_libs += libm.so
namespace.vndk.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so
namespace.vndk.link.sphal.allow_all_shared_libs = true
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[postinstall]
namespace.default.isolated = false
namespace.default.search.paths = /system/${LIB}
namespace.default.search.paths += /system_ext/${LIB}
namespace.default.search.paths += /product/${LIB}
moetayuko commented 3 years ago

Just noticed there's a linkerconfig binary now..


Usage : linkerconfig [--target <target_directory>] [--strict] [--help]

I was aware of this, but not sure if it'll generate the correct config in the recovery environment.

mincrmatt12 commented 3 years ago

If a solution for this isn't found, can we at least disable generating addon.d scripts on devices with signed boot images and android 11+? Even if it would require additional effort following an OTA, it's better than the current behavior of bootlooping the phone.

moetayuko commented 3 years ago

If a solution for this isn't found, can we at least disable generating addon.d scripts on devices with signed boot images and android 11+? Even if it would require additional effort following an OTA, it's better than the current behavior of bootlooping the phone.

using the Magisk app to patch the boot image won't generate addon.d scripts

mincrmatt12 commented 3 years ago

Oh right, sorry.

Geremia commented 3 years ago

@topjohnwu

A solution is to use the Magisk app to patch the boot image.

I patched lineage-18.1-20210408-recovery-jfltexx.img, but sideloading the patched *.img doesn't work. Is this because of the presence (or absence) of addon.d?

Flashing Magisk-v21.4.zip (not v22.0) when I ran LineageOS 17.1 (Android 10) successfully rooted my device, however.

topjohnwu commented 3 years ago

I will no longer track any issues related to installation through recovery. Please create a PR if you have a fix for this :)

osm0sis commented 2 years ago

I think it might be worth opening this up again to see if any of the current new contributors have any ideas how to fix it. If not, we can reclose. 🤞

yujincheng08 commented 2 years ago

After discussion, we think it is not worth spending time fixing.

osm0sis commented 2 years ago

Fair enough! 🙃