Merge "native_loader: Use ANDROID_ROOT environment variable"
am: 6d28ae7
* commit '6d28ae7b0dfb486b3d7840185cdcbde5aec76a04':
native_loader: Use ANDROID_ROOT environment variable
Change-Id: I1cda059bc87629f52077a33d18b2f8cdc4707dd2
This commit is contained in:
commit
e40d65fa8e
1 changed files with 7 additions and 3 deletions
|
|
@ -36,7 +36,7 @@
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
#if defined(__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";
|
static constexpr const char* kPublicNativeLibrariesVendorConfig = "/vendor/etc/public.libraries.txt";
|
||||||
|
|
||||||
class LibraryNamespaces {
|
class LibraryNamespaces {
|
||||||
|
|
@ -95,10 +95,14 @@ class LibraryNamespaces {
|
||||||
|
|
||||||
void Initialize() {
|
void Initialize() {
|
||||||
std::vector<std::string> sonames;
|
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",
|
"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.
|
// This file is optional, quietly ignore if the file does not exist.
|
||||||
ReadConfig(kPublicNativeLibrariesVendorConfig, &sonames);
|
ReadConfig(kPublicNativeLibrariesVendorConfig, &sonames);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue