Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e43503c2 authored by Dimitry Ivanov's avatar Dimitry Ivanov Committed by android-build-merger
Browse files

native_loader: Use ANDROID_ROOT environment variable

am: 0b5651e1

* commit '0b5651e1':
  native_loader: Use ANDROID_ROOT environment variable

Change-Id: I384d0c5b24da515719ad936421331a89e9dc5cf8
parents 2c3cdae2 0b5651e1
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@
namespace android {

#if defined(__ANDROID__)
static constexpr const char* kPublicNativeLibrariesSystemConfig = "/system/etc/public.libraries.txt";
static constexpr const char* kPublicNativeLibrariesSystemConfigPathFromRoot = "/etc/public.libraries.txt";
static constexpr const char* kPublicNativeLibrariesVendorConfig = "/vendor/etc/public.libraries.txt";

class LibraryNamespaces {
@@ -105,10 +105,14 @@ class LibraryNamespaces {

  void Initialize() {
    std::vector<std::string> sonames;
    const char* android_root_env = getenv("ANDROID_ROOT");
    std::string root_dir = android_root_env != nullptr ? android_root_env : "/system";
    std::string public_native_libraries_system_config =
            root_dir + kPublicNativeLibrariesSystemConfigPathFromRoot;

    LOG_ALWAYS_FATAL_IF(!ReadConfig(kPublicNativeLibrariesSystemConfig, &sonames),
    LOG_ALWAYS_FATAL_IF(!ReadConfig(public_native_libraries_system_config, &sonames),
                        "Error reading public native library list from \"%s\": %s",
                        kPublicNativeLibrariesSystemConfig, strerror(errno));
                        public_native_libraries_system_config.c_str(), strerror(errno));
    // This file is optional, quietly ignore if the file does not exist.
    ReadConfig(kPublicNativeLibrariesVendorConfig, &sonames);