Fix logspam due to missing /vendor/etc/public.libraries.txt

On Cuttlefish, a warning "Failed to read public libraries file" followed
by a stack trace is logged at boot time due to
/vendor/etc/public.libraries.txt not existing.

However, this file only exists when the silicon vendor chooses to
provide additional libraries accessible to apps, according to
https://source.android.com/docs/core/permissions/namespaces_libraries#adding-additional-native-libraries

Therefore, catch the FileNotFoundException and just log a debug message.

Bug: 290402890
Test: booted Cuttlefish and verified the warning is gone
Change-Id: I8c21ccb5603fe1f3d523ce762ccc2f7191d74938
Merged-In: I8c21ccb5603fe1f3d523ce762ccc2f7191d74938
This commit is contained in:
Eric Biggers
2023-07-07 23:29:00 +00:00
parent 60a6004712
commit 859a261615

View File

@@ -1848,6 +1848,9 @@ public class SystemConfig {
soname, soname, new String[0], true);
mSharedLibraries.put(entry.name, entry);
}
} catch (FileNotFoundException e) {
// Expected for /vendor/etc/public.libraries.txt on some devices
Slog.d(TAG, listFile + " does not exist");
} catch (IOException e) {
Slog.w(TAG, "Failed to read public libraries file " + listFile, e);
}