Loading libs/graphicsenv/GraphicsEnv.cpp +10 −15 Original line number Original line Diff line number Diff line Loading @@ -61,26 +61,25 @@ enum NativeLibrary { VNDKSP = 1, VNDKSP = 1, }; }; static constexpr const char* kNativeLibrariesSystemConfigPath[] = {"/etc/llndk.libraries.txt", static constexpr const char* kNativeLibrariesSystemConfigPath[] = "/etc/vndksp.libraries.txt"}; {"/apex/com.android.vndk.v{}/etc/llndk.libraries.{}.txt", "/apex/com.android.vndk.v{}/etc/vndksp.libraries.{}.txt"}; static std::string vndkVersionStr() { static std::string vndkVersionStr() { #ifdef __BIONIC__ #ifdef __BIONIC__ std::string version = android::base::GetProperty("ro.vndk.version", ""); return android::base::GetProperty("ro.vndk.version", ""); if (version != "" && version != "current") { return "." + version; } #endif #endif return ""; return ""; } } static void insertVndkVersionStr(std::string* fileName) { static void insertVndkVersionStr(std::string* fileName) { LOG_ALWAYS_FATAL_IF(!fileName, "fileName should never be nullptr"); LOG_ALWAYS_FATAL_IF(!fileName, "fileName should never be nullptr"); size_t insertPos = fileName->find_last_of("."); std::string version = vndkVersionStr(); if (insertPos == std::string::npos) { size_t pos = fileName->find("{}"); insertPos = fileName->length(); while (pos != std::string::npos) { fileName->replace(pos, 2, version); pos = fileName->find("{}", pos + version.size()); } } fileName->insert(insertPos, vndkVersionStr()); } } static bool readConfig(const std::string& configFile, std::vector<std::string>* soNames) { static bool readConfig(const std::string& configFile, std::vector<std::string>* soNames) { Loading @@ -103,11 +102,7 @@ static bool readConfig(const std::string& configFile, std::vector<std::string>* } } static const std::string getSystemNativeLibraries(NativeLibrary type) { static const std::string getSystemNativeLibraries(NativeLibrary type) { static const char* androidRootEnv = getenv("ANDROID_ROOT"); std::string nativeLibrariesSystemConfig = kNativeLibrariesSystemConfigPath[type]; static const std::string rootDir = androidRootEnv != nullptr ? androidRootEnv : "/system"; std::string nativeLibrariesSystemConfig = rootDir + kNativeLibrariesSystemConfigPath[type]; insertVndkVersionStr(&nativeLibrariesSystemConfig); insertVndkVersionStr(&nativeLibrariesSystemConfig); std::vector<std::string> soNames; std::vector<std::string> soNames; Loading Loading
libs/graphicsenv/GraphicsEnv.cpp +10 −15 Original line number Original line Diff line number Diff line Loading @@ -61,26 +61,25 @@ enum NativeLibrary { VNDKSP = 1, VNDKSP = 1, }; }; static constexpr const char* kNativeLibrariesSystemConfigPath[] = {"/etc/llndk.libraries.txt", static constexpr const char* kNativeLibrariesSystemConfigPath[] = "/etc/vndksp.libraries.txt"}; {"/apex/com.android.vndk.v{}/etc/llndk.libraries.{}.txt", "/apex/com.android.vndk.v{}/etc/vndksp.libraries.{}.txt"}; static std::string vndkVersionStr() { static std::string vndkVersionStr() { #ifdef __BIONIC__ #ifdef __BIONIC__ std::string version = android::base::GetProperty("ro.vndk.version", ""); return android::base::GetProperty("ro.vndk.version", ""); if (version != "" && version != "current") { return "." + version; } #endif #endif return ""; return ""; } } static void insertVndkVersionStr(std::string* fileName) { static void insertVndkVersionStr(std::string* fileName) { LOG_ALWAYS_FATAL_IF(!fileName, "fileName should never be nullptr"); LOG_ALWAYS_FATAL_IF(!fileName, "fileName should never be nullptr"); size_t insertPos = fileName->find_last_of("."); std::string version = vndkVersionStr(); if (insertPos == std::string::npos) { size_t pos = fileName->find("{}"); insertPos = fileName->length(); while (pos != std::string::npos) { fileName->replace(pos, 2, version); pos = fileName->find("{}", pos + version.size()); } } fileName->insert(insertPos, vndkVersionStr()); } } static bool readConfig(const std::string& configFile, std::vector<std::string>* soNames) { static bool readConfig(const std::string& configFile, std::vector<std::string>* soNames) { Loading @@ -103,11 +102,7 @@ static bool readConfig(const std::string& configFile, std::vector<std::string>* } } static const std::string getSystemNativeLibraries(NativeLibrary type) { static const std::string getSystemNativeLibraries(NativeLibrary type) { static const char* androidRootEnv = getenv("ANDROID_ROOT"); std::string nativeLibrariesSystemConfig = kNativeLibrariesSystemConfigPath[type]; static const std::string rootDir = androidRootEnv != nullptr ? androidRootEnv : "/system"; std::string nativeLibrariesSystemConfig = rootDir + kNativeLibrariesSystemConfigPath[type]; insertVndkVersionStr(&nativeLibrariesSystemConfig); insertVndkVersionStr(&nativeLibrariesSystemConfig); std::vector<std::string> soNames; std::vector<std::string> soNames; Loading