Merge "Delete VNDK definition tools" am: e0d81eed8f

Original change: https://android-review.googlesource.com/c/platform/development/+/2216377

Change-Id: Id674e3121dd72b032a2afae98f2eb6545420d727
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Hsin-Yi Chen
2022-09-28 04:51:51 +00:00
committed by Automerger Merge Worker
132 changed files with 0 additions and 14015 deletions

View File

@@ -1,23 +0,0 @@
//
// Copyright (C) 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
subdirs = [
"tools",
]

View File

@@ -1,2 +0,0 @@
andrewhsieh@google.com
loganchien@google.com

View File

@@ -1,24 +0,0 @@
//
// Copyright (C) 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
subdirs = [
"header-checker",
"vtable-dumper",
]

View File

@@ -1,8 +0,0 @@
[MESSAGES CONTROL]
disable=
fixme,
invalid-name,
missing-docstring,
ungrouped-imports,
useless-object-inheritance,

View File

@@ -1,4 +0,0 @@
andrewhsieh@google.com
hsinyichen@google.com
loganchien@google.com
tyanh@google.com

View File

@@ -1,124 +0,0 @@
VNDK Definition Tool
====================
VNDK definition tool was designed to classify all shared libraries in the
system partition and give suggestions to copy necessary libraries to the vendor
partition.
## Usage
To run VNDK definition tool, you will need three inputs:
1. The system and vendor image for your target
2. Android Treble reference image
3. Eligible VNDK list from Google (e.g. eligible-list-v3.0.csv)
The high-level overview of the command line usage is:
$ python3 ./vndk_definition_tool.py vndk \
--system "/path/to/your/product_out/system" \
--vendor "/path/to/your/product_out/vendor" \
--aosp-system "/path/to/aosp/generic/system" \
--tag-file "eligible-list-v3.0.csv"
This command will print several lines such as:
vndk-sp: libexample1.so
vndk-sp-ext: libexample2.so
extra-vendor-libs: libexample3.so
The output implies:
1. `libexample1.so` should be copied to `/system/lib[64]/vndk-sp`.
2. `libexample2.so` should be copied to `/vendor/lib[64]/vndk-sp`.
3. `libexample3.so` should be copied to `/vendor/lib[64]`.
# Makefile Boilerplates
There are some boilerplates in `templates` directory that can automate the
process to copy shared libraries. Please copy a boilerplate, rename it as
`Android.mk`, and replace the placeholders with corresponding values:
* `##_VNDK_SP_##` should be replaced by library names tagged with `vndk_sp`.
* `##_VNDK_SP_EXT_##` should be replaced by library names tagged with
`vndk_sp_ext`.
* `##_EXTRA_VENDOR_LIBS_##` should be replaced by library names tagged with
`extra_vendor_libs`.
* `$(YOUR_DEVICE_NAME)` has to be replaced by your own device product name.
VNDK definition tool can fill in the library names and generate an `Android.mk`
when the `--output-format=make` is specified:
$ python3 ./vndk_definition_tool.py vndk \
--system "/path/to/your/product_out/system" \
--vendor "/path/to/your/product_out/vendor" \
--aosp-system "/path/to/aosp/generic/system" \
--tag-file "eligible-list-v3.0.csv" \
--output-format=make
These boilerplates only define the modules to copy shared libraries.
Developers have to add the phony package name to `PRODUCT_PACKAGES` variable in
the `device.mk` for their devices.
PRODUCT_PACKAGES += $(YOUR_DEVICE_NAME)-vndk
## Ignore Subdirectories
Some devices keep their vendor modules in `/system/vendor`. To run VNDK
definition tool for those devices, we have to skip `/system/vendor` and specify
it with `--vendor` option. For example:
python3 vndk_definition_tool.py vndk \
--system ${ANDROID_PRODUCT_OUT}/system \
--system-dir-ignored vendor \
--vendor ${ANDROID_PRODUCT_OUT}/system/vendor \
# ...
## Implicit Dependencies
If there are implicit dependencies, such as `dlopen()`, we can specify them in
a dependency file and load the dependency file with `--load-extra-deps`. The
dependency file format is simple: (a) each line stands for a dependency, and
(b) the file before the colon depends on the file after the colon. For
example, `libart.so` depends on `libart-compiler.so`:
/system/lib64/libart.so: /system/lib64/libart-compiler.so
And then, run VNDK definition tool with:
$ python3 vndk_definition_tool.py vndk \
--system ${ANDROID_PRODUCT_OUT}/system \
--vendor ${ANDROID_PRODUCT_OUT}/vendor \
--aosp-system ${ANDROID_PRODUCT_OUT}/../generic_arm64_a \
--tag-file eligible-list-v3.0.csv \
--load-extra-deps dlopen.dep
## Remarks
To run VNDK definition tool against an image (`.img`), run the following
command to mount the images and run `vndk_definition_tool.py` with `sudo`:
$ simg2img system.img system.raw.img
$ simg2img vendor.img vendor.raw.img
$ mkdir system
$ mkdir vendor
$ sudo mount -o loop,ro system.raw.img system
$ sudo mount -o loop,ro vendor.raw.img vendor
$ sudo python3 vndk_definition_tool.py vndk \
--system system \
--vendor vendor \
--aosp-system /path/to/aosp/generic/system \
--tag-file eligible-list-v3.0.csv

View File

@@ -1,13 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VNDK Dependency Insight</title>
<link rel="stylesheet" href="insight.css" media="all" />
<script type="text/javascript" src="insight.js"></script>
<script type="text/javascript" src="insight-data.js"></script>
</head>
<body></body>
</html>

View File

@@ -1,24 +0,0 @@
(function () {
var strs = [
'/system/lib/libc.so',
'/system/lib/libm.so',
'/system/lib/libdl.so',
'/system/lib64/libc.so',
'/system/lib64/libm.so',
'/system/lib64/libdl.so',
'll-ndk',
'hl-ndk',
'bionic/libc',
'bionic/libm',
'bionic/libdl',
];
var mods = [
[0, 32, [6], [[1, 2]], [], [8]],
[1, 32, [6], [], [0], [9]],
[2, 32, [6], [], [0], [10]],
[3, 64, [6], [[5], [4]], [], [8]],
[4, 64, [7], [[5]], [3], [9]],
[5, 64, [7], [], [3, 4], [9, 10]],
];
insight.init(document, strs, mods);
})();

View File

@@ -1,116 +0,0 @@
p, li, td, th, h1, h2, h3 {
line-height: 1.6;
}
#control {
background-color: #eefaff;
border: 1px solid #3399ff;
border-collapse: collapse;
margin: 0px 0px 20px 0px;
width: 100%;
}
#control td {
padding: 3px;
}
#control_menu:link {
display: block;
width: 5em;
height: 20pt;
text-align: center;
line-height: 20pt;
color: #ffffff;
background-color: #3399ff;
position: fixed;
top: 0px;
right: 0px;
}
#control_menu:visited {
color: #ffffff;
}
#control_menu:hover {
color: #ffffff;
background-color: #0000ff;
}
.menu {
list-style-type: none;
margin: 0px;
padding: 0px;
}
.menu li {
display: inline;
padding: 0px 1em 0px 0px;
}
a:link {
color: #2244ff;
text-decoration: none;
font-family: monospace;
}
a:visited {
color: #2244ff;
text-decoration: none;
}
a:hover {
color: #ff3322;
text-decoration: underline;
}
a:active {
color: #ff3322;
text-decoration: underline;
}
#module_table {
border-collapse: collapse;
width: 100%;
}
#module_tbody td,
#module_tbody th {
border: 1px solid #dddddd;
padding: 3px 20px;
vertical-align: top;
}
#module_tbody th {
background-color: #eeeeee;
}
#module_tbody h1,
#module_tbody h2,
#module_tbody p {
font-size: 100%;
margin: 0px;
padding: 0px;
}
#module_tbody ol,
#module_tbody ul {
margin: .3em 0px;
padding: 0px 0px 0px 2em;
}
#module_tbody tr:target {
background-color: #fffff0;
transition: background-color 800ms ease;
}
#module_tbody p.module_src_dir {
font-family: monospace;
font-size: 80%;
color: #aaaaaa;
}
#no_module_placeholder {
font-style: italic;
font-family: sans-serif;
text-align: center;
}

View File

@@ -1,509 +0,0 @@
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define([], factory);
} else if (typeof module === 'object' && module.exports) {
module.exports = factory();
} else {
root.insight = factory();
}
} (this, function () {
'use strict';
let document;
let strsData, mods, tagIds;
let domPathInput, domFuzzyMatch;
let domTBody;
let domPlaceholder = null;
let placeholderVisible = false;
//--------------------------------------------------------------------------
// DOM Helper Functions
//--------------------------------------------------------------------------
function domNewText(text) {
return document.createTextNode(text);
}
function domNewElem(type) {
let dom = document.createElement(type);
for (let i = 1; i < arguments.length; ++i) {
let arg = arguments[i];
if (typeof(arg) == 'string' || typeof(arg) == 'number') {
arg = domNewText(arg)
}
dom.appendChild(arg);
}
return dom;
}
function domNewLink(text, onClick) {
let dom = domNewElem('a', text);
dom.setAttribute('href', '#');
dom.addEventListener('click', onClick);
return dom;
}
//--------------------------------------------------------------------------
// Module Row
//--------------------------------------------------------------------------
function countDeps(deps) {
let direct = 0;
let indirect = 0;
if (deps.length > 0) {
direct = deps[0].length;
for (let i = 1; i < deps.length; ++i) {
indirect += deps[i].length;
}
}
return [direct, indirect];
}
function Module(id, modData) {
this.id = id;
this.path = strsData[modData[0]];
this.cls = modData[1];
this.tagIds = new Set(modData[2]);
this.deps = modData[3];
this.users = modData[4];
this.srcDirs = modData[5].map(function (x) { return strsData[x]; });
[this.numDirectDeps, this.numIndirectDeps] = countDeps(this.deps);
this.numUsers = this.users.length;
this.dom = null;
this.visible = false;
this.linkDoms = Object.create(null);
}
Module.prototype.isTagged = function (tagId) {
return this.tagIds.has(tagId);
}
Module.prototype.createModuleLinkDom = function (mod) {
let dom = domNewElem('a', mod.path);
dom.setAttribute('href', '#mod_' + mod.id);
dom.setAttribute('data-mod-id', mod.id);
dom.setAttribute('data-owner-id', this.id);
dom.addEventListener('click', onModuleLinkClicked);
dom.addEventListener('mouseover', onModuleLinkMouseOver);
dom.addEventListener('mouseout', onModuleLinkMouseOut);
this.linkDoms[mod.id] = dom;
return dom;
}
Module.prototype.createModuleRelationsDom = function (parent, label,
modIds) {
parent.appendChild(domNewElem('h2', label));
let domOl = domNewElem('ol');
parent.appendChild(domOl);
for (let modId of modIds) {
domOl.appendChild(
domNewElem('li', this.createModuleLinkDom(mods[modId])));
}
}
Module.prototype.createModulePathTdDom = function (parent) {
let domTd = domNewElem('td');
domTd.appendChild(domNewElem('p', this.createModuleLinkDom(this)));
for (let dir of this.srcDirs) {
let domP = domNewElem('p', 'source: ' + dir);
domP.setAttribute('class', 'module_src_dir');
domTd.appendChild(domP);
}
parent.appendChild(domTd);
}
Module.prototype.createTagsTdDom = function (parent) {
let domTd = domNewElem('td');
for (let tag of this.tagIds) {
domTd.appendChild(domNewElem('p', strsData[tag]));
}
parent.appendChild(domTd);
}
Module.prototype.createDepsTdDom = function (parent) {
let domTd = domNewElem(
'td', this.numDirectDeps + ' + ' + this.numIndirectDeps);
let deps = this.deps;
if (deps.length > 0) {
this.createModuleRelationsDom(domTd, 'Direct', deps[0]);
for (let i = 1; i < deps.length; ++i) {
this.createModuleRelationsDom(domTd, 'Indirect #' + i, deps[i]);
}
}
parent.appendChild(domTd);
}
Module.prototype.createUsersTdDom = function (parent) {
let domTd = domNewElem('td', this.numUsers);
let users = this.users;
if (users.length > 0) {
this.createModuleRelationsDom(domTd, 'Direct', users);
}
parent.appendChild(domTd);
}
Module.prototype.createDom = function () {
let dom = this.dom = domNewElem('tr');
dom.setAttribute('id', 'mod_' + this.id);
this.createModulePathTdDom(dom);
this.createTagsTdDom(dom);
this.createDepsTdDom(dom);
this.createUsersTdDom(dom)
}
Module.prototype.showDom = function () {
hidePlaceholder();
if (this.visible) {
return;
}
if (this.dom === null) {
this.createDom();
}
domTBody.appendChild(this.dom);
this.visible = true;
}
Module.prototype.hideDom = function () {
if (!this.visible) {
return;
}
this.dom.parentNode.removeChild(this.dom);
this.visible = false;
}
function createModulesFromData(stringsData, modulesData) {
return modulesData.map(function (modData, id) {
return new Module(id, modData);
});
}
function createTagIdsFromData(stringsData, mods) {
let tagIds = new Set();
for (let mod of mods) {
for (let tag of mod.tagIds) {
tagIds.add(tag);
}
}
tagIds = Array.from(tagIds);
tagIds.sort(function (a, b) {
return strsData[a].localeCompare(strsData[b]);
});
return tagIds;
}
//--------------------------------------------------------------------------
// Data
//--------------------------------------------------------------------------
function init(doc, stringsData, modulesData) {
document = doc;
strsData = stringsData;
mods = createModulesFromData(stringsData, modulesData);
tagIds = createTagIdsFromData(stringsData, mods);
document.addEventListener('DOMContentLoaded', function (evt) {
createControlDom(document.body);
createTableDom(document.body);
});
}
//--------------------------------------------------------------------------
// Control
//--------------------------------------------------------------------------
function createControlDom(parent) {
let domTBody = domNewElem('tbody');
createSelectionTrDom(domTBody);
createAddByTagsTrDom(domTBody);
createAddByPathTrDom(domTBody);
let domTable = domNewElem('table', domTBody);
domTable.id = 'control';
let domFixedLink = domNewElem('a', 'Menu');
domFixedLink.href = '#control';
domFixedLink.id = 'control_menu';
parent.appendChild(domFixedLink);
parent.appendChild(domTable);
}
function createControlMenuTr(parent, label, items) {
let domUl = domNewElem('ul');
domUl.className = 'menu';
for (let [txt, callback] of items) {
domUl.appendChild(domNewElem('li', domNewLink(txt, callback)));
}
let domTr = domNewElem('tr',
createControlLabelTdDom(label),
domNewElem('td', domUl));
parent.appendChild(domTr);
}
function createSelectionTrDom(parent) {
const items = [
['All', onAddAll],
['32-bit', onAddAll32],
['64-bit', onAddAll64],
['Clear', onClear],
];
createControlMenuTr(parent, 'Selection:', items);
}
function createAddByTagsTrDom(parent) {
if (tagIds.length == 0) {
return;
}
const items = tagIds.map(function (tagId) {
return [strsData[tagId], function (evt) {
evt.preventDefault(true);
showModulesByTagId(tagId);
}];
});
createControlMenuTr(parent, 'Add by Tags:', items);
}
function createAddByPathTrDom(parent) {
let domForm = domNewElem('form');
domForm.addEventListener('submit', onAddModuleByPath);
domPathInput = domNewElem('input');
domPathInput.type = 'text';
domForm.appendChild(domPathInput);
let domBtn = domNewElem('input');
domBtn.type = 'submit';
domBtn.value = 'Add';
domForm.appendChild(domBtn);
domFuzzyMatch = domNewElem('input');
domFuzzyMatch.setAttribute('id', 'fuzzy_match');
domFuzzyMatch.setAttribute('type', 'checkbox');
domFuzzyMatch.setAttribute('checked', 'checked');
domForm.appendChild(domFuzzyMatch);
let domFuzzyMatchLabel = domNewElem('label', 'Fuzzy Match');
domFuzzyMatchLabel.setAttribute('for', 'fuzzy_match');
domForm.appendChild(domFuzzyMatchLabel);
let domTr = domNewElem('tr',
createControlLabelTdDom('Add by Path:'),
domNewElem('td', domForm));
parent.appendChild(domTr);
}
function createControlLabelTdDom(text) {
return domNewElem('td', domNewElem('strong', text));
}
//--------------------------------------------------------------------------
// Table
//--------------------------------------------------------------------------
function createTableDom(parent) {
domTBody = domNewElem('tbody');
domTBody.id = 'module_tbody';
createTableHeaderDom(domTBody);
showPlaceholder();
let domTable = domNewElem('table', domTBody);
domTable.id = 'module_table';
parent.appendChild(domTable);
}
function createTableHeaderDom(parent) {
const labels = [
'Name',
'Tags',
'Dependencies (Direct + Indirect)',
'Users',
];
let domTr = domNewElem('tr');
for (let label of labels) {
domTr.appendChild(domNewElem('th', label));
}
parent.appendChild(domTr);
}
function createPlaceholder() {
let domTd = domNewElem('td');
domTd.setAttribute('colspan', 4);
domTd.setAttribute('id', 'no_module_placeholder');
domTd.appendChild(domNewText(
'No modules are selected. Click the menu to select modules by ' +
'names or categories.'));
domPlaceholder = domNewElem('tr', domTd);
}
function showPlaceholder() {
if (placeholderVisible) {
return;
}
placeholderVisible = true;
if (domPlaceholder === null) {
createPlaceholder();
}
domTBody.appendChild(domPlaceholder);
}
function hidePlaceholder() {
if (placeholderVisible) {
domTBody.removeChild(domPlaceholder);
placeholderVisible = false;
}
}
function hideAllModules() {
for (let mod of mods) {
mod.hideDom();
}
showPlaceholder();
}
function showAllModules() {
for (let mod of mods) {
mod.showDom();
}
}
function showModulesByFilter(pred) {
let numMatched = 0;
for (let mod of mods) {
if (pred(mod)) {
mod.showDom();
++numMatched;
}
}
return numMatched;
}
function showModulesByTagId(tagId) {
showModulesByFilter(function (mod) {
return mod.isTagged(tagId);
});
}
//--------------------------------------------------------------------------
// Events
//--------------------------------------------------------------------------
function onAddModuleByPath(evt) {
evt.preventDefault();
let path = domPathInput.value;
domPathInput.value = '';
function escapeRegExp(pattern) {
return pattern.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1');
}
function createFuzzyMatcher() {
let parts = path.split(/\/+/g);
let pattern = '';
for (let part of parts) {
pattern += escapeRegExp(part) + '(?:/[^\/]*)*';
}
pattern = RegExp(pattern);
return function (mod) {
return pattern.test(mod.path);
};
}
function exactMatcher(mod) {
return mod.path == path;
}
let numMatched = showModulesByFilter(
domFuzzyMatch.checked ? createFuzzyMatcher() : exactMatcher);
if (numMatched == 0) {
alert('No matching modules: ' + path);
}
}
function onAddAll(evt) {
evt.preventDefault(true);
hideAllModules();
showAllModules();
}
function onAddAllClass(evt, cls) {
evt.preventDefault(true);
hideAllModules();
showModulesByFilter(function (mod) {
return mod.cls == cls;
});
}
function onAddAll32(evt) {
onAddAllClass(evt, 32);
}
function onAddAll64(evt) {
onAddAllClass(evt, 64);
}
function onClear(evt) {
evt.preventDefault(true);
hideAllModules();
}
function onModuleLinkClicked(evt) {
let modId = parseInt(evt.target.getAttribute('data-mod-id'), 10);
mods[modId].showDom();
}
function setDirectDepBackgroundColor(modId, ownerId, color) {
let mod = mods[modId];
let owner = mods[ownerId];
let ownerLinkDoms = owner.linkDoms;
if (mod.deps.length > 0) {
for (let depId of mod.deps[0]) {
if (depId in ownerLinkDoms) {
ownerLinkDoms[depId].style.backgroundColor = color;
}
}
}
}
function onModuleLinkMouseOver(evt) {
let modId = parseInt(evt.target.getAttribute('data-mod-id'), 10);
let ownerId = parseInt(evt.target.getAttribute('data-owner-id'), 10);
setDirectDepBackgroundColor(modId, ownerId, '#ffff00');
}
function onModuleLinkMouseOut(evt) {
let modId = parseInt(evt.target.getAttribute('data-mod-id'), 10);
let ownerId = parseInt(evt.target.getAttribute('data-owner-id'), 10);
setDirectDepBackgroundColor(modId, ownerId, 'transparent');
}
return {
'init': init,
};
}));

View File

@@ -1,45 +0,0 @@
var violatedLibs = {"system.private.bin": [
["/system/bin/systembin", 2],
["/system/bin/otherbin", 1]],
"system.private.fwk-only": [
["/system/lib/test.so", 1]],
"vendor.private.bin": [
["/vendor/lib/libvendor.so", 2],
["/vendor/lib/vendor_2_lib.so", 1]]};
var depData = [
{"name": "/system/lib/oklib.so",
"violate_count": 0,
"violates": [],
"depends": [],
"tag": "system.public.vndk"},
{"name": "/system/lib/oklib2.so",
"violate_count": 0,
"violates": [],
"depends": ["/system/lib/oklib.so"],
"tag": "system.private.fwk_only"},
{"name": "/system/bin/systembin",
"violate_count": 2,
"violates": ["/vendor/lib/libvendor.so", "/vendor/lib/vendor_2_lib.so"],
"depends": ["/system/lib/oklib.so"],
"tag": "system.private.bin"},
{"name": "/system/bin/otherbin",
"violate_count": 1,
"violates": ["/vendor/lib/libvendor.so"],
"depends": ["/system/lib/oklib2.so"],
"tag": "system.private.bin"},
{"name": "/system/lib/test.so",
"violate_count": 1,
"violates": ["/vendor/lib/libvendor.so"],
"depends": ["/system/lib/oklib.so"],
"tag": "system.private.fwk-only"},
{"name": "/vendor/lib/libvendor.so",
"violate_count": 2,
"violates": ["/system/lib/test.so", "/system/lib/oklib2.so"],
"depends": [],
"tag": "vendor.private.bin"},
{"name": "/vendor/lib/vendor_2_lib.so",
"violate_count": 1,
"violates": ["/system/lib/test.so"],
"depends": [],
"tag": "vendor.private.bin"}
];

View File

@@ -1,150 +0,0 @@
.node {
font: 300 11px "Helvetica Neue", Helvetica, Arial, sans-serif;
fill: #bbb;
fill-opacity: 0.2;
}
.node--sys-pri {
font: 300 11px "Helvetica Neue", Helvetica, Arial, sans-serif;
fill: #ffaaaa;
fill-opacity: 0.2;
}
.node--sys-pub {
font: 300 11px "Helvetica Neue", Helvetica, Arial, sans-serif;
fill: #aaffaa;
fill-opacity: 0.2;
}
.node--source {
fill: #2ca02c;
fill-opacity: 1;
}
.node--target {
fill: #d62728;
fill-opacity: 1;
}
.node--selected {
fill: #ff7000;
fill-opacity: 1;
font-weight: 700;
}
.node:hover,
.node--sys-pri:hover,
.node--sys-pub:hover {
fill: #000;
fill-opacity: 1;
}
.node:hover,
.node--sys-pri:hover,
.node--sys-pub:hover,
.node--source,
.node--target {
font-weight: 700;
}
.link {
stroke: steelblue;
stroke-opacity: 0.01;
fill: none;
pointer-events: none;
}
.link--violate {
stroke: crimson;
stroke-opacity: 0.1;
stroke-width: 1.0px;
fill: none;
pointer-events: none;
}
.link--source,
.link--target {
stroke-opacity: 1;
stroke-width: 2.5px;
}
.link--source {
stroke: orange;
}
.link--target {
stroke: #2ca02c;
}
button.violate {
background-color: white;
color: #333;
cursor: pointer;
padding: 5px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
button.violate.active,
button.violate:hover {
background-color: #bb0000;
}
button.violate-list {
background-color: #ffdddd;
color: #333;
cursor: pointer;
padding: 5px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
button.violate-list.active,
button.violate-list:hover {
background-color: #ff6666;
}
.violate-list-sym {
background-color: #ffaaaa;
padding: 3px;
width: 100%;
border: none;
text-align: left;
font-size: 14px;
}
span.cplusplus-sym {
background-color: #ffffff;
top: 10px;
left: 20px;
width: auto;
height: auto;
border: solid 1px blue;
font-size: 18px;
position: absolute;
}
#violate_list_column {
width: 20%;
height: 99vh;
float: left;
overflow: scroll;
}
#dep_graph_column {
width: 80%;
height: 99vh;
float: right;
overflow: scroll;
}
#reset_btn {
position: absolute;
margin: 20px;
}

View File

@@ -1,340 +0,0 @@
(function() {
'use strict';
let diameter = 1280;
let radius = diameter / 2;
let innerRadius = radius - 240;
let cluster = d3.cluster();
cluster.size([ 360, innerRadius ]);
let line = d3.radialLine();
line.curve(d3.curveBundle.beta(0.85));
line.radius(function(d) { return d.y; });
line.angle(function(d) { return d.x / 180 * Math.PI; });
let link;
let node;
let selectedNode;
let selectedSubNode;
function init() {
let domListCol = document.createElement("div");
domListCol.id = "violate_list_column";
let domGraphCol = document.createElement("div");
domGraphCol.id = "dep_graph_column";
let domResetBtn = document.createElement("button");
domResetBtn.id = "reset_btn";
domResetBtn.innerHTML = "Reset";
domGraphCol.appendChild(domResetBtn);
document.body.appendChild(domListCol);
document.body.appendChild(domGraphCol);
let canvas = d3.select("#dep_graph_column").append("svg");
canvas.attr("width", diameter + 200);
canvas.attr("height", diameter);
let svg = canvas.append("g");
svg.attr("transform", "translate(" + (radius + 100) + "," + radius + ")");
link = svg.append("g").selectAll(".link");
node = svg.append("g").selectAll(".node");
showResult(depData, violatedLibs);
}
function showList(depMap, violatedLibs) {
function makeTitle(tagName) {
let domTitle = document.createElement("div");
let domText = document.createElement("h3");
domText.innerHTML = tagName;
domTitle.appendChild(domText);
return domTitle;
}
function makeButton(libName, count) {
let domButton = document.createElement("button");
domButton.className = "violate";
domButton.innerHTML = libName + " (" + count + ")";
domButton.onclick = function() {
this.classList.toggle("active");
let currentList = this.nextElementSibling;
if (currentList.style.display === "block") {
currentList.style.display = "none";
selectedNode = undefined;
if (selectedSubNode) {
selectedSubNode.classList.toggle("active");
selectedSubNode.nextElementSibling.style.display = "none";
selectedSubNode = undefined;
}
resetclicked();
} else {
currentList.style.display = "block";
for (let i = 1; i < currentList.childElementCount; i += 2) {
currentList.childNodes[i].style.display = "none";
}
if (selectedNode) {
selectedNode.classList.toggle("active");
selectedNode.nextElementSibling.style.display = "none";
if (selectedSubNode) {
selectedSubNode.classList.toggle("active");
selectedSubNode.nextElementSibling.style.display = "none";
selectedSubNode = undefined;
}
}
selectedNode = domButton;
mouseclicked(depMap[libName]);
}
};
return domButton;
}
function makeSubButton(libName, count) {
let domButton = document.createElement("button");
domButton.className = "violate-list";
domButton.innerHTML = libName + " (" + count + ")";
domButton.onclick = function() {
this.classList.toggle("active");
let currentSubList = this.nextElementSibling;
if (currentSubList.style.display === "block") {
currentSubList.style.display = "none";
selectedSubNode = undefined;
} else {
currentSubList.style.display = "block";
for (let i = 0; i < currentSubList.childElementCount; i++) {
if (currentSubList.childNodes[i].childElementCount > 0) {
currentSubList.childNodes[i].childNodes[1].style.display = "none";
}
}
if (selectedSubNode) {
selectedSubNode.classList.toggle("active");
selectedSubNode.nextElementSibling.style.display = "none";
}
selectedSubNode = domButton;
}
};
return domButton;
}
function changeFormat(symbol) {
let res = "";
let i;
for (i = 0; i < symbol.length; i++) {
if (symbol.charAt(i) >= '0' && symbol.charAt(i) <= '9') {
break;
}
}
while (i < symbol.length) {
if (symbol.charAt(i) < '0' || symbol.charAt(i) > '9') {
break;
}
let len = parseInt(symbol.substr(i, symbol.length));
let count = 1;
if (len < 10) {
count = 0;
}
res = res + "::" + symbol.substr(i + 1 + count, len);
i = i + 1 + count + len;
}
return res.substr(2, res.length);
}
function makeList(domList, list)
{
for (let i = 0; i < list.length; i++) {
domList.appendChild(makeButton(list[i][0], list[i][1]));
let domDepList = document.createElement("div");
let depItem = depMap[list[i][0]];
let violates = depItem.data.violates;
for (let j = 0; j < violates.length; j++) {
let domDepLib = document.createElement("div");
let tag = depMap[violates[j][0]].data.tag;
let symbols = violates[j][1];
let domDepButton = makeSubButton(violates[j][0] + " ["
+ tag.substring(tag.lastIndexOf(".") + 1) + "]", symbols.length);
for (let k = 0; k < symbols.length; k++) {
let domDepSym = document.createElement("div");
domDepSym.className = "violate-list-sym";
domDepSym.innerHTML = symbols[k];
if (symbols[k].indexOf("_Z") === 0) {
let cplusplusSym = document.createElement("span");
cplusplusSym.className = "cplusplus-sym";
cplusplusSym.innerHTML =
changeFormat(symbols[k].substr(2, symbols[k].length));
domDepSym.appendChild(cplusplusSym);
domDepSym.onmouseover = function(e) {
e.currentTarget.style.position = "relative";
e.currentTarget.childNodes[1].style.display = "block";
};
domDepSym.onmouseout = function(e) {
e.currentTarget.style.position = "static";
e.currentTarget.childNodes[1].style.display = "none";
};
}
domDepLib.appendChild(domDepSym);
}
domDepList.appendChild(domDepButton);
domDepList.appendChild(domDepLib);
}
domList.appendChild(domDepList);
domDepList.style.display = "none";
}
}
let domViolatedList = document.getElementById("violate_list_column");
if ("vendor.private.bin" in violatedLibs) {
let list = violatedLibs["vendor.private.bin"];
domViolatedList.appendChild(makeTitle("VENDOR (" + list.length + ")"));
makeList(domViolatedList, list);
}
for (let tag in violatedLibs) {
if (tag === "vendor.private.bin")
continue;
let list = violatedLibs[tag];
if (tag === "system.private.bin")
tag = "SYSTEM";
else
tag = tag.substring(tag.lastIndexOf(".") + 1).toUpperCase();
domViolatedList.appendChild(makeTitle(tag + " (" + list.length + ")"));
makeList(domViolatedList, list);
}
}
function showResult(depDumps, violatedLibs) {
let root = tagHierarchy(depDumps).sum(function(d) { return 1; });
cluster(root);
let libsDepData = libsDepends(root.leaves());
showList(libsDepData[1], violatedLibs);
link = link.data(libsDepData[0])
.enter()
.append("path")
.each(function(d) { d.source = d[0], d.target = d[d.length - 1]; })
.attr("class", function(d) { return d.allow ? "link" : "link--violate" })
.attr("d", line);
node = node.data(root.leaves())
.enter()
.append("text")
.attr("class",
function(d) {
return d.data.parent.parent.parent.key == "system" ?
(d.data.parent.parent.key == "system.public" ?
"node--sys-pub" :
"node--sys-pri") :
"node";
})
.attr("dy", "0.31em")
.attr("transform",
function(d) {
return "rotate(" + (d.x - 90) + ")translate(" + (d.y + 8) + ",0)" +
(d.x < 180 ? "" : "rotate(180)");
})
.attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; })
.text(function(d) { return d.data.key; })
.on("click", mouseclicked);
document.getElementById("reset_btn").onclick = resetclicked;
}
function resetclicked() {
if (selectedNode) {
selectedNode.classList.toggle("active");
selectedNode.nextElementSibling.style.display = "none";
if (selectedSubNode) {
selectedSubNode.classList.toggle("active");
selectedSubNode.nextElementSibling.style.display = "none";
selectedSubNode = undefined;
}
selectedNode = undefined;
}
link.classed("link--target", false)
.classed("link--source", false);
node.classed("node--target", false)
.classed("node--source", false)
.classed("node--selected", false);
}
function mouseclicked(d) {
node.each(function(n) { n.target = n.source = false; });
link.classed("link--target",
function(l) {
if (l.target === d) {
l.source.source = true;
return true;
} else {
return false;
}
})
.classed("link--source",
function(l) {
if (l.source === d) {
l.target.target = true;
return true;
} else {
return false;
}
})
.filter(function(l) { return l.target === d || l.source === d; })
.raise();
node.classed("node--target",
function(n) {
return n.target;
})
.classed("node--source",
function(n) { return n.source; })
.classed("node--selected",
function(n) {
return n === d;
});
}
function tagHierarchy(depDumps) {
let map = {};
function find(name, tag, data) {
let node = map[name], i;
if (!node) {
node = map[name] = data || { name : name, children : [] };
if (name.length) {
node.parent = find(tag, tag.substring(0, tag.lastIndexOf(".")));
node.parent.children.push(node);
node.key = name;
}
}
return node;
}
depDumps.forEach(function(d) { find(d.name, d.tag, d); });
return d3.hierarchy(map[""]);
}
function libsDepends(nodes) {
let map = {}, depends = [];
// Compute a map from name to node.
nodes.forEach(function(d) { map[d.data.name] = d; });
// For each dep, construct a link from the source to target node.
nodes.forEach(function(d) {
if (d.data.depends)
d.data.depends.forEach(function(i) {
let l = map[d.data.name].path(map[i]);
l.allow = true;
depends.push(l);
});
if (d.data.violates.length) {
map[d.data.name].not_allow = true;
d.data.violates.forEach(function(i) {
map[i[0]].not_allow = true;
let l = map[d.data.name].path(map[i[0]]);
l.allow = false;
depends.push(l);
});
}
});
return [ depends, map ];
}
window.onload = init;
})();

View File

@@ -1,13 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VNDK Dependency Graph</title>
<link rel="stylesheet" href="dep-graph.css" media="all" />
<script type="text/javascript" src="https://d3js.org/d3.v4.min.js"></script>
<script type="text/javascript" src="dep-data.js"></script>
<script type="text/javascript" src="dep-graph.js"></script>
</head>
<body></body>
</html>

View File

@@ -1,518 +0,0 @@
Path,Tag,Comments
/system/${LIB}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/android.hidl.base@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/drm/libfwdlockengine.so,FWK-ONLY,
/system/${LIB}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP-Indirect-Private,
/system/${LIB}/hw/audio.a2dp.default.so,FWK-ONLY,
/system/${LIB}/hw/bluetooth.default.so,FWK-ONLY,
/system/${LIB}/hw/keystore.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Indirect,
/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
/system/${LIB}/libGLESv1_CM.so,LL-NDK,
/system/${LIB}/libGLESv2.so,LL-NDK,
/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libLLVM.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
/system/${LIB}/libRS.so,FWK-ONLY,
/system/${LIB}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/libRSDriver.so,VNDK-SP,
/system/${LIB}/libRS_internal.so,VNDK-SP,
/system/${LIB}/libRScpp.so,FWK-ONLY,
/system/${LIB}/libWnnEngDic.so,FWK-ONLY,
/system/${LIB}/libWnnJpnDic.so,FWK-ONLY,
/system/${LIB}/libaaudio.so,FWK-ONLY,
/system/${LIB}/libandroid.so,FWK-ONLY,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libandroid_runtime.so,FWK-ONLY,
/system/${LIB}/libandroid_servers.so,FWK-ONLY,
/system/${LIB}/libandroidfw.so,FWK-ONLY,
/system/${LIB}/libappfuse.so,FWK-ONLY,
/system/${LIB}/libart-compiler.so,FWK-ONLY,
/system/${LIB}/libart-dexlayout.so,FWK-ONLY,
/system/${LIB}/libart-disassembler.so,FWK-ONLY,
/system/${LIB}/libart.so,FWK-ONLY,
/system/${LIB}/libaudioclient.so,FWK-ONLY,
/system/${LIB}/libaudioeffect_jni.so,FWK-ONLY,
/system/${LIB}/libaudioflinger.so,FWK-ONLY,
/system/${LIB}/libaudiohal.so,FWK-ONLY,
/system/${LIB}/libaudiomanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyenginedefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanagerdefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyservice.so,FWK-ONLY,
/system/${LIB}/libaudioprocessing.so,FWK-ONLY,
/system/${LIB}/libaudioroute.so,VNDK,
/system/${LIB}/libaudiospdif.so,FWK-ONLY,
/system/${LIB}/libaudioutils.so,VNDK,
/system/${LIB}/libavservices_minijail.so,VNDK,"Will be FWK-ONLY in the future. Vendor module should link libavservices_minijail_vendor.so"
/system/${LIB}/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/libbase.so,VNDK-SP,
/system/${LIB}/libbatteryservice.so,FWK-ONLY,
/system/${LIB}/libbcc.so,FWK-ONLY,
/system/${LIB}/libbcinfo.so,VNDK-SP,
/system/${LIB}/libbinder.so,VNDK,
/system/${LIB}/libbinderwrapper.so,FWK-ONLY,
/system/${LIB}/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/libbluetooth_jni.so,FWK-ONLY,
/system/${LIB}/libbrillo-binder.so,FWK-ONLY,
/system/${LIB}/libbrillo-stream.so,FWK-ONLY,
/system/${LIB}/libbrillo.so,FWK-ONLY,
/system/${LIB}/libc++.so,VNDK-SP,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libc_malloc_debug.so,LL-NDK-Indirect,
/system/${LIB}/libcamera2ndk.so,FWK-ONLY,
/system/${LIB}/libcamera_client.so,FWK-ONLY,
/system/${LIB}/libcamera_metadata.so,VNDK,
/system/${LIB}/libcameraservice.so,FWK-ONLY,
/system/${LIB}/libcap.so,VNDK,
/system/${LIB}/libchrome.so,FWK-ONLY,
/system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/libcrypto.so,VNDK,
/system/${LIB}/libcrypto_utils.so,VNDK,
/system/${LIB}/libcups.so,FWK-ONLY,
/system/${LIB}/libcurl.so,VNDK,
/system/${LIB}/libcutils.so,VNDK-SP,
/system/${LIB}/libdebuggerd_client.so,FWK-ONLY,
/system/${LIB}/libdefcontainer_jni.so,FWK-ONLY,
/system/${LIB}/libdiskconfig.so,VNDK,
/system/${LIB}/libdl.so,LL-NDK,
/system/${LIB}/libdng_sdk.so,FWK-ONLY,
/system/${LIB}/libdrmframework.so,FWK-ONLY,
/system/${LIB}/libdrmframework_jni.so,FWK-ONLY,
/system/${LIB}/libdumpstateaidl.so,FWK-ONLY,
/system/${LIB}/libdumpstateutil.so,VNDK,
/system/${LIB}/libevent.so,VNDK,
/system/${LIB}/libexif.so,VNDK,
/system/${LIB}/libexpat.so,VNDK,
/system/${LIB}/libext2_blkid.so,FWK-ONLY,
/system/${LIB}/libext2_com_err.so,FWK-ONLY,
/system/${LIB}/libext2_e2p.so,FWK-ONLY,
/system/${LIB}/libext2_quota.so,FWK-ONLY,
/system/${LIB}/libext2_uuid.so,FWK-ONLY,
/system/${LIB}/libext2fs.so,FWK-ONLY,
/system/${LIB}/libext4_utils.so,FWK-ONLY,
/system/${LIB}/libf2fs_sparseblock.so,FWK-ONLY,
/system/${LIB}/libfilterfw.so,FWK-ONLY,
/system/${LIB}/libfilterpack_imageproc.so,FWK-ONLY,
/system/${LIB}/libfmq.so,VNDK,
/system/${LIB}/libframesequence.so,FWK-ONLY,
/system/${LIB}/libft2.so,FWK-ONLY-RS,
/system/${LIB}/libgatekeeper.so,VNDK,
/system/${LIB}/libgiftranscode.so,FWK-ONLY,
/system/${LIB}/libgui.so,VNDK,
/system/${LIB}/libhardware.so,VNDK-SP,
/system/${LIB}/libhardware_legacy.so,VNDK,
/system/${LIB}/libharfbuzz_ng.so,FWK-ONLY,
/system/${LIB}/libhidcommand_jni.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-utils.so,FWK-ONLY,
/system/${LIB}/libhidlbase.so,VNDK-SP,
/system/${LIB}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/libhidltransport.so,VNDK-SP,
/system/${LIB}/libhwbinder.so,VNDK-SP,
/system/${LIB}/libhwui.so,FWK-ONLY,
/system/${LIB}/libicui18n.so,VNDK,Will be FWK-ONLY in the future
/system/${LIB}/libicuuc.so,VNDK,Will be FWK-ONLY in the future
/system/${LIB}/libimg_utils.so,FWK-ONLY,
/system/${LIB}/libincident.so,FWK-ONLY,
/system/${LIB}/libinput.so,FWK-ONLY,
/system/${LIB}/libinputflinger.so,FWK-ONLY,
/system/${LIB}/libinputservice.so,FWK-ONLY,
/system/${LIB}/libion.so,VNDK-SP,
/system/${LIB}/libiprouteutil.so,FWK-ONLY,
/system/${LIB}/libjavacore.so,FWK-ONLY,
/system/${LIB}/libjavacrypto.so,FWK-ONLY,
/system/${LIB}/libjni_eglfence.so,FWK-ONLY,
/system/${LIB}/libjni_filtershow_filters.so,FWK-ONLY,
/system/${LIB}/libjni_jpegstream.so,FWK-ONLY,
/system/${LIB}/libjni_jpegutil.so,FWK-ONLY,
/system/${LIB}/libjni_latinime.so,FWK-ONLY,
/system/${LIB}/libjni_pacprocessor.so,FWK-ONLY,
/system/${LIB}/libjni_tinyplanet.so,FWK-ONLY,
/system/${LIB}/libjnigraphics.so,FWK-ONLY,
/system/${LIB}/libjpeg.so,VNDK,
/system/${LIB}/libkeymaster1.so,VNDK,
/system/${LIB}/libkeymaster_messages.so,VNDK,
/system/${LIB}/libkeystore-engine.so,FWK-ONLY,
/system/${LIB}/libkeystore_binder.so,FWK-ONLY,
/system/${LIB}/libldacBT_abr.so,VNDK,
/system/${LIB}/libldacBT_enc.so,VNDK,
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/liblogcat.so,FWK-ONLY,
/system/${LIB}/liblogwrap.so,FWK-ONLY,
/system/${LIB}/liblz4.so,VNDK,
/system/${LIB}/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmdnssd.so,FWK-ONLY,
/system/${LIB}/libmedia.so,FWK-ONLY,
/system/${LIB}/libmedia_helper.so,VNDK,
/system/${LIB}/libmedia_jni.so,FWK-ONLY,
/system/${LIB}/libmedia_omx.so,VNDK,
/system/${LIB}/libmediadrm.so,FWK-ONLY,
/system/${LIB}/libmediaextractorservice.so,FWK-ONLY,
/system/${LIB}/libmedialogservice.so,FWK-ONLY,
/system/${LIB}/libmediametrics.so,FWK-ONLY,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/libmediautils.so,FWK-ONLY,
/system/${LIB}/libmemtrack.so,VNDK,
/system/${LIB}/libmemunreachable.so,FWK-ONLY,
/system/${LIB}/libmetricslogger.so,FWK-ONLY,
/system/${LIB}/libmidi.so,FWK-ONLY,
/system/${LIB}/libminijail.so,VNDK,"Will be FWK-ONLY in the future. Vendor module should link libminijail_vendor.so"
/system/${LIB}/libminikin.so,FWK-ONLY,
/system/${LIB}/libmtp.so,FWK-ONLY,
/system/${LIB}/libnativebridge.so,FWK-ONLY,
/system/${LIB}/libnativehelper.so,FWK-ONLY,
/system/${LIB}/libnativeloader.so,FWK-ONLY,
/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libnbaio.so,VNDK,"Vendor modules should use libnbaio_mono.so (with less APIs) in the future"
/system/${LIB}/libnetd_client.so,LL-NDK-Indirect,
/system/${LIB}/libnetdaidl.so,FWK-ONLY,
/system/${LIB}/libnetlink.so,FWK-ONLY,
/system/${LIB}/libnetutils.so,VNDK,
/system/${LIB}/libnl.so,VNDK,
/system/${LIB}/libopenjdk.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvm.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmti.so,FWK-ONLY,
/system/${LIB}/libopus.so,FWK-ONLY,
/system/${LIB}/libpac.so,FWK-ONLY,
/system/${LIB}/libpackagelistparser.so,FWK-ONLY,
/system/${LIB}/libpagemap.so,VNDK,
/system/${LIB}/libpcap.so,FWK-ONLY,
/system/${LIB}/libpcre2.so,VNDK,
/system/${LIB}/libpcrecpp.so,FWK-ONLY,
/system/${LIB}/libpdfium.so,FWK-ONLY,
/system/${LIB}/libpiex.so,VNDK,
/system/${LIB}/libpixelflinger.so,FWK-ONLY,
/system/${LIB}/libpng.so,VNDK,
/system/${LIB}/libpower.so,VNDK,
/system/${LIB}/libpowermanager.so,FWK-ONLY,
/system/${LIB}/libprintspooler_jni.so,FWK-ONLY,
/system/${LIB}/libprocessgroup.so,FWK-ONLY,
/system/${LIB}/libprocinfo.so,VNDK,
/system/${LIB}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/libradio.so,FWK-ONLY,
/system/${LIB}/libradio_metadata.so,VNDK,
/system/${LIB}/libradioservice.so,FWK-ONLY,
/system/${LIB}/librs_jni.so,FWK-ONLY,
/system/${LIB}/librtp_jni.so,FWK-ONLY,
/system/${LIB}/libschedulerservicehidl.so,FWK-ONLY,
/system/${LIB}/libselinux.so,FWK-ONLY,"libselinux will be VNDK in the future but not in O"
/system/${LIB}/libsensor.so,FWK-ONLY,
/system/${LIB}/libsensorservice.so,FWK-ONLY,
/system/${LIB}/libsensorservicehidl.so,FWK-ONLY,
/system/${LIB}/libservices.so,FWK-ONLY,
/system/${LIB}/libserviceutility.so,FWK-ONLY,
/system/${LIB}/libsigchain.so,FWK-ONLY,
/system/${LIB}/libskia.so,FWK-ONLY,
/system/${LIB}/libsoftkeymaster.so,FWK-ONLY,
/system/${LIB}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/libsonic.so,FWK-ONLY,
/system/${LIB}/libsonivox.so,FWK-ONLY,
/system/${LIB}/libsoundpool.so,FWK-ONLY,
/system/${LIB}/libsoundtrigger.so,FWK-ONLY,
/system/${LIB}/libsoundtriggerservice.so,FWK-ONLY,
/system/${LIB}/libsparse.so,FWK-ONLY,
/system/${LIB}/libspeexresampler.so,VNDK,
/system/${LIB}/libsqlite.so,VNDK,
/system/${LIB}/libssl.so,VNDK,
/system/${LIB}/libstagefright.so,FWK-ONLY,
/system/${LIB}/libstagefright_amrnb_common.so,FWK-ONLY,
/system/${LIB}/libstagefright_enc_common.so,FWK-ONLY,
/system/${LIB}/libstagefright_foundation.so,VNDK,
/system/${LIB}/libstagefright_http_support.so,FWK-ONLY,
/system/${LIB}/libstagefright_omx.so,VNDK,
/system/${LIB}/libstagefright_soft_aacdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_aacenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_amrdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_amrnbenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_amrwbenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_avcdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_avcenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_flacenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_g711dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_gsmdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_hevcdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mp3dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mpeg2dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mpeg4dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mpeg4enc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_opusdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_rawdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_vorbisdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_vpxdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_vpxenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_xmlparser@1.0.so,FWK-ONLY,
/system/${LIB}/libstdc++.so,LL-NDK,
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger_ddmconnection.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,VNDK,
/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtinyalsa.so,VNDK,
/system/${LIB}/libtinyxml2.so,VNDK,
/system/${LIB}/libui.so,VNDK,
/system/${LIB}/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/libunwindstack.so,VNDK-SP-Indirect,
/system/${LIB}/libusbhost.so,VNDK,
/system/${LIB}/libutils.so,VNDK-SP,
/system/${LIB}/libvintf.so,FWK-ONLY,
/system/${LIB}/libvixl-arm.so,VNDK,
/system/${LIB}/libvixl-arm64.so,VNDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,FWK-ONLY,
/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,This will be moved to vendor partition
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
/system/${LIB}/libwfds.so,FWK-ONLY,
/system/${LIB}/libwifi-service.so,FWK-ONLY,
/system/${LIB}/libwifi-system.so,FWK-ONLY,
/system/${LIB}/libwifikeystorehal.so,FWK-ONLY,
/system/${LIB}/libwilhelm.so,FWK-ONLY,
/system/${LIB}/libwnndict.so,FWK-ONLY,
/system/${LIB}/libxml2.so,VNDK,
/system/${LIB}/libyuv.so,VNDK,
/system/${LIB}/libz.so,LL-NDK,
/system/${LIB}/libziparchive.so,VNDK,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.base@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libc++.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libion.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libz.so,VNDK-SP,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioroute.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libavservices_minijail.so,VNDK,"Will be FWK-ONLY in the future. Vendor module should link libavservices_minijail_vendor.so"
/system/${LIB}/vndk${VNDK_VER}/libbinder.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcurl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libevent.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexif.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexpat.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libfmq.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgui.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libicui18n.so,VNDK,Will be FWK-ONLY in the future
/system/${LIB}/vndk${VNDK_VER}/libicuuc.so,VNDK,Will be FWK-ONLY in the future
/system/${LIB}/vndk${VNDK_VER}/libjpeg.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/liblz4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmemtrack.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libminijail.so,VNDK,"Will be FWK-ONLY in the future. Vendor module should link libminijail_vendor.so"
/system/${LIB}/vndk${VNDK_VER}/libnbaio.so,VNDK,"Vendor modules should use libnbaio_mono.so (with less APIs) in the future"
/system/${LIB}/vndk${VNDK_VER}/libnetutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpagemap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpcre2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpiex.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpng.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpower.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprocinfo.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsqlite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libssl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsuspend.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsysutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libui.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libusbhost.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libyuv.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libziparchive.so,VNDK,
/vendor/${LIB}/libavservices_minijail_vendor.so,VND-ONLY,Framework module should link libavservices_minijail.so
/vendor/${LIB}/libcld80211.so,VND-ONLY,
/vendor/${LIB}/libhwc2on1adapter.so,VND-ONLY,
/vendor/${LIB}/libminijail_vendor.so,VND-ONLY,Framework module should link libminijail.so
/vendor/${LIB}/libreference-ril.so,VND-ONLY,
/vendor/${LIB}/libril.so,VND-ONLY,
/vendor/${LIB}/librilutils.so,VND-ONLY,
/vendor/${LIB}/libtinycompress.so,VND-ONLY,
/vendor/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,
[regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$,SP-HAL,
[regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$,SP-HAL,
[regex]^.*/gralloc\..*\.so$,SP-HAL,
[regex]^/vendor/.*/libEGL_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLES_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv1_CM_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv2_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv3_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libPVRRS\.so$,SP-HAL,
[regex]^/vendor/.*/libRSDriver.*\.so$,SP-HAL,
[regex]^/vendor/.*/vulkan.*\.so$,SP-HAL,
1 Path Tag Comments
2 /system/${LIB}/android.frameworks.displayservice@1.0.so VNDK
3 /system/${LIB}/android.frameworks.schedulerservice@1.0.so VNDK
4 /system/${LIB}/android.frameworks.sensorservice@1.0.so VNDK
5 /system/${LIB}/android.frameworks.vr.composer@1.0.so VNDK
6 /system/${LIB}/android.hardware.audio.common@2.0-util.so VNDK
7 /system/${LIB}/android.hardware.audio.common@2.0.so VNDK
8 /system/${LIB}/android.hardware.audio.effect@2.0.so VNDK
9 /system/${LIB}/android.hardware.audio@2.0.so VNDK
10 /system/${LIB}/android.hardware.automotive.evs@1.0.so VNDK
11 /system/${LIB}/android.hardware.automotive.vehicle@2.0.so VNDK
12 /system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so VNDK
13 /system/${LIB}/android.hardware.bluetooth@1.0.so VNDK
14 /system/${LIB}/android.hardware.boot@1.0.so VNDK
15 /system/${LIB}/android.hardware.broadcastradio@1.0.so VNDK
16 /system/${LIB}/android.hardware.broadcastradio@1.1.so VNDK
17 /system/${LIB}/android.hardware.camera.common@1.0.so VNDK
18 /system/${LIB}/android.hardware.camera.device@1.0.so VNDK
19 /system/${LIB}/android.hardware.camera.device@3.2.so VNDK
20 /system/${LIB}/android.hardware.camera.metadata@3.2.so VNDK
21 /system/${LIB}/android.hardware.camera.provider@2.4.so VNDK
22 /system/${LIB}/android.hardware.configstore-utils.so VNDK
23 /system/${LIB}/android.hardware.configstore@1.0.so VNDK
24 /system/${LIB}/android.hardware.contexthub@1.0.so VNDK
25 /system/${LIB}/android.hardware.drm@1.0.so VNDK
26 /system/${LIB}/android.hardware.dumpstate@1.0.so VNDK
27 /system/${LIB}/android.hardware.gatekeeper@1.0.so VNDK
28 /system/${LIB}/android.hardware.gnss@1.0.so VNDK
29 /system/${LIB}/android.hardware.graphics.allocator@2.0.so VNDK-SP
30 /system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so VNDK
31 /system/${LIB}/android.hardware.graphics.common@1.0.so VNDK-SP
32 /system/${LIB}/android.hardware.graphics.composer@2.1.so VNDK
33 /system/${LIB}/android.hardware.graphics.mapper@2.0.so VNDK-SP
34 /system/${LIB}/android.hardware.health@1.0.so VNDK
35 /system/${LIB}/android.hardware.ir@1.0.so VNDK
36 /system/${LIB}/android.hardware.keymaster@3.0.so VNDK
37 /system/${LIB}/android.hardware.light@2.0.so VNDK
38 /system/${LIB}/android.hardware.media.omx@1.0.so VNDK
39 /system/${LIB}/android.hardware.media@1.0.so VNDK
40 /system/${LIB}/android.hardware.memtrack@1.0.so VNDK
41 /system/${LIB}/android.hardware.nfc@1.0.so VNDK
42 /system/${LIB}/android.hardware.power@1.0.so VNDK
43 /system/${LIB}/android.hardware.radio.deprecated@1.0.so VNDK
44 /system/${LIB}/android.hardware.radio@1.0.so VNDK
45 /system/${LIB}/android.hardware.radio@1.1.so VNDK
46 /system/${LIB}/android.hardware.renderscript@1.0.so VNDK-SP
47 /system/${LIB}/android.hardware.sensors@1.0.so VNDK
48 /system/${LIB}/android.hardware.soundtrigger@2.0.so VNDK
49 /system/${LIB}/android.hardware.tetheroffload.config@1.0.so VNDK
50 /system/${LIB}/android.hardware.tetheroffload.control@1.0.so VNDK
51 /system/${LIB}/android.hardware.thermal@1.0.so VNDK
52 /system/${LIB}/android.hardware.tv.cec@1.0.so VNDK
53 /system/${LIB}/android.hardware.tv.input@1.0.so VNDK
54 /system/${LIB}/android.hardware.usb@1.0.so VNDK
55 /system/${LIB}/android.hardware.vibrator@1.0.so VNDK
56 /system/${LIB}/android.hardware.vr@1.0.so VNDK
57 /system/${LIB}/android.hardware.wifi.supplicant@1.0.so VNDK
58 /system/${LIB}/android.hardware.wifi@1.0.so VNDK
59 /system/${LIB}/android.hidl.allocator@1.0.so VNDK
60 /system/${LIB}/android.hidl.base@1.0.so VNDK-SP
61 /system/${LIB}/android.hidl.memory@1.0.so VNDK-SP
62 /system/${LIB}/android.hidl.token@1.0-utils.so VNDK
63 /system/${LIB}/android.hidl.token@1.0.so VNDK
64 /system/${LIB}/android.system.wifi.keystore@1.0.so VNDK
65 /system/${LIB}/drm/libfwdlockengine.so FWK-ONLY
66 /system/${LIB}/hw/android.hidl.memory@1.0-impl.so VNDK-SP-Indirect-Private
67 /system/${LIB}/hw/audio.a2dp.default.so FWK-ONLY
68 /system/${LIB}/hw/bluetooth.default.so FWK-ONLY
69 /system/${LIB}/hw/keystore.default.so FWK-ONLY
70 /system/${LIB}/ld-android.so LL-NDK-Indirect
71 /system/${LIB}/libEGL.so LL-NDK
72 /system/${LIB}/libETC1.so FWK-ONLY
73 /system/${LIB}/libFFTEm.so FWK-ONLY
74 /system/${LIB}/libGLESv1_CM.so LL-NDK
75 /system/${LIB}/libGLESv2.so LL-NDK
76 /system/${LIB}/libGLESv3.so LL-NDK
77 /system/${LIB}/libLLVM.so FWK-ONLY
78 /system/${LIB}/libOpenMAXAL.so FWK-ONLY
79 /system/${LIB}/libOpenSLES.so FWK-ONLY
80 /system/${LIB}/libRS.so FWK-ONLY
81 /system/${LIB}/libRSCpuRef.so VNDK-SP
82 /system/${LIB}/libRSDriver.so VNDK-SP
83 /system/${LIB}/libRS_internal.so VNDK-SP
84 /system/${LIB}/libRScpp.so FWK-ONLY
85 /system/${LIB}/libWnnEngDic.so FWK-ONLY
86 /system/${LIB}/libWnnJpnDic.so FWK-ONLY
87 /system/${LIB}/libaaudio.so FWK-ONLY
88 /system/${LIB}/libandroid.so FWK-ONLY
89 /system/${LIB}/libandroid_net.so LL-NDK
90 /system/${LIB}/libandroid_runtime.so FWK-ONLY
91 /system/${LIB}/libandroid_servers.so FWK-ONLY
92 /system/${LIB}/libandroidfw.so FWK-ONLY
93 /system/${LIB}/libappfuse.so FWK-ONLY
94 /system/${LIB}/libart-compiler.so FWK-ONLY
95 /system/${LIB}/libart-dexlayout.so FWK-ONLY
96 /system/${LIB}/libart-disassembler.so FWK-ONLY
97 /system/${LIB}/libart.so FWK-ONLY
98 /system/${LIB}/libaudioclient.so FWK-ONLY
99 /system/${LIB}/libaudioeffect_jni.so FWK-ONLY
100 /system/${LIB}/libaudioflinger.so FWK-ONLY
101 /system/${LIB}/libaudiohal.so FWK-ONLY
102 /system/${LIB}/libaudiomanager.so FWK-ONLY
103 /system/${LIB}/libaudiopolicyenginedefault.so FWK-ONLY
104 /system/${LIB}/libaudiopolicymanager.so FWK-ONLY
105 /system/${LIB}/libaudiopolicymanagerdefault.so FWK-ONLY
106 /system/${LIB}/libaudiopolicyservice.so FWK-ONLY
107 /system/${LIB}/libaudioprocessing.so FWK-ONLY
108 /system/${LIB}/libaudioroute.so VNDK
109 /system/${LIB}/libaudiospdif.so FWK-ONLY
110 /system/${LIB}/libaudioutils.so VNDK
111 /system/${LIB}/libavservices_minijail.so VNDK Will be FWK-ONLY in the future. Vendor module should link libavservices_minijail_vendor.so
112 /system/${LIB}/libbacktrace.so VNDK-SP-Indirect
113 /system/${LIB}/libbase.so VNDK-SP
114 /system/${LIB}/libbatteryservice.so FWK-ONLY
115 /system/${LIB}/libbcc.so FWK-ONLY
116 /system/${LIB}/libbcinfo.so VNDK-SP
117 /system/${LIB}/libbinder.so VNDK
118 /system/${LIB}/libbinderwrapper.so FWK-ONLY
119 /system/${LIB}/libblas.so VNDK-SP-Indirect-Private
120 /system/${LIB}/libbluetooth_jni.so FWK-ONLY
121 /system/${LIB}/libbrillo-binder.so FWK-ONLY
122 /system/${LIB}/libbrillo-stream.so FWK-ONLY
123 /system/${LIB}/libbrillo.so FWK-ONLY
124 /system/${LIB}/libc++.so VNDK-SP
125 /system/${LIB}/libc.so LL-NDK
126 /system/${LIB}/libc_malloc_debug.so LL-NDK-Indirect
127 /system/${LIB}/libcamera2ndk.so FWK-ONLY
128 /system/${LIB}/libcamera_client.so FWK-ONLY
129 /system/${LIB}/libcamera_metadata.so VNDK
130 /system/${LIB}/libcameraservice.so FWK-ONLY
131 /system/${LIB}/libcap.so VNDK
132 /system/${LIB}/libchrome.so FWK-ONLY
133 /system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
134 /system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so VNDK
135 /system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so VNDK
136 /system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so VNDK
137 /system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
138 /system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
139 /system/${LIB}/libcompiler_rt.so VNDK-SP-Indirect-Private
140 /system/${LIB}/libcrypto.so VNDK
141 /system/${LIB}/libcrypto_utils.so VNDK
142 /system/${LIB}/libcups.so FWK-ONLY
143 /system/${LIB}/libcurl.so VNDK
144 /system/${LIB}/libcutils.so VNDK-SP
145 /system/${LIB}/libdebuggerd_client.so FWK-ONLY
146 /system/${LIB}/libdefcontainer_jni.so FWK-ONLY
147 /system/${LIB}/libdiskconfig.so VNDK
148 /system/${LIB}/libdl.so LL-NDK
149 /system/${LIB}/libdng_sdk.so FWK-ONLY
150 /system/${LIB}/libdrmframework.so FWK-ONLY
151 /system/${LIB}/libdrmframework_jni.so FWK-ONLY
152 /system/${LIB}/libdumpstateaidl.so FWK-ONLY
153 /system/${LIB}/libdumpstateutil.so VNDK
154 /system/${LIB}/libevent.so VNDK
155 /system/${LIB}/libexif.so VNDK
156 /system/${LIB}/libexpat.so VNDK
157 /system/${LIB}/libext2_blkid.so FWK-ONLY
158 /system/${LIB}/libext2_com_err.so FWK-ONLY
159 /system/${LIB}/libext2_e2p.so FWK-ONLY
160 /system/${LIB}/libext2_quota.so FWK-ONLY
161 /system/${LIB}/libext2_uuid.so FWK-ONLY
162 /system/${LIB}/libext2fs.so FWK-ONLY
163 /system/${LIB}/libext4_utils.so FWK-ONLY
164 /system/${LIB}/libf2fs_sparseblock.so FWK-ONLY
165 /system/${LIB}/libfilterfw.so FWK-ONLY
166 /system/${LIB}/libfilterpack_imageproc.so FWK-ONLY
167 /system/${LIB}/libfmq.so VNDK
168 /system/${LIB}/libframesequence.so FWK-ONLY
169 /system/${LIB}/libft2.so FWK-ONLY-RS
170 /system/${LIB}/libgatekeeper.so VNDK
171 /system/${LIB}/libgiftranscode.so FWK-ONLY
172 /system/${LIB}/libgui.so VNDK
173 /system/${LIB}/libhardware.so VNDK-SP
174 /system/${LIB}/libhardware_legacy.so VNDK
175 /system/${LIB}/libharfbuzz_ng.so FWK-ONLY
176 /system/${LIB}/libhidcommand_jni.so FWK-ONLY
177 /system/${LIB}/libhidl-gen-utils.so FWK-ONLY
178 /system/${LIB}/libhidlbase.so VNDK-SP
179 /system/${LIB}/libhidlmemory.so VNDK-SP
180 /system/${LIB}/libhidltransport.so VNDK-SP
181 /system/${LIB}/libhwbinder.so VNDK-SP
182 /system/${LIB}/libhwui.so FWK-ONLY
183 /system/${LIB}/libicui18n.so VNDK Will be FWK-ONLY in the future
184 /system/${LIB}/libicuuc.so VNDK Will be FWK-ONLY in the future
185 /system/${LIB}/libimg_utils.so FWK-ONLY
186 /system/${LIB}/libincident.so FWK-ONLY
187 /system/${LIB}/libinput.so FWK-ONLY
188 /system/${LIB}/libinputflinger.so FWK-ONLY
189 /system/${LIB}/libinputservice.so FWK-ONLY
190 /system/${LIB}/libion.so VNDK-SP
191 /system/${LIB}/libiprouteutil.so FWK-ONLY
192 /system/${LIB}/libjavacore.so FWK-ONLY
193 /system/${LIB}/libjavacrypto.so FWK-ONLY
194 /system/${LIB}/libjni_eglfence.so FWK-ONLY
195 /system/${LIB}/libjni_filtershow_filters.so FWK-ONLY
196 /system/${LIB}/libjni_jpegstream.so FWK-ONLY
197 /system/${LIB}/libjni_jpegutil.so FWK-ONLY
198 /system/${LIB}/libjni_latinime.so FWK-ONLY
199 /system/${LIB}/libjni_pacprocessor.so FWK-ONLY
200 /system/${LIB}/libjni_tinyplanet.so FWK-ONLY
201 /system/${LIB}/libjnigraphics.so FWK-ONLY
202 /system/${LIB}/libjpeg.so VNDK
203 /system/${LIB}/libkeymaster1.so VNDK
204 /system/${LIB}/libkeymaster_messages.so VNDK
205 /system/${LIB}/libkeystore-engine.so FWK-ONLY
206 /system/${LIB}/libkeystore_binder.so FWK-ONLY
207 /system/${LIB}/libldacBT_abr.so VNDK
208 /system/${LIB}/libldacBT_enc.so VNDK
209 /system/${LIB}/liblog.so LL-NDK
210 /system/${LIB}/liblogcat.so FWK-ONLY
211 /system/${LIB}/liblogwrap.so FWK-ONLY
212 /system/${LIB}/liblz4.so VNDK
213 /system/${LIB}/liblzma.so VNDK-SP-Indirect
214 /system/${LIB}/libm.so LL-NDK
215 /system/${LIB}/libmdnssd.so FWK-ONLY
216 /system/${LIB}/libmedia.so FWK-ONLY
217 /system/${LIB}/libmedia_helper.so VNDK
218 /system/${LIB}/libmedia_jni.so FWK-ONLY
219 /system/${LIB}/libmedia_omx.so VNDK
220 /system/${LIB}/libmediadrm.so FWK-ONLY
221 /system/${LIB}/libmediaextractorservice.so FWK-ONLY
222 /system/${LIB}/libmedialogservice.so FWK-ONLY
223 /system/${LIB}/libmediametrics.so FWK-ONLY
224 /system/${LIB}/libmediandk.so FWK-ONLY-RS
225 /system/${LIB}/libmediautils.so FWK-ONLY
226 /system/${LIB}/libmemtrack.so VNDK
227 /system/${LIB}/libmemunreachable.so FWK-ONLY
228 /system/${LIB}/libmetricslogger.so FWK-ONLY
229 /system/${LIB}/libmidi.so FWK-ONLY
230 /system/${LIB}/libminijail.so VNDK Will be FWK-ONLY in the future. Vendor module should link libminijail_vendor.so
231 /system/${LIB}/libminikin.so FWK-ONLY
232 /system/${LIB}/libmtp.so FWK-ONLY
233 /system/${LIB}/libnativebridge.so FWK-ONLY
234 /system/${LIB}/libnativehelper.so FWK-ONLY
235 /system/${LIB}/libnativeloader.so FWK-ONLY
236 /system/${LIB}/libnativewindow.so LL-NDK
237 /system/${LIB}/libnbaio.so VNDK Vendor modules should use libnbaio_mono.so (with less APIs) in the future
238 /system/${LIB}/libnetd_client.so LL-NDK-Indirect
239 /system/${LIB}/libnetdaidl.so FWK-ONLY
240 /system/${LIB}/libnetlink.so FWK-ONLY
241 /system/${LIB}/libnetutils.so VNDK
242 /system/${LIB}/libnl.so VNDK
243 /system/${LIB}/libopenjdk.so FWK-ONLY
244 /system/${LIB}/libopenjdkjvm.so FWK-ONLY
245 /system/${LIB}/libopenjdkjvmti.so FWK-ONLY
246 /system/${LIB}/libopus.so FWK-ONLY
247 /system/${LIB}/libpac.so FWK-ONLY
248 /system/${LIB}/libpackagelistparser.so FWK-ONLY
249 /system/${LIB}/libpagemap.so VNDK
250 /system/${LIB}/libpcap.so FWK-ONLY
251 /system/${LIB}/libpcre2.so VNDK
252 /system/${LIB}/libpcrecpp.so FWK-ONLY
253 /system/${LIB}/libpdfium.so FWK-ONLY
254 /system/${LIB}/libpiex.so VNDK
255 /system/${LIB}/libpixelflinger.so FWK-ONLY
256 /system/${LIB}/libpng.so VNDK
257 /system/${LIB}/libpower.so VNDK
258 /system/${LIB}/libpowermanager.so FWK-ONLY
259 /system/${LIB}/libprintspooler_jni.so FWK-ONLY
260 /system/${LIB}/libprocessgroup.so FWK-ONLY
261 /system/${LIB}/libprocinfo.so VNDK
262 /system/${LIB}/libprotobuf-cpp-full.so VNDK
263 /system/${LIB}/libprotobuf-cpp-lite.so VNDK
264 /system/${LIB}/libradio.so FWK-ONLY
265 /system/${LIB}/libradio_metadata.so VNDK
266 /system/${LIB}/libradioservice.so FWK-ONLY
267 /system/${LIB}/librs_jni.so FWK-ONLY
268 /system/${LIB}/librtp_jni.so FWK-ONLY
269 /system/${LIB}/libschedulerservicehidl.so FWK-ONLY
270 /system/${LIB}/libselinux.so FWK-ONLY libselinux will be VNDK in the future but not in O
271 /system/${LIB}/libsensor.so FWK-ONLY
272 /system/${LIB}/libsensorservice.so FWK-ONLY
273 /system/${LIB}/libsensorservicehidl.so FWK-ONLY
274 /system/${LIB}/libservices.so FWK-ONLY
275 /system/${LIB}/libserviceutility.so FWK-ONLY
276 /system/${LIB}/libsigchain.so FWK-ONLY
277 /system/${LIB}/libskia.so FWK-ONLY
278 /system/${LIB}/libsoftkeymaster.so FWK-ONLY
279 /system/${LIB}/libsoftkeymasterdevice.so VNDK
280 /system/${LIB}/libsonic.so FWK-ONLY
281 /system/${LIB}/libsonivox.so FWK-ONLY
282 /system/${LIB}/libsoundpool.so FWK-ONLY
283 /system/${LIB}/libsoundtrigger.so FWK-ONLY
284 /system/${LIB}/libsoundtriggerservice.so FWK-ONLY
285 /system/${LIB}/libsparse.so FWK-ONLY
286 /system/${LIB}/libspeexresampler.so VNDK
287 /system/${LIB}/libsqlite.so VNDK
288 /system/${LIB}/libssl.so VNDK
289 /system/${LIB}/libstagefright.so FWK-ONLY
290 /system/${LIB}/libstagefright_amrnb_common.so FWK-ONLY
291 /system/${LIB}/libstagefright_enc_common.so FWK-ONLY
292 /system/${LIB}/libstagefright_foundation.so VNDK
293 /system/${LIB}/libstagefright_http_support.so FWK-ONLY
294 /system/${LIB}/libstagefright_omx.so VNDK
295 /system/${LIB}/libstagefright_soft_aacdec.so FWK-ONLY
296 /system/${LIB}/libstagefright_soft_aacenc.so FWK-ONLY
297 /system/${LIB}/libstagefright_soft_amrdec.so FWK-ONLY
298 /system/${LIB}/libstagefright_soft_amrnbenc.so FWK-ONLY
299 /system/${LIB}/libstagefright_soft_amrwbenc.so FWK-ONLY
300 /system/${LIB}/libstagefright_soft_avcdec.so FWK-ONLY
301 /system/${LIB}/libstagefright_soft_avcenc.so FWK-ONLY
302 /system/${LIB}/libstagefright_soft_flacenc.so FWK-ONLY
303 /system/${LIB}/libstagefright_soft_g711dec.so FWK-ONLY
304 /system/${LIB}/libstagefright_soft_gsmdec.so FWK-ONLY
305 /system/${LIB}/libstagefright_soft_hevcdec.so FWK-ONLY
306 /system/${LIB}/libstagefright_soft_mp3dec.so FWK-ONLY
307 /system/${LIB}/libstagefright_soft_mpeg2dec.so FWK-ONLY
308 /system/${LIB}/libstagefright_soft_mpeg4dec.so FWK-ONLY
309 /system/${LIB}/libstagefright_soft_mpeg4enc.so FWK-ONLY
310 /system/${LIB}/libstagefright_soft_opusdec.so FWK-ONLY
311 /system/${LIB}/libstagefright_soft_rawdec.so FWK-ONLY
312 /system/${LIB}/libstagefright_soft_vorbisdec.so FWK-ONLY
313 /system/${LIB}/libstagefright_soft_vpxdec.so FWK-ONLY
314 /system/${LIB}/libstagefright_soft_vpxenc.so FWK-ONLY
315 /system/${LIB}/libstagefright_xmlparser@1.0.so FWK-ONLY
316 /system/${LIB}/libstdc++.so LL-NDK
317 /system/${LIB}/libsurfaceflinger.so FWK-ONLY
318 /system/${LIB}/libsurfaceflinger_ddmconnection.so FWK-ONLY
319 /system/${LIB}/libsuspend.so VNDK
320 /system/${LIB}/libsync.so LL-NDK
321 /system/${LIB}/libsysutils.so VNDK
322 /system/${LIB}/libtextclassifier.so FWK-ONLY
323 /system/${LIB}/libtinyalsa.so VNDK
324 /system/${LIB}/libtinyxml2.so VNDK
325 /system/${LIB}/libui.so VNDK
326 /system/${LIB}/libunwind.so VNDK-SP-Indirect
327 /system/${LIB}/libunwindstack.so VNDK-SP-Indirect
328 /system/${LIB}/libusbhost.so VNDK
329 /system/${LIB}/libutils.so VNDK-SP
330 /system/${LIB}/libvintf.so FWK-ONLY
331 /system/${LIB}/libvixl-arm.so VNDK
332 /system/${LIB}/libvixl-arm64.so VNDK
333 /system/${LIB}/libvndksupport.so LL-NDK
334 /system/${LIB}/libvorbisidec.so FWK-ONLY
335 /system/${LIB}/libvulkan.so LL-NDK
336 /system/${LIB}/libwebrtc_audio_preprocessing.so VND-ONLY This will be moved to vendor partition
337 /system/${LIB}/libwebviewchromium_loader.so FWK-ONLY
338 /system/${LIB}/libwebviewchromium_plat_support.so FWK-ONLY
339 /system/${LIB}/libwfds.so FWK-ONLY
340 /system/${LIB}/libwifi-service.so FWK-ONLY
341 /system/${LIB}/libwifi-system.so FWK-ONLY
342 /system/${LIB}/libwifikeystorehal.so FWK-ONLY
343 /system/${LIB}/libwilhelm.so FWK-ONLY
344 /system/${LIB}/libwnndict.so FWK-ONLY
345 /system/${LIB}/libxml2.so VNDK
346 /system/${LIB}/libyuv.so VNDK
347 /system/${LIB}/libz.so LL-NDK
348 /system/${LIB}/libziparchive.so VNDK
349 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.allocator@2.0.so VNDK-SP
350 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so VNDK-SP
351 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so VNDK-SP
352 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so VNDK-SP
353 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.base@1.0.so VNDK-SP
354 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so VNDK-SP
355 /system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so VNDK-SP-Indirect-Private
356 /system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so VNDK-SP
357 /system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so VNDK-SP
358 /system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so VNDK-SP
359 /system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so VNDK-SP-Indirect
360 /system/${LIB}/vndk-sp${VNDK_VER}/libbase.so VNDK-SP
361 /system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so VNDK-SP
362 /system/${LIB}/vndk-sp${VNDK_VER}/libblas.so VNDK-SP-Indirect-Private
363 /system/${LIB}/vndk-sp${VNDK_VER}/libc++.so VNDK-SP
364 /system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so VNDK-SP-Indirect-Private
365 /system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so VNDK-SP
366 /system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so VNDK-SP
367 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so VNDK-SP
368 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so VNDK-SP
369 /system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so VNDK-SP
370 /system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so VNDK-SP
371 /system/${LIB}/vndk-sp${VNDK_VER}/libion.so VNDK-SP
372 /system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so VNDK-SP-Indirect
373 /system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so VNDK-SP-Indirect
374 /system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so VNDK-SP-Indirect
375 /system/${LIB}/vndk-sp${VNDK_VER}/libutils.so VNDK-SP
376 /system/${LIB}/vndk-sp${VNDK_VER}/libz.so VNDK-SP
377 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so VNDK
378 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so VNDK
379 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so VNDK
380 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so VNDK
381 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so VNDK
382 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so VNDK
383 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so VNDK
384 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so VNDK
385 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so VNDK
386 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so VNDK
387 /system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so VNDK
388 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so VNDK
389 /system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so VNDK
390 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so VNDK
391 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so VNDK
392 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so VNDK
393 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so VNDK
394 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so VNDK
395 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so VNDK
396 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so VNDK
397 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so VNDK
398 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so VNDK
399 /system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so VNDK
400 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so VNDK
401 /system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so VNDK
402 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so VNDK
403 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so VNDK
404 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so VNDK
405 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so VNDK
406 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so VNDK
407 /system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so VNDK
408 /system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so VNDK
409 /system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so VNDK
410 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so VNDK
411 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so VNDK
412 /system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so VNDK
413 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so VNDK
414 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so VNDK
415 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so VNDK
416 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so VNDK
417 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so VNDK
418 /system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so VNDK
419 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so VNDK
420 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so VNDK
421 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so VNDK
422 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so VNDK
423 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so VNDK
424 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so VNDK
425 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so VNDK
426 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so VNDK
427 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so VNDK
428 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so VNDK
429 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so VNDK
430 /system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so VNDK
431 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so VNDK
432 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so VNDK
433 /system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so VNDK
434 /system/${LIB}/vndk${VNDK_VER}/libaudioroute.so VNDK
435 /system/${LIB}/vndk${VNDK_VER}/libaudioutils.so VNDK
436 /system/${LIB}/vndk${VNDK_VER}/libavservices_minijail.so VNDK Will be FWK-ONLY in the future. Vendor module should link libavservices_minijail_vendor.so
437 /system/${LIB}/vndk${VNDK_VER}/libbinder.so VNDK
438 /system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so VNDK
439 /system/${LIB}/vndk${VNDK_VER}/libcap.so VNDK
440 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
441 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so VNDK
442 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so VNDK
443 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips-android.so VNDK
444 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
445 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
446 /system/${LIB}/vndk${VNDK_VER}/libcrypto.so VNDK
447 /system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so VNDK
448 /system/${LIB}/vndk${VNDK_VER}/libcurl.so VNDK
449 /system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so VNDK
450 /system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so VNDK
451 /system/${LIB}/vndk${VNDK_VER}/libevent.so VNDK
452 /system/${LIB}/vndk${VNDK_VER}/libexif.so VNDK
453 /system/${LIB}/vndk${VNDK_VER}/libexpat.so VNDK
454 /system/${LIB}/vndk${VNDK_VER}/libfmq.so VNDK
455 /system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so VNDK
456 /system/${LIB}/vndk${VNDK_VER}/libgui.so VNDK
457 /system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so VNDK
458 /system/${LIB}/vndk${VNDK_VER}/libicui18n.so VNDK Will be FWK-ONLY in the future
459 /system/${LIB}/vndk${VNDK_VER}/libicuuc.so VNDK Will be FWK-ONLY in the future
460 /system/${LIB}/vndk${VNDK_VER}/libjpeg.so VNDK
461 /system/${LIB}/vndk${VNDK_VER}/libkeymaster1.so VNDK
462 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so VNDK
463 /system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so VNDK
464 /system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so VNDK
465 /system/${LIB}/vndk${VNDK_VER}/liblz4.so VNDK
466 /system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so VNDK
467 /system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so VNDK
468 /system/${LIB}/vndk${VNDK_VER}/libmemtrack.so VNDK
469 /system/${LIB}/vndk${VNDK_VER}/libminijail.so VNDK Will be FWK-ONLY in the future. Vendor module should link libminijail_vendor.so
470 /system/${LIB}/vndk${VNDK_VER}/libnbaio.so VNDK Vendor modules should use libnbaio_mono.so (with less APIs) in the future
471 /system/${LIB}/vndk${VNDK_VER}/libnetutils.so VNDK
472 /system/${LIB}/vndk${VNDK_VER}/libnl.so VNDK
473 /system/${LIB}/vndk${VNDK_VER}/libpagemap.so VNDK
474 /system/${LIB}/vndk${VNDK_VER}/libpcre2.so VNDK
475 /system/${LIB}/vndk${VNDK_VER}/libpiex.so VNDK
476 /system/${LIB}/vndk${VNDK_VER}/libpng.so VNDK
477 /system/${LIB}/vndk${VNDK_VER}/libpower.so VNDK
478 /system/${LIB}/vndk${VNDK_VER}/libprocinfo.so VNDK
479 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so VNDK
480 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so VNDK
481 /system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so VNDK
482 /system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so VNDK
483 /system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so VNDK
484 /system/${LIB}/vndk${VNDK_VER}/libsqlite.so VNDK
485 /system/${LIB}/vndk${VNDK_VER}/libssl.so VNDK
486 /system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so VNDK
487 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so VNDK
488 /system/${LIB}/vndk${VNDK_VER}/libsuspend.so VNDK
489 /system/${LIB}/vndk${VNDK_VER}/libsysutils.so VNDK
490 /system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so VNDK
491 /system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so VNDK
492 /system/${LIB}/vndk${VNDK_VER}/libui.so VNDK
493 /system/${LIB}/vndk${VNDK_VER}/libusbhost.so VNDK
494 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so VNDK
495 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so VNDK
496 /system/${LIB}/vndk${VNDK_VER}/libxml2.so VNDK
497 /system/${LIB}/vndk${VNDK_VER}/libyuv.so VNDK
498 /system/${LIB}/vndk${VNDK_VER}/libziparchive.so VNDK
499 /vendor/${LIB}/libavservices_minijail_vendor.so VND-ONLY Framework module should link libavservices_minijail.so
500 /vendor/${LIB}/libcld80211.so VND-ONLY
501 /vendor/${LIB}/libhwc2on1adapter.so VND-ONLY
502 /vendor/${LIB}/libminijail_vendor.so VND-ONLY Framework module should link libminijail.so
503 /vendor/${LIB}/libreference-ril.so VND-ONLY
504 /vendor/${LIB}/libril.so VND-ONLY
505 /vendor/${LIB}/librilutils.so VND-ONLY
506 /vendor/${LIB}/libtinycompress.so VND-ONLY
507 /vendor/${LIB}/libwebrtc_audio_preprocessing.so VND-ONLY
508 [regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$ SP-HAL
509 [regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$ SP-HAL
510 [regex]^.*/gralloc\..*\.so$ SP-HAL
511 [regex]^/vendor/.*/libEGL_.*\.so$ SP-HAL
512 [regex]^/vendor/.*/libGLES_.*\.so$ SP-HAL
513 [regex]^/vendor/.*/libGLESv1_CM_.*\.so$ SP-HAL
514 [regex]^/vendor/.*/libGLESv2_.*\.so$ SP-HAL
515 [regex]^/vendor/.*/libGLESv3_.*\.so$ SP-HAL
516 [regex]^/vendor/.*/libPVRRS\.so$ SP-HAL
517 [regex]^/vendor/.*/libRSDriver.*\.so$ SP-HAL
518 [regex]^/vendor/.*/vulkan.*\.so$ SP-HAL

View File

@@ -1,585 +0,0 @@
Path,Tag,Comments
/system/${LIB}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/drm/libfwdlockengine.so,FWK-ONLY,
/system/${LIB}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP-Indirect-Private,
/system/${LIB}/hw/audio.a2dp.default.so,FWK-ONLY,
/system/${LIB}/hw/bluetooth.default.so,FWK-ONLY,
/system/${LIB}/hw/keystore.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Indirect,
/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
/system/${LIB}/libGLESv1_CM.so,LL-NDK,
/system/${LIB}/libGLESv2.so,LL-NDK,
/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libLLVM.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
/system/${LIB}/libRS.so,LL-NDK,
/system/${LIB}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/libRSDriver.so,VNDK-SP,
/system/${LIB}/libRS_internal.so,VNDK-SP,
/system/${LIB}/libRScpp.so,FWK-ONLY,
/system/${LIB}/libWnnEngDic.so,FWK-ONLY,
/system/${LIB}/libWnnJpnDic.so,FWK-ONLY,
/system/${LIB}/libaaudio.so,FWK-ONLY,
/system/${LIB}/libadf.so,VNDK,
/system/${LIB}/libandroid.so,FWK-ONLY,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libandroid_runtime.so,FWK-ONLY,
/system/${LIB}/libandroid_servers.so,FWK-ONLY,
/system/${LIB}/libandroidfw.so,FWK-ONLY,
/system/${LIB}/libappfuse.so,FWK-ONLY,
/system/${LIB}/libart-compiler.so,FWK-ONLY,
/system/${LIB}/libart-dexlayout.so,FWK-ONLY,
/system/${LIB}/libart-disassembler.so,FWK-ONLY,
/system/${LIB}/libart.so,FWK-ONLY,
/system/${LIB}/libaudioclient.so,FWK-ONLY,
/system/${LIB}/libaudioeffect_jni.so,FWK-ONLY,
/system/${LIB}/libaudioflinger.so,FWK-ONLY,
/system/${LIB}/libaudiohal.so,FWK-ONLY,
/system/${LIB}/libaudiomanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyenginedefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanagerdefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyservice.so,FWK-ONLY,
/system/${LIB}/libaudioprocessing.so,FWK-ONLY,
/system/${LIB}/libaudioroute.so,VNDK,
/system/${LIB}/libaudiospdif.so,FWK-ONLY,
/system/${LIB}/libaudioutils.so,VNDK,
/system/${LIB}/libavservices_minijail.so,FWK-ONLY,"Vendor module should link libavservices_minijail_vendor.so"
/system/${LIB}/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/libbase.so,VNDK-SP,
/system/${LIB}/libbatteryservice.so,FWK-ONLY,
/system/${LIB}/libbcc.so,FWK-ONLY,
/system/${LIB}/libbcinfo.so,VNDK-SP,
/system/${LIB}/libbinder.so,VNDK,
/system/${LIB}/libbinderwrapper.so,FWK-ONLY,
/system/${LIB}/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/libbluetooth_jni.so,FWK-ONLY,
/system/${LIB}/libbrillo-binder.so,FWK-ONLY,
/system/${LIB}/libbrillo-stream.so,FWK-ONLY,
/system/${LIB}/libbrillo.so,FWK-ONLY,
/system/${LIB}/libc++.so,VNDK-SP,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libc_malloc_debug.so,LL-NDK-Indirect,
/system/${LIB}/libcamera2ndk.so,FWK-ONLY,
/system/${LIB}/libcamera_client.so,FWK-ONLY,
/system/${LIB}/libcamera_metadata.so,VNDK,
/system/${LIB}/libcameraservice.so,FWK-ONLY,
/system/${LIB}/libcap.so,VNDK,
/system/${LIB}/libchrome.so,FWK-ONLY,
/system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/libcrypto.so,VNDK,
/system/${LIB}/libcrypto_utils.so,VNDK,
/system/${LIB}/libcups.so,FWK-ONLY,
/system/${LIB}/libcurl.so,VNDK,
/system/${LIB}/libcutils.so,VNDK-SP,
/system/${LIB}/libdebuggerd_client.so,FWK-ONLY,
/system/${LIB}/libdefcontainer_jni.so,FWK-ONLY,
/system/${LIB}/libdiskconfig.so,VNDK,
/system/${LIB}/libdl.so,LL-NDK,
/system/${LIB}/libdng_sdk.so,FWK-ONLY,
/system/${LIB}/libdrmframework.so,FWK-ONLY,
/system/${LIB}/libdrmframework_jni.so,FWK-ONLY,
/system/${LIB}/libdumpstateaidl.so,FWK-ONLY,
/system/${LIB}/libdumpstateutil.so,VNDK,
/system/${LIB}/libevent.so,VNDK,
/system/${LIB}/libexif.so,VNDK,
/system/${LIB}/libexpat.so,VNDK,
/system/${LIB}/libext2_blkid.so,FWK-ONLY,
/system/${LIB}/libext2_com_err.so,FWK-ONLY,
/system/${LIB}/libext2_e2p.so,FWK-ONLY,
/system/${LIB}/libext2_quota.so,FWK-ONLY,
/system/${LIB}/libext2_uuid.so,FWK-ONLY,
/system/${LIB}/libext2fs.so,FWK-ONLY,
/system/${LIB}/libext4_utils.so,FWK-ONLY,
/system/${LIB}/libf2fs_sparseblock.so,FWK-ONLY,
/system/${LIB}/libfilterfw.so,FWK-ONLY,
/system/${LIB}/libfilterpack_imageproc.so,FWK-ONLY,
/system/${LIB}/libfmq.so,VNDK,
/system/${LIB}/libframesequence.so,FWK-ONLY,
/system/${LIB}/libft2.so,FWK-ONLY-RS,
/system/${LIB}/libgatekeeper.so,VNDK,
/system/${LIB}/libgiftranscode.so,FWK-ONLY,
/system/${LIB}/libgui.so,VNDK,
/system/${LIB}/libhardware.so,VNDK-SP,
/system/${LIB}/libhardware_legacy.so,VNDK,
/system/${LIB}/libharfbuzz_ng.so,FWK-ONLY,
/system/${LIB}/libhidcommand_jni.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-utils.so,FWK-ONLY,
/system/${LIB}/libhidlbase.so,VNDK-SP,
/system/${LIB}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/libhidltransport.so,VNDK-SP,
/system/${LIB}/libhwbinder.so,VNDK-SP,
/system/${LIB}/libhwui.so,FWK-ONLY,
/system/${LIB}/libicui18n.so,FWK-ONLY,
/system/${LIB}/libicuuc.so,FWK-ONLY,
/system/${LIB}/libimg_utils.so,FWK-ONLY,
/system/${LIB}/libincident.so,FWK-ONLY,
/system/${LIB}/libinput.so,FWK-ONLY,
/system/${LIB}/libinputflinger.so,FWK-ONLY,
/system/${LIB}/libinputservice.so,FWK-ONLY,
/system/${LIB}/libion.so,VNDK-SP,
/system/${LIB}/libiperf.so,FWK-ONLY,
/system/${LIB}/libiprouteutil.so,FWK-ONLY,
/system/${LIB}/libjavacore.so,FWK-ONLY,
/system/${LIB}/libjavacrypto.so,FWK-ONLY,
/system/${LIB}/libjni_eglfence.so,FWK-ONLY,
/system/${LIB}/libjni_filtershow_filters.so,FWK-ONLY,
/system/${LIB}/libjni_jpegstream.so,FWK-ONLY,
/system/${LIB}/libjni_jpegutil.so,FWK-ONLY,
/system/${LIB}/libjni_latinime.so,FWK-ONLY,
/system/${LIB}/libjni_pacprocessor.so,FWK-ONLY,
/system/${LIB}/libjni_tinyplanet.so,FWK-ONLY,
/system/${LIB}/libjnigraphics.so,FWK-ONLY,
/system/${LIB}/libjpeg.so,VNDK,
/system/${LIB}/libkeymaster_messages.so,VNDK,
/system/${LIB}/libkeymaster_portable.so,VNDK,
/system/${LIB}/libkeymaster_staging.so,VNDK,
/system/${LIB}/libkeystore-engine.so,FWK-ONLY,
/system/${LIB}/libkeystore_binder.so,FWK-ONLY,
/system/${LIB}/libldacBT_abr.so,VNDK,
/system/${LIB}/libldacBT_enc.so,VNDK,
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/liblogcat.so,FWK-ONLY,
/system/${LIB}/liblogwrap.so,FWK-ONLY,
/system/${LIB}/liblz4.so,VNDK,
/system/${LIB}/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmdnssd.so,FWK-ONLY,
/system/${LIB}/libmedia.so,FWK-ONLY,
/system/${LIB}/libmedia_helper.so,VNDK,
/system/${LIB}/libmedia_jni.so,FWK-ONLY,
/system/${LIB}/libmedia_omx.so,VNDK,
/system/${LIB}/libmediadrm.so,FWK-ONLY,
/system/${LIB}/libmediaextractorservice.so,FWK-ONLY,
/system/${LIB}/libmedialogservice.so,FWK-ONLY,
/system/${LIB}/libmediametrics.so,FWK-ONLY,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/libmediautils.so,FWK-ONLY,
/system/${LIB}/libmemtrack.so,VNDK,
/system/${LIB}/libmemunreachable.so,FWK-ONLY,
/system/${LIB}/libmetricslogger.so,FWK-ONLY,
/system/${LIB}/libmidi.so,FWK-ONLY,
/system/${LIB}/libminijail.so,FWK-ONLY,"Vendor module should link libminijail_vendor.so"
/system/${LIB}/libminikin.so,FWK-ONLY,
/system/${LIB}/libmtp.so,FWK-ONLY,
/system/${LIB}/libnativebridge.so,FWK-ONLY,
/system/${LIB}/libnativehelper.so,FWK-ONLY,
/system/${LIB}/libnativeloader.so,FWK-ONLY,
/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libnbaio.so,FWK-ONLY,"Vendor module should link libnbaio_mono.so"
/system/${LIB}/libnetd_client.so,LL-NDK-Indirect,
/system/${LIB}/libnetdaidl.so,FWK-ONLY,
/system/${LIB}/libnetlink.so,FWK-ONLY,
/system/${LIB}/libnetutils.so,VNDK,
/system/${LIB}/libnl.so,VNDK,
/system/${LIB}/libopenjdk.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvm.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmti.so,FWK-ONLY,
/system/${LIB}/libopus.so,VNDK,
/system/${LIB}/libpac.so,FWK-ONLY,
/system/${LIB}/libpackagelistparser.so,FWK-ONLY,
/system/${LIB}/libpagemap.so,VNDK,
/system/${LIB}/libpcap.so,FWK-ONLY,
/system/${LIB}/libpcre2.so,VNDK,
/system/${LIB}/libpcrecpp.so,FWK-ONLY,
/system/${LIB}/libpdfium.so,FWK-ONLY,
/system/${LIB}/libpiex.so,VNDK,
/system/${LIB}/libpixelflinger.so,FWK-ONLY,
/system/${LIB}/libpng.so,VNDK,
/system/${LIB}/libpower.so,VNDK,
/system/${LIB}/libpowermanager.so,FWK-ONLY,
/system/${LIB}/libprintspooler_jni.so,FWK-ONLY,
/system/${LIB}/libprocessgroup.so,FWK-ONLY,
/system/${LIB}/libprocinfo.so,VNDK,
/system/${LIB}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/libradio_metadata.so,VNDK,
/system/${LIB}/librs_jni.so,FWK-ONLY,
/system/${LIB}/librtp_jni.so,FWK-ONLY,
/system/${LIB}/libschedulerservicehidl.so,FWK-ONLY,
/system/${LIB}/libselinux.so,FWK-ONLY,"libselinux will be VNDK in the future but not in O-MR1"
/system/${LIB}/libsensor.so,FWK-ONLY,
/system/${LIB}/libsensorservice.so,FWK-ONLY,
/system/${LIB}/libsensorservicehidl.so,FWK-ONLY,
/system/${LIB}/libservices.so,FWK-ONLY,
/system/${LIB}/libserviceutility.so,FWK-ONLY,
/system/${LIB}/libsigchain.so,FWK-ONLY,
/system/${LIB}/libskia.so,FWK-ONLY,
/system/${LIB}/libsoftkeymaster.so,FWK-ONLY,
/system/${LIB}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/libsonic.so,FWK-ONLY,
/system/${LIB}/libsonivox.so,FWK-ONLY,
/system/${LIB}/libsoundpool.so,FWK-ONLY,
/system/${LIB}/libsoundtrigger.so,FWK-ONLY,
/system/${LIB}/libsoundtriggerservice.so,FWK-ONLY,
/system/${LIB}/libsparse.so,FWK-ONLY,
/system/${LIB}/libspeexresampler.so,VNDK,
/system/${LIB}/libsqlite.so,VNDK,
/system/${LIB}/libssl.so,VNDK,
/system/${LIB}/libstagefright.so,FWK-ONLY,
/system/${LIB}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/libstagefright_foundation.so,VNDK,
/system/${LIB}/libstagefright_http_support.so,FWK-ONLY,
/system/${LIB}/libstagefright_omx.so,VNDK,
/system/${LIB}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/libstagefright_soft_aacdec.so,VNDK,
/system/${LIB}/libstagefright_soft_aacenc.so,VNDK,
/system/${LIB}/libstagefright_soft_amrdec.so,VNDK,
/system/${LIB}/libstagefright_soft_amrnbenc.so,VNDK,
/system/${LIB}/libstagefright_soft_amrwbenc.so,VNDK,
/system/${LIB}/libstagefright_soft_avcdec.so,VNDK,
/system/${LIB}/libstagefright_soft_avcenc.so,VNDK,
/system/${LIB}/libstagefright_soft_flacdec.so,VNDK,
/system/${LIB}/libstagefright_soft_flacenc.so,VNDK,
/system/${LIB}/libstagefright_soft_g711dec.so,VNDK,
/system/${LIB}/libstagefright_soft_gsmdec.so,VNDK,
/system/${LIB}/libstagefright_soft_hevcdec.so,VNDK,
/system/${LIB}/libstagefright_soft_mp3dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg2dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg4dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg4enc.so,VNDK,
/system/${LIB}/libstagefright_soft_opusdec.so,VNDK,
/system/${LIB}/libstagefright_soft_rawdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vorbisdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vpxdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vpxenc.so,VNDK,
/system/${LIB}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/libstdc++.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger_ddmconnection.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,VNDK,
/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtinyalsa.so,VNDK,
/system/${LIB}/libtinyxml2.so,VNDK,
/system/${LIB}/libui.so,VNDK,
/system/${LIB}/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/libunwindstack.so,VNDK-SP-Indirect,
/system/${LIB}/libusbhost.so,VNDK,
/system/${LIB}/libutils.so,VNDK-SP,
/system/${LIB}/libvintf.so,FWK-ONLY,
/system/${LIB}/libvixl-arm.so,VNDK,
/system/${LIB}/libvixl-arm64.so,VNDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,VNDK,
/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
/system/${LIB}/libwfds.so,FWK-ONLY,
/system/${LIB}/libwifi-service.so,FWK-ONLY,
/system/${LIB}/libwifi-system-iface.so,VNDK,
/system/${LIB}/libwifi-system.so,FWK-ONLY,
/system/${LIB}/libwifikeystorehal.so,FWK-ONLY,
/system/${LIB}/libwilhelm.so,FWK-ONLY,
/system/${LIB}/libwnndict.so,FWK-ONLY,
/system/${LIB}/libxml2.so,VNDK,
/system/${LIB}/libyuv.so,VNDK,
/system/${LIB}/libz.so,VNDK-SP,
/system/${LIB}/libziparchive.so,VNDK,
/system/${LIB}/tests.vendor@1.0.so,VNDK,
/system/${LIB}/tests.vendor@1.1.so,VNDK,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libc++.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libion.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp${VNDK_VER}/libutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libz.so,VNDK-SP,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libadf.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioroute.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libbinder.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcurl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libevent.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexif.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexpat.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libfmq.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgui.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libjpeg.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_portable.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_staging.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/liblz4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmemtrack.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnetutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libopus.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpagemap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpcre2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpiex.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpng.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpower.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprocinfo.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsqlite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libssl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrnbenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrwbenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_g711dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_gsmdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_hevcdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mp3dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg2dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4enc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_opusdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_rawdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vorbisdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsuspend.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsysutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libui.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libusbhost.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvorbisidec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libwifi-system-iface.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libyuv.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libziparchive.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/tests.vendor@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/tests.vendor@1.1.so,VNDK,
/vendor/${LIB}/libavservices_minijail_vendor.so,VND-ONLY,Framework module should link libavservices_minijail.so
/vendor/${LIB}/libcld80211.so,VND-ONLY,
/vendor/${LIB}/libeffects.so,VND-ONLY,
/vendor/${LIB}/libhwc2on1adapter.so,VND-ONLY,
/vendor/${LIB}/libminijail_vendor.so,VND-ONLY,Framework module should link libminijail.so
/vendor/${LIB}/libnbaio_mono.so,VND-ONLY,
/vendor/${LIB}/libreference-ril.so,VND-ONLY,
/vendor/${LIB}/libril.so,VND-ONLY,
/vendor/${LIB}/librilutils.so,VND-ONLY,
/vendor/${LIB}/libtinycompress.so,VND-ONLY,
/vendor/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libaudiopreprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libbundlewrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libdownmix.so,VND-ONLY,
/vendor/${LIB}/soundfx/libeffectproxy.so,VND-ONLY,
/vendor/${LIB}/soundfx/libldnhncr.so,VND-ONLY,
/vendor/${LIB}/soundfx/libreverbwrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libvisualizer.so,VND-ONLY,
[regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$,SP-HAL,
[regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$,SP-HAL,
[regex]^.*/gralloc\..*\.so$,SP-HAL,
[regex]^/vendor/.*/libEGL_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLES_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv1_CM_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv2_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv3_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libPVRRS\.so$,SP-HAL,
[regex]^/vendor/.*/libRSDriver.*\.so$,SP-HAL,
[regex]^/vendor/.*/vulkan.*\.so$,SP-HAL,
1 Path Tag Comments
2 /system/${LIB}/android.frameworks.displayservice@1.0.so VNDK
3 /system/${LIB}/android.frameworks.schedulerservice@1.0.so VNDK
4 /system/${LIB}/android.frameworks.sensorservice@1.0.so VNDK
5 /system/${LIB}/android.frameworks.vr.composer@1.0.so VNDK
6 /system/${LIB}/android.hardware.audio.common@2.0-util.so VNDK
7 /system/${LIB}/android.hardware.audio.common@2.0.so VNDK
8 /system/${LIB}/android.hardware.audio.effect@2.0.so VNDK
9 /system/${LIB}/android.hardware.audio@2.0.so VNDK
10 /system/${LIB}/android.hardware.automotive.evs@1.0.so VNDK
11 /system/${LIB}/android.hardware.automotive.vehicle@2.0.so VNDK
12 /system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so VNDK
13 /system/${LIB}/android.hardware.bluetooth@1.0.so VNDK
14 /system/${LIB}/android.hardware.boot@1.0.so VNDK
15 /system/${LIB}/android.hardware.broadcastradio@1.0.so VNDK
16 /system/${LIB}/android.hardware.broadcastradio@1.1.so VNDK
17 /system/${LIB}/android.hardware.camera.common@1.0.so VNDK
18 /system/${LIB}/android.hardware.camera.device@1.0.so VNDK
19 /system/${LIB}/android.hardware.camera.device@3.2.so VNDK
20 /system/${LIB}/android.hardware.camera.device@3.3.so VNDK
21 /system/${LIB}/android.hardware.camera.metadata@3.2.so VNDK
22 /system/${LIB}/android.hardware.camera.provider@2.4.so VNDK
23 /system/${LIB}/android.hardware.cas.native@1.0.so VNDK
24 /system/${LIB}/android.hardware.cas@1.0.so VNDK
25 /system/${LIB}/android.hardware.configstore-utils.so VNDK
26 /system/${LIB}/android.hardware.configstore@1.0.so VNDK
27 /system/${LIB}/android.hardware.contexthub@1.0.so VNDK
28 /system/${LIB}/android.hardware.drm@1.0.so VNDK
29 /system/${LIB}/android.hardware.dumpstate@1.0.so VNDK
30 /system/${LIB}/android.hardware.gatekeeper@1.0.so VNDK
31 /system/${LIB}/android.hardware.gnss@1.0.so VNDK
32 /system/${LIB}/android.hardware.graphics.allocator@2.0.so VNDK-SP
33 /system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so VNDK
34 /system/${LIB}/android.hardware.graphics.common@1.0.so VNDK-SP
35 /system/${LIB}/android.hardware.graphics.composer@2.1.so VNDK
36 /system/${LIB}/android.hardware.graphics.mapper@2.0.so VNDK-SP
37 /system/${LIB}/android.hardware.health@1.0.so VNDK
38 /system/${LIB}/android.hardware.ir@1.0.so VNDK
39 /system/${LIB}/android.hardware.keymaster@3.0.so VNDK
40 /system/${LIB}/android.hardware.light@2.0.so VNDK
41 /system/${LIB}/android.hardware.media.omx@1.0.so VNDK
42 /system/${LIB}/android.hardware.media@1.0.so VNDK
43 /system/${LIB}/android.hardware.memtrack@1.0.so VNDK
44 /system/${LIB}/android.hardware.neuralnetworks@1.0.so VNDK
45 /system/${LIB}/android.hardware.nfc@1.0.so VNDK
46 /system/${LIB}/android.hardware.oemlock@1.0.so VNDK
47 /system/${LIB}/android.hardware.power@1.0.so VNDK
48 /system/${LIB}/android.hardware.power@1.1.so VNDK
49 /system/${LIB}/android.hardware.radio.deprecated@1.0.so VNDK
50 /system/${LIB}/android.hardware.radio@1.0.so VNDK
51 /system/${LIB}/android.hardware.radio@1.1.so VNDK
52 /system/${LIB}/android.hardware.renderscript@1.0.so VNDK-SP
53 /system/${LIB}/android.hardware.sensors@1.0.so VNDK
54 /system/${LIB}/android.hardware.soundtrigger@2.0.so VNDK
55 /system/${LIB}/android.hardware.tetheroffload.config@1.0.so VNDK
56 /system/${LIB}/android.hardware.tetheroffload.control@1.0.so VNDK
57 /system/${LIB}/android.hardware.thermal@1.0.so VNDK
58 /system/${LIB}/android.hardware.thermal@1.1.so VNDK
59 /system/${LIB}/android.hardware.tv.cec@1.0.so VNDK
60 /system/${LIB}/android.hardware.tv.input@1.0.so VNDK
61 /system/${LIB}/android.hardware.usb@1.0.so VNDK
62 /system/${LIB}/android.hardware.usb@1.1.so VNDK
63 /system/${LIB}/android.hardware.vibrator@1.0.so VNDK
64 /system/${LIB}/android.hardware.vibrator@1.1.so VNDK
65 /system/${LIB}/android.hardware.vr@1.0.so VNDK
66 /system/${LIB}/android.hardware.weaver@1.0.so VNDK
67 /system/${LIB}/android.hardware.wifi.offload@1.0.so VNDK
68 /system/${LIB}/android.hardware.wifi.supplicant@1.0.so VNDK
69 /system/${LIB}/android.hardware.wifi@1.0.so VNDK
70 /system/${LIB}/android.hardware.wifi@1.1.so VNDK
71 /system/${LIB}/android.hidl.allocator@1.0.so VNDK
72 /system/${LIB}/android.hidl.memory@1.0.so VNDK-SP
73 /system/${LIB}/android.hidl.token@1.0-utils.so VNDK
74 /system/${LIB}/android.hidl.token@1.0.so VNDK
75 /system/${LIB}/android.system.net.netd@1.0.so VNDK
76 /system/${LIB}/android.system.wifi.keystore@1.0.so VNDK
77 /system/${LIB}/drm/libfwdlockengine.so FWK-ONLY
78 /system/${LIB}/hw/android.hidl.memory@1.0-impl.so VNDK-SP-Indirect-Private
79 /system/${LIB}/hw/audio.a2dp.default.so FWK-ONLY
80 /system/${LIB}/hw/bluetooth.default.so FWK-ONLY
81 /system/${LIB}/hw/keystore.default.so FWK-ONLY
82 /system/${LIB}/ld-android.so LL-NDK-Indirect
83 /system/${LIB}/libEGL.so LL-NDK
84 /system/${LIB}/libETC1.so FWK-ONLY
85 /system/${LIB}/libFFTEm.so FWK-ONLY
86 /system/${LIB}/libGLESv1_CM.so LL-NDK
87 /system/${LIB}/libGLESv2.so LL-NDK
88 /system/${LIB}/libGLESv3.so LL-NDK
89 /system/${LIB}/libLLVM.so FWK-ONLY
90 /system/${LIB}/libOpenMAXAL.so FWK-ONLY
91 /system/${LIB}/libOpenSLES.so FWK-ONLY
92 /system/${LIB}/libRS.so LL-NDK
93 /system/${LIB}/libRSCpuRef.so VNDK-SP
94 /system/${LIB}/libRSDriver.so VNDK-SP
95 /system/${LIB}/libRS_internal.so VNDK-SP
96 /system/${LIB}/libRScpp.so FWK-ONLY
97 /system/${LIB}/libWnnEngDic.so FWK-ONLY
98 /system/${LIB}/libWnnJpnDic.so FWK-ONLY
99 /system/${LIB}/libaaudio.so FWK-ONLY
100 /system/${LIB}/libadf.so VNDK
101 /system/${LIB}/libandroid.so FWK-ONLY
102 /system/${LIB}/libandroid_net.so LL-NDK
103 /system/${LIB}/libandroid_runtime.so FWK-ONLY
104 /system/${LIB}/libandroid_servers.so FWK-ONLY
105 /system/${LIB}/libandroidfw.so FWK-ONLY
106 /system/${LIB}/libappfuse.so FWK-ONLY
107 /system/${LIB}/libart-compiler.so FWK-ONLY
108 /system/${LIB}/libart-dexlayout.so FWK-ONLY
109 /system/${LIB}/libart-disassembler.so FWK-ONLY
110 /system/${LIB}/libart.so FWK-ONLY
111 /system/${LIB}/libaudioclient.so FWK-ONLY
112 /system/${LIB}/libaudioeffect_jni.so FWK-ONLY
113 /system/${LIB}/libaudioflinger.so FWK-ONLY
114 /system/${LIB}/libaudiohal.so FWK-ONLY
115 /system/${LIB}/libaudiomanager.so FWK-ONLY
116 /system/${LIB}/libaudiopolicyenginedefault.so FWK-ONLY
117 /system/${LIB}/libaudiopolicymanager.so FWK-ONLY
118 /system/${LIB}/libaudiopolicymanagerdefault.so FWK-ONLY
119 /system/${LIB}/libaudiopolicyservice.so FWK-ONLY
120 /system/${LIB}/libaudioprocessing.so FWK-ONLY
121 /system/${LIB}/libaudioroute.so VNDK
122 /system/${LIB}/libaudiospdif.so FWK-ONLY
123 /system/${LIB}/libaudioutils.so VNDK
124 /system/${LIB}/libavservices_minijail.so FWK-ONLY Vendor module should link libavservices_minijail_vendor.so
125 /system/${LIB}/libbacktrace.so VNDK-SP-Indirect
126 /system/${LIB}/libbase.so VNDK-SP
127 /system/${LIB}/libbatteryservice.so FWK-ONLY
128 /system/${LIB}/libbcc.so FWK-ONLY
129 /system/${LIB}/libbcinfo.so VNDK-SP
130 /system/${LIB}/libbinder.so VNDK
131 /system/${LIB}/libbinderwrapper.so FWK-ONLY
132 /system/${LIB}/libblas.so VNDK-SP-Indirect-Private
133 /system/${LIB}/libbluetooth_jni.so FWK-ONLY
134 /system/${LIB}/libbrillo-binder.so FWK-ONLY
135 /system/${LIB}/libbrillo-stream.so FWK-ONLY
136 /system/${LIB}/libbrillo.so FWK-ONLY
137 /system/${LIB}/libc++.so VNDK-SP
138 /system/${LIB}/libc.so LL-NDK
139 /system/${LIB}/libc_malloc_debug.so LL-NDK-Indirect
140 /system/${LIB}/libcamera2ndk.so FWK-ONLY
141 /system/${LIB}/libcamera_client.so FWK-ONLY
142 /system/${LIB}/libcamera_metadata.so VNDK
143 /system/${LIB}/libcameraservice.so FWK-ONLY
144 /system/${LIB}/libcap.so VNDK
145 /system/${LIB}/libchrome.so FWK-ONLY
146 /system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
147 /system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so VNDK
148 /system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so VNDK
149 /system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so VNDK
150 /system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
151 /system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
152 /system/${LIB}/libcompiler_rt.so VNDK-SP-Indirect-Private
153 /system/${LIB}/libcrypto.so VNDK
154 /system/${LIB}/libcrypto_utils.so VNDK
155 /system/${LIB}/libcups.so FWK-ONLY
156 /system/${LIB}/libcurl.so VNDK
157 /system/${LIB}/libcutils.so VNDK-SP
158 /system/${LIB}/libdebuggerd_client.so FWK-ONLY
159 /system/${LIB}/libdefcontainer_jni.so FWK-ONLY
160 /system/${LIB}/libdiskconfig.so VNDK
161 /system/${LIB}/libdl.so LL-NDK
162 /system/${LIB}/libdng_sdk.so FWK-ONLY
163 /system/${LIB}/libdrmframework.so FWK-ONLY
164 /system/${LIB}/libdrmframework_jni.so FWK-ONLY
165 /system/${LIB}/libdumpstateaidl.so FWK-ONLY
166 /system/${LIB}/libdumpstateutil.so VNDK
167 /system/${LIB}/libevent.so VNDK
168 /system/${LIB}/libexif.so VNDK
169 /system/${LIB}/libexpat.so VNDK
170 /system/${LIB}/libext2_blkid.so FWK-ONLY
171 /system/${LIB}/libext2_com_err.so FWK-ONLY
172 /system/${LIB}/libext2_e2p.so FWK-ONLY
173 /system/${LIB}/libext2_quota.so FWK-ONLY
174 /system/${LIB}/libext2_uuid.so FWK-ONLY
175 /system/${LIB}/libext2fs.so FWK-ONLY
176 /system/${LIB}/libext4_utils.so FWK-ONLY
177 /system/${LIB}/libf2fs_sparseblock.so FWK-ONLY
178 /system/${LIB}/libfilterfw.so FWK-ONLY
179 /system/${LIB}/libfilterpack_imageproc.so FWK-ONLY
180 /system/${LIB}/libfmq.so VNDK
181 /system/${LIB}/libframesequence.so FWK-ONLY
182 /system/${LIB}/libft2.so FWK-ONLY-RS
183 /system/${LIB}/libgatekeeper.so VNDK
184 /system/${LIB}/libgiftranscode.so FWK-ONLY
185 /system/${LIB}/libgui.so VNDK
186 /system/${LIB}/libhardware.so VNDK-SP
187 /system/${LIB}/libhardware_legacy.so VNDK
188 /system/${LIB}/libharfbuzz_ng.so FWK-ONLY
189 /system/${LIB}/libhidcommand_jni.so FWK-ONLY
190 /system/${LIB}/libhidl-gen-utils.so FWK-ONLY
191 /system/${LIB}/libhidlbase.so VNDK-SP
192 /system/${LIB}/libhidlmemory.so VNDK-SP
193 /system/${LIB}/libhidltransport.so VNDK-SP
194 /system/${LIB}/libhwbinder.so VNDK-SP
195 /system/${LIB}/libhwui.so FWK-ONLY
196 /system/${LIB}/libicui18n.so FWK-ONLY
197 /system/${LIB}/libicuuc.so FWK-ONLY
198 /system/${LIB}/libimg_utils.so FWK-ONLY
199 /system/${LIB}/libincident.so FWK-ONLY
200 /system/${LIB}/libinput.so FWK-ONLY
201 /system/${LIB}/libinputflinger.so FWK-ONLY
202 /system/${LIB}/libinputservice.so FWK-ONLY
203 /system/${LIB}/libion.so VNDK-SP
204 /system/${LIB}/libiperf.so FWK-ONLY
205 /system/${LIB}/libiprouteutil.so FWK-ONLY
206 /system/${LIB}/libjavacore.so FWK-ONLY
207 /system/${LIB}/libjavacrypto.so FWK-ONLY
208 /system/${LIB}/libjni_eglfence.so FWK-ONLY
209 /system/${LIB}/libjni_filtershow_filters.so FWK-ONLY
210 /system/${LIB}/libjni_jpegstream.so FWK-ONLY
211 /system/${LIB}/libjni_jpegutil.so FWK-ONLY
212 /system/${LIB}/libjni_latinime.so FWK-ONLY
213 /system/${LIB}/libjni_pacprocessor.so FWK-ONLY
214 /system/${LIB}/libjni_tinyplanet.so FWK-ONLY
215 /system/${LIB}/libjnigraphics.so FWK-ONLY
216 /system/${LIB}/libjpeg.so VNDK
217 /system/${LIB}/libkeymaster_messages.so VNDK
218 /system/${LIB}/libkeymaster_portable.so VNDK
219 /system/${LIB}/libkeymaster_staging.so VNDK
220 /system/${LIB}/libkeystore-engine.so FWK-ONLY
221 /system/${LIB}/libkeystore_binder.so FWK-ONLY
222 /system/${LIB}/libldacBT_abr.so VNDK
223 /system/${LIB}/libldacBT_enc.so VNDK
224 /system/${LIB}/liblog.so LL-NDK
225 /system/${LIB}/liblogcat.so FWK-ONLY
226 /system/${LIB}/liblogwrap.so FWK-ONLY
227 /system/${LIB}/liblz4.so VNDK
228 /system/${LIB}/liblzma.so VNDK-SP-Indirect
229 /system/${LIB}/libm.so LL-NDK
230 /system/${LIB}/libmdnssd.so FWK-ONLY
231 /system/${LIB}/libmedia.so FWK-ONLY
232 /system/${LIB}/libmedia_helper.so VNDK
233 /system/${LIB}/libmedia_jni.so FWK-ONLY
234 /system/${LIB}/libmedia_omx.so VNDK
235 /system/${LIB}/libmediadrm.so FWK-ONLY
236 /system/${LIB}/libmediaextractorservice.so FWK-ONLY
237 /system/${LIB}/libmedialogservice.so FWK-ONLY
238 /system/${LIB}/libmediametrics.so FWK-ONLY
239 /system/${LIB}/libmediandk.so FWK-ONLY-RS
240 /system/${LIB}/libmediautils.so FWK-ONLY
241 /system/${LIB}/libmemtrack.so VNDK
242 /system/${LIB}/libmemunreachable.so FWK-ONLY
243 /system/${LIB}/libmetricslogger.so FWK-ONLY
244 /system/${LIB}/libmidi.so FWK-ONLY
245 /system/${LIB}/libminijail.so FWK-ONLY Vendor module should link libminijail_vendor.so
246 /system/${LIB}/libminikin.so FWK-ONLY
247 /system/${LIB}/libmtp.so FWK-ONLY
248 /system/${LIB}/libnativebridge.so FWK-ONLY
249 /system/${LIB}/libnativehelper.so FWK-ONLY
250 /system/${LIB}/libnativeloader.so FWK-ONLY
251 /system/${LIB}/libnativewindow.so LL-NDK
252 /system/${LIB}/libnbaio.so FWK-ONLY Vendor module should link libnbaio_mono.so
253 /system/${LIB}/libnetd_client.so LL-NDK-Indirect
254 /system/${LIB}/libnetdaidl.so FWK-ONLY
255 /system/${LIB}/libnetlink.so FWK-ONLY
256 /system/${LIB}/libnetutils.so VNDK
257 /system/${LIB}/libnl.so VNDK
258 /system/${LIB}/libopenjdk.so FWK-ONLY
259 /system/${LIB}/libopenjdkjvm.so FWK-ONLY
260 /system/${LIB}/libopenjdkjvmti.so FWK-ONLY
261 /system/${LIB}/libopus.so VNDK
262 /system/${LIB}/libpac.so FWK-ONLY
263 /system/${LIB}/libpackagelistparser.so FWK-ONLY
264 /system/${LIB}/libpagemap.so VNDK
265 /system/${LIB}/libpcap.so FWK-ONLY
266 /system/${LIB}/libpcre2.so VNDK
267 /system/${LIB}/libpcrecpp.so FWK-ONLY
268 /system/${LIB}/libpdfium.so FWK-ONLY
269 /system/${LIB}/libpiex.so VNDK
270 /system/${LIB}/libpixelflinger.so FWK-ONLY
271 /system/${LIB}/libpng.so VNDK
272 /system/${LIB}/libpower.so VNDK
273 /system/${LIB}/libpowermanager.so FWK-ONLY
274 /system/${LIB}/libprintspooler_jni.so FWK-ONLY
275 /system/${LIB}/libprocessgroup.so FWK-ONLY
276 /system/${LIB}/libprocinfo.so VNDK
277 /system/${LIB}/libprotobuf-cpp-full.so VNDK
278 /system/${LIB}/libprotobuf-cpp-lite.so VNDK
279 /system/${LIB}/libradio_metadata.so VNDK
280 /system/${LIB}/librs_jni.so FWK-ONLY
281 /system/${LIB}/librtp_jni.so FWK-ONLY
282 /system/${LIB}/libschedulerservicehidl.so FWK-ONLY
283 /system/${LIB}/libselinux.so FWK-ONLY libselinux will be VNDK in the future but not in O-MR1
284 /system/${LIB}/libsensor.so FWK-ONLY
285 /system/${LIB}/libsensorservice.so FWK-ONLY
286 /system/${LIB}/libsensorservicehidl.so FWK-ONLY
287 /system/${LIB}/libservices.so FWK-ONLY
288 /system/${LIB}/libserviceutility.so FWK-ONLY
289 /system/${LIB}/libsigchain.so FWK-ONLY
290 /system/${LIB}/libskia.so FWK-ONLY
291 /system/${LIB}/libsoftkeymaster.so FWK-ONLY
292 /system/${LIB}/libsoftkeymasterdevice.so VNDK
293 /system/${LIB}/libsonic.so FWK-ONLY
294 /system/${LIB}/libsonivox.so FWK-ONLY
295 /system/${LIB}/libsoundpool.so FWK-ONLY
296 /system/${LIB}/libsoundtrigger.so FWK-ONLY
297 /system/${LIB}/libsoundtriggerservice.so FWK-ONLY
298 /system/${LIB}/libsparse.so FWK-ONLY
299 /system/${LIB}/libspeexresampler.so VNDK
300 /system/${LIB}/libsqlite.so VNDK
301 /system/${LIB}/libssl.so VNDK
302 /system/${LIB}/libstagefright.so FWK-ONLY
303 /system/${LIB}/libstagefright_amrnb_common.so VNDK
304 /system/${LIB}/libstagefright_enc_common.so VNDK
305 /system/${LIB}/libstagefright_flacdec.so VNDK
306 /system/${LIB}/libstagefright_foundation.so VNDK
307 /system/${LIB}/libstagefright_http_support.so FWK-ONLY
308 /system/${LIB}/libstagefright_omx.so VNDK
309 /system/${LIB}/libstagefright_omx_utils.so VNDK
310 /system/${LIB}/libstagefright_soft_aacdec.so VNDK
311 /system/${LIB}/libstagefright_soft_aacenc.so VNDK
312 /system/${LIB}/libstagefright_soft_amrdec.so VNDK
313 /system/${LIB}/libstagefright_soft_amrnbenc.so VNDK
314 /system/${LIB}/libstagefright_soft_amrwbenc.so VNDK
315 /system/${LIB}/libstagefright_soft_avcdec.so VNDK
316 /system/${LIB}/libstagefright_soft_avcenc.so VNDK
317 /system/${LIB}/libstagefright_soft_flacdec.so VNDK
318 /system/${LIB}/libstagefright_soft_flacenc.so VNDK
319 /system/${LIB}/libstagefright_soft_g711dec.so VNDK
320 /system/${LIB}/libstagefright_soft_gsmdec.so VNDK
321 /system/${LIB}/libstagefright_soft_hevcdec.so VNDK
322 /system/${LIB}/libstagefright_soft_mp3dec.so VNDK
323 /system/${LIB}/libstagefright_soft_mpeg2dec.so VNDK
324 /system/${LIB}/libstagefright_soft_mpeg4dec.so VNDK
325 /system/${LIB}/libstagefright_soft_mpeg4enc.so VNDK
326 /system/${LIB}/libstagefright_soft_opusdec.so VNDK
327 /system/${LIB}/libstagefright_soft_rawdec.so VNDK
328 /system/${LIB}/libstagefright_soft_vorbisdec.so VNDK
329 /system/${LIB}/libstagefright_soft_vpxdec.so VNDK
330 /system/${LIB}/libstagefright_soft_vpxenc.so VNDK
331 /system/${LIB}/libstagefright_xmlparser.so VNDK
332 /system/${LIB}/libstdc++.so FWK-ONLY
333 /system/${LIB}/libsurfaceflinger.so FWK-ONLY
334 /system/${LIB}/libsurfaceflinger_ddmconnection.so FWK-ONLY
335 /system/${LIB}/libsuspend.so VNDK
336 /system/${LIB}/libsync.so LL-NDK
337 /system/${LIB}/libsysutils.so VNDK
338 /system/${LIB}/libtextclassifier.so FWK-ONLY
339 /system/${LIB}/libtinyalsa.so VNDK
340 /system/${LIB}/libtinyxml2.so VNDK
341 /system/${LIB}/libui.so VNDK
342 /system/${LIB}/libunwind.so VNDK-SP-Indirect
343 /system/${LIB}/libunwindstack.so VNDK-SP-Indirect
344 /system/${LIB}/libusbhost.so VNDK
345 /system/${LIB}/libutils.so VNDK-SP
346 /system/${LIB}/libvintf.so FWK-ONLY
347 /system/${LIB}/libvixl-arm.so VNDK
348 /system/${LIB}/libvixl-arm64.so VNDK
349 /system/${LIB}/libvndksupport.so LL-NDK
350 /system/${LIB}/libvorbisidec.so VNDK
351 /system/${LIB}/libvulkan.so LL-NDK
352 /system/${LIB}/libwebviewchromium_loader.so FWK-ONLY
353 /system/${LIB}/libwebviewchromium_plat_support.so FWK-ONLY
354 /system/${LIB}/libwfds.so FWK-ONLY
355 /system/${LIB}/libwifi-service.so FWK-ONLY
356 /system/${LIB}/libwifi-system-iface.so VNDK
357 /system/${LIB}/libwifi-system.so FWK-ONLY
358 /system/${LIB}/libwifikeystorehal.so FWK-ONLY
359 /system/${LIB}/libwilhelm.so FWK-ONLY
360 /system/${LIB}/libwnndict.so FWK-ONLY
361 /system/${LIB}/libxml2.so VNDK
362 /system/${LIB}/libyuv.so VNDK
363 /system/${LIB}/libz.so VNDK-SP
364 /system/${LIB}/libziparchive.so VNDK
365 /system/${LIB}/tests.vendor@1.0.so VNDK
366 /system/${LIB}/tests.vendor@1.1.so VNDK
367 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.allocator@2.0.so VNDK-SP
368 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so VNDK-SP
369 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so VNDK-SP
370 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so VNDK-SP
371 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so VNDK-SP
372 /system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so VNDK-SP-Indirect-Private
373 /system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so VNDK-SP
374 /system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so VNDK-SP
375 /system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so VNDK-SP
376 /system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so VNDK-SP-Indirect
377 /system/${LIB}/vndk-sp${VNDK_VER}/libbase.so VNDK-SP
378 /system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so VNDK-SP
379 /system/${LIB}/vndk-sp${VNDK_VER}/libblas.so VNDK-SP-Indirect-Private
380 /system/${LIB}/vndk-sp${VNDK_VER}/libc++.so VNDK-SP
381 /system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so VNDK-SP-Indirect-Private
382 /system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so VNDK-SP
383 /system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so VNDK-SP
384 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so VNDK-SP
385 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so VNDK-SP
386 /system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so VNDK-SP
387 /system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so VNDK-SP
388 /system/${LIB}/vndk-sp${VNDK_VER}/libion.so VNDK-SP
389 /system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so VNDK-SP-Indirect
390 /system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so VNDK-SP-Indirect
391 /system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so VNDK-SP-Indirect
392 /system/${LIB}/vndk-sp${VNDK_VER}/libutils.so VNDK-SP
393 /system/${LIB}/vndk-sp${VNDK_VER}/libz.so VNDK-SP
394 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so VNDK
395 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so VNDK
396 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so VNDK
397 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so VNDK
398 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so VNDK
399 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so VNDK
400 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so VNDK
401 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so VNDK
402 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so VNDK
403 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so VNDK
404 /system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so VNDK
405 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so VNDK
406 /system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so VNDK
407 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so VNDK
408 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so VNDK
409 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so VNDK
410 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so VNDK
411 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so VNDK
412 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.3.so VNDK
413 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so VNDK
414 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so VNDK
415 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas.native@1.0.so VNDK
416 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.0.so VNDK
417 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so VNDK
418 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so VNDK
419 /system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so VNDK
420 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so VNDK
421 /system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so VNDK
422 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so VNDK
423 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so VNDK
424 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so VNDK
425 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so VNDK
426 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so VNDK
427 /system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so VNDK
428 /system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so VNDK
429 /system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so VNDK
430 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so VNDK
431 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so VNDK
432 /system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so VNDK
433 /system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.0.so VNDK
434 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so VNDK
435 /system/${LIB}/vndk${VNDK_VER}/android.hardware.oemlock@1.0.so VNDK
436 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so VNDK
437 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.1.so VNDK
438 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so VNDK
439 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so VNDK
440 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so VNDK
441 /system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so VNDK
442 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so VNDK
443 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so VNDK
444 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so VNDK
445 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so VNDK
446 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.1.so VNDK
447 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so VNDK
448 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so VNDK
449 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so VNDK
450 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.1.so VNDK
451 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so VNDK
452 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.1.so VNDK
453 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so VNDK
454 /system/${LIB}/vndk${VNDK_VER}/android.hardware.weaver@1.0.so VNDK
455 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.offload@1.0.so VNDK
456 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so VNDK
457 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so VNDK
458 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.1.so VNDK
459 /system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so VNDK
460 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so VNDK
461 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so VNDK
462 /system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.0.so VNDK
463 /system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so VNDK
464 /system/${LIB}/vndk${VNDK_VER}/libadf.so VNDK
465 /system/${LIB}/vndk${VNDK_VER}/libaudioroute.so VNDK
466 /system/${LIB}/vndk${VNDK_VER}/libaudioutils.so VNDK
467 /system/${LIB}/vndk${VNDK_VER}/libbinder.so VNDK
468 /system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so VNDK
469 /system/${LIB}/vndk${VNDK_VER}/libcap.so VNDK
470 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
471 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so VNDK
472 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so VNDK
473 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips-android.so VNDK
474 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
475 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
476 /system/${LIB}/vndk${VNDK_VER}/libcrypto.so VNDK
477 /system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so VNDK
478 /system/${LIB}/vndk${VNDK_VER}/libcurl.so VNDK
479 /system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so VNDK
480 /system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so VNDK
481 /system/${LIB}/vndk${VNDK_VER}/libevent.so VNDK
482 /system/${LIB}/vndk${VNDK_VER}/libexif.so VNDK
483 /system/${LIB}/vndk${VNDK_VER}/libexpat.so VNDK
484 /system/${LIB}/vndk${VNDK_VER}/libfmq.so VNDK
485 /system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so VNDK
486 /system/${LIB}/vndk${VNDK_VER}/libgui.so VNDK
487 /system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so VNDK
488 /system/${LIB}/vndk${VNDK_VER}/libjpeg.so VNDK
489 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so VNDK
490 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_portable.so VNDK
491 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_staging.so VNDK
492 /system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so VNDK
493 /system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so VNDK
494 /system/${LIB}/vndk${VNDK_VER}/liblz4.so VNDK
495 /system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so VNDK
496 /system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so VNDK
497 /system/${LIB}/vndk${VNDK_VER}/libmemtrack.so VNDK
498 /system/${LIB}/vndk${VNDK_VER}/libnetutils.so VNDK
499 /system/${LIB}/vndk${VNDK_VER}/libnl.so VNDK
500 /system/${LIB}/vndk${VNDK_VER}/libopus.so VNDK
501 /system/${LIB}/vndk${VNDK_VER}/libpagemap.so VNDK
502 /system/${LIB}/vndk${VNDK_VER}/libpcre2.so VNDK
503 /system/${LIB}/vndk${VNDK_VER}/libpiex.so VNDK
504 /system/${LIB}/vndk${VNDK_VER}/libpng.so VNDK
505 /system/${LIB}/vndk${VNDK_VER}/libpower.so VNDK
506 /system/${LIB}/vndk${VNDK_VER}/libprocinfo.so VNDK
507 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so VNDK
508 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so VNDK
509 /system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so VNDK
510 /system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so VNDK
511 /system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so VNDK
512 /system/${LIB}/vndk${VNDK_VER}/libsqlite.so VNDK
513 /system/${LIB}/vndk${VNDK_VER}/libssl.so VNDK
514 /system/${LIB}/vndk${VNDK_VER}/libstagefright_amrnb_common.so VNDK
515 /system/${LIB}/vndk${VNDK_VER}/libstagefright_enc_common.so VNDK
516 /system/${LIB}/vndk${VNDK_VER}/libstagefright_flacdec.so VNDK
517 /system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so VNDK
518 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so VNDK
519 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx_utils.so VNDK
520 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacdec.so VNDK
521 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacenc.so VNDK
522 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrdec.so VNDK
523 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrnbenc.so VNDK
524 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrwbenc.so VNDK
525 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcdec.so VNDK
526 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcenc.so VNDK
527 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacdec.so VNDK
528 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacenc.so VNDK
529 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_g711dec.so VNDK
530 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_gsmdec.so VNDK
531 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_hevcdec.so VNDK
532 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mp3dec.so VNDK
533 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg2dec.so VNDK
534 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4dec.so VNDK
535 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4enc.so VNDK
536 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_opusdec.so VNDK
537 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_rawdec.so VNDK
538 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vorbisdec.so VNDK
539 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxdec.so VNDK
540 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxenc.so VNDK
541 /system/${LIB}/vndk${VNDK_VER}/libstagefright_xmlparser.so VNDK
542 /system/${LIB}/vndk${VNDK_VER}/libsuspend.so VNDK
543 /system/${LIB}/vndk${VNDK_VER}/libsysutils.so VNDK
544 /system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so VNDK
545 /system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so VNDK
546 /system/${LIB}/vndk${VNDK_VER}/libui.so VNDK
547 /system/${LIB}/vndk${VNDK_VER}/libusbhost.so VNDK
548 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so VNDK
549 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so VNDK
550 /system/${LIB}/vndk${VNDK_VER}/libvorbisidec.so VNDK
551 /system/${LIB}/vndk${VNDK_VER}/libwifi-system-iface.so VNDK
552 /system/${LIB}/vndk${VNDK_VER}/libxml2.so VNDK
553 /system/${LIB}/vndk${VNDK_VER}/libyuv.so VNDK
554 /system/${LIB}/vndk${VNDK_VER}/libziparchive.so VNDK
555 /system/${LIB}/vndk${VNDK_VER}/tests.vendor@1.0.so VNDK
556 /system/${LIB}/vndk${VNDK_VER}/tests.vendor@1.1.so VNDK
557 /vendor/${LIB}/libavservices_minijail_vendor.so VND-ONLY Framework module should link libavservices_minijail.so
558 /vendor/${LIB}/libcld80211.so VND-ONLY
559 /vendor/${LIB}/libeffects.so VND-ONLY
560 /vendor/${LIB}/libhwc2on1adapter.so VND-ONLY
561 /vendor/${LIB}/libminijail_vendor.so VND-ONLY Framework module should link libminijail.so
562 /vendor/${LIB}/libnbaio_mono.so VND-ONLY
563 /vendor/${LIB}/libreference-ril.so VND-ONLY
564 /vendor/${LIB}/libril.so VND-ONLY
565 /vendor/${LIB}/librilutils.so VND-ONLY
566 /vendor/${LIB}/libtinycompress.so VND-ONLY
567 /vendor/${LIB}/libwebrtc_audio_preprocessing.so VND-ONLY
568 /vendor/${LIB}/soundfx/libaudiopreprocessing.so VND-ONLY
569 /vendor/${LIB}/soundfx/libbundlewrapper.so VND-ONLY
570 /vendor/${LIB}/soundfx/libdownmix.so VND-ONLY
571 /vendor/${LIB}/soundfx/libeffectproxy.so VND-ONLY
572 /vendor/${LIB}/soundfx/libldnhncr.so VND-ONLY
573 /vendor/${LIB}/soundfx/libreverbwrapper.so VND-ONLY
574 /vendor/${LIB}/soundfx/libvisualizer.so VND-ONLY
575 [regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$ SP-HAL
576 [regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$ SP-HAL
577 [regex]^.*/gralloc\..*\.so$ SP-HAL
578 [regex]^/vendor/.*/libEGL_.*\.so$ SP-HAL
579 [regex]^/vendor/.*/libGLES_.*\.so$ SP-HAL
580 [regex]^/vendor/.*/libGLESv1_CM_.*\.so$ SP-HAL
581 [regex]^/vendor/.*/libGLESv2_.*\.so$ SP-HAL
582 [regex]^/vendor/.*/libGLESv3_.*\.so$ SP-HAL
583 [regex]^/vendor/.*/libPVRRS\.so$ SP-HAL
584 [regex]^/vendor/.*/libRSDriver.*\.so$ SP-HAL
585 [regex]^/vendor/.*/vulkan.*\.so$ SP-HAL

View File

@@ -1,435 +0,0 @@
name,vndk,vndk_sp,vendor_available,rule
android.frameworks.displayservice@1.0,True,False,True,hidl_interface
android.frameworks.displayservice@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.schedulerservice@1.0,True,False,True,hidl_interface
android.frameworks.schedulerservice@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.sensorservice@1.0,True,False,True,hidl_interface
android.frameworks.sensorservice@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.vr.composer@1.0,True,False,True,hidl_interface
android.frameworks.vr.composer@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common-util,True,False,True,cc_library_shared
android.hardware.audio.common@2.0,True,False,True,hidl_interface
android.hardware.audio.common@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common@2.0-util,True,False,True,cc_library_shared
android.hardware.audio.common@4.0,True,False,True,hidl_interface
android.hardware.audio.common@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common@4.0-util,True,False,True,cc_library_shared
android.hardware.audio.effect@2.0,True,False,True,hidl_interface
android.hardware.audio.effect@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.effect@4.0,True,False,True,hidl_interface
android.hardware.audio.effect@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio@2.0,True,False,True,hidl_interface
android.hardware.audio@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio@4.0,True,False,True,hidl_interface
android.hardware.audio@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.authsecret@1.0,True,False,True,hidl_interface
android.hardware.authsecret@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.automotive.audiocontrol@1.0,True,False,True,hidl_interface
android.hardware.automotive.audiocontrol@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.automotive.evs@1.0,True,False,True,hidl_interface
android.hardware.automotive.evs@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.automotive.vehicle@2.0,True,False,True,hidl_interface
android.hardware.automotive.vehicle@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.biometrics.fingerprint@2.1,True,False,True,hidl_interface
android.hardware.biometrics.fingerprint@2.1-adapter-helper,True,False,True,hidl_interface
android.hardware.bluetooth.a2dp@1.0,True,False,True,hidl_interface
android.hardware.bluetooth.a2dp@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.bluetooth@1.0,True,False,True,hidl_interface
android.hardware.bluetooth@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.boot@1.0,True,False,True,hidl_interface
android.hardware.boot@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.broadcastradio@1.0,True,False,True,hidl_interface
android.hardware.broadcastradio@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.broadcastradio@1.1,True,False,True,hidl_interface
android.hardware.broadcastradio@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.broadcastradio@2.0,True,False,True,hidl_interface
android.hardware.broadcastradio@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.common@1.0,True,False,True,hidl_interface
android.hardware.camera.common@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@1.0,True,False,True,hidl_interface
android.hardware.camera.device@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.2,True,False,True,hidl_interface
android.hardware.camera.device@3.2-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.3,True,False,True,hidl_interface
android.hardware.camera.device@3.3-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.4,True,False,True,hidl_interface
android.hardware.camera.device@3.4-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.metadata@3.2,True,False,True,hidl_interface
android.hardware.camera.metadata@3.2-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.metadata@3.3,True,False,True,hidl_interface
android.hardware.camera.metadata@3.3-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.provider@2.4,True,False,True,hidl_interface
android.hardware.camera.provider@2.4-adapter-helper,True,False,True,hidl_interface
android.hardware.cas.native@1.0,True,False,True,hidl_interface
android.hardware.cas.native@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.cas@1.0,True,False,True,hidl_interface
android.hardware.cas@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.configstore-utils,True,False,True,cc_library_shared
android.hardware.configstore@1.0,True,False,True,hidl_interface
android.hardware.configstore@1.1,True,False,True,hidl_interface
android.hardware.configstore@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.confirmationui-support-lib,True,False,True,cc_library
android.hardware.confirmationui@1.0,True,False,True,hidl_interface
android.hardware.confirmationui@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.contexthub@1.0,True,False,True,hidl_interface
android.hardware.contexthub@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.drm@1.0,True,False,True,hidl_interface
android.hardware.drm@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.drm@1.1,True,False,True,hidl_interface
android.hardware.drm@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.dumpstate@1.0,True,False,True,hidl_interface
android.hardware.dumpstate@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gatekeeper@1.0,True,False,True,hidl_interface
android.hardware.gatekeeper@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss@1.0,True,False,True,hidl_interface
android.hardware.gnss@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss@1.1,True,False,True,hidl_interface
android.hardware.gnss@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.allocator@2.0,True,False,True,hidl_interface
android.hardware.graphics.allocator@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.bufferqueue@1.0,True,False,True,hidl_interface
android.hardware.graphics.bufferqueue@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.common@1.0,True,True,True,hidl_interface
android.hardware.graphics.common@1.0-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.common@1.1,True,True,True,hidl_interface
android.hardware.graphics.common@1.1-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.composer@2.1,True,False,True,hidl_interface
android.hardware.graphics.composer@2.1-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.composer@2.2,True,False,True,hidl_interface
android.hardware.graphics.composer@2.2-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.mapper@2.0,True,True,True,hidl_interface
android.hardware.graphics.mapper@2.0-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.mapper@2.1,True,True,True,hidl_interface
android.hardware.graphics.mapper@2.1-adapter-helper,True,True,True,hidl_interface
android.hardware.health@1.0,True,False,True,hidl_interface
android.hardware.health@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.health@2.0,True,False,True,hidl_interface
android.hardware.health@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.ir@1.0,True,False,True,hidl_interface
android.hardware.ir@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.keymaster@3.0,True,False,True,hidl_interface
android.hardware.keymaster@3.0-adapter-helper,True,False,True,hidl_interface
android.hardware.keymaster@4.0,True,False,True,hidl_interface
android.hardware.keymaster@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.light@2.0,True,False,True,hidl_interface
android.hardware.light@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media.bufferpool@1.0,True,False,True,hidl_interface
android.hardware.media.bufferpool@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media.omx@1.0,True,False,True,hidl_interface
android.hardware.media.omx@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media@1.0,True,False,True,hidl_interface
android.hardware.media@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.memtrack@1.0,True,False,True,hidl_interface
android.hardware.memtrack@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.0,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.1,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.nfc@1.0,True,False,True,hidl_interface
android.hardware.nfc@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.nfc@1.1,True,False,True,hidl_interface
android.hardware.nfc@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.oemlock@1.0,True,False,True,hidl_interface
android.hardware.oemlock@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.0,True,False,True,hidl_interface
android.hardware.power@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.1,True,False,True,hidl_interface
android.hardware.power@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.2,True,False,True,hidl_interface
android.hardware.power@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.radio.config@1.0,True,False,True,hidl_interface
android.hardware.radio.config@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.radio.deprecated@1.0,True,False,True,hidl_interface
android.hardware.radio.deprecated@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.0,True,False,True,hidl_interface
android.hardware.radio@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.1,True,False,True,hidl_interface
android.hardware.radio@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.2,True,False,True,hidl_interface
android.hardware.radio@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.renderscript@1.0,True,True,True,hidl_interface
android.hardware.renderscript@1.0-adapter-helper,True,True,True,hidl_interface
android.hardware.secure_element@1.0,True,False,True,hidl_interface
android.hardware.secure_element@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.sensors@1.0,True,False,True,hidl_interface
android.hardware.sensors@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.soundtrigger@2.0,True,False,True,hidl_interface
android.hardware.soundtrigger@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.soundtrigger@2.0-core,True,False,True,cc_library_shared
android.hardware.soundtrigger@2.1,True,False,True,hidl_interface
android.hardware.soundtrigger@2.1-adapter-helper,True,False,True,hidl_interface
android.hardware.tests.bar@1.0,False,False,True,hidl_interface
android.hardware.tests.bar@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.baz@1.0,False,False,True,hidl_interface
android.hardware.tests.baz@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.expression@1.0,False,False,True,hidl_interface
android.hardware.tests.expression@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.extension.light@2.0,False,False,True,hidl_interface
android.hardware.tests.extension.light@2.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.foo@1.0,False,False,True,hidl_interface
android.hardware.tests.foo@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.hash@1.0,False,False,True,hidl_interface
android.hardware.tests.hash@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.inheritance@1.0,False,False,True,hidl_interface
android.hardware.tests.inheritance@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.libhwbinder@1.0,False,False,True,hidl_interface
android.hardware.tests.libhwbinder@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.memory@1.0,False,False,True,hidl_interface
android.hardware.tests.memory@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.msgq@1.0,False,False,True,hidl_interface
android.hardware.tests.msgq@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.multithread@1.0,False,False,True,hidl_interface
android.hardware.tests.multithread@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.pointer@1.0,False,False,True,hidl_interface
android.hardware.tests.pointer@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.trie@1.0,False,False,True,hidl_interface
android.hardware.tests.trie@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tetheroffload.config@1.0,True,False,True,hidl_interface
android.hardware.tetheroffload.config@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.tetheroffload.control@1.0,True,False,True,hidl_interface
android.hardware.tetheroffload.control@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.thermal@1.0,True,False,True,hidl_interface
android.hardware.thermal@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.thermal@1.1,True,False,True,hidl_interface
android.hardware.thermal@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.tv.cec@1.0,True,False,True,hidl_interface
android.hardware.tv.cec@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.tv.input@1.0,True,False,True,hidl_interface
android.hardware.tv.input@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.usb.gadget@1.0,True,False,True,hidl_interface
android.hardware.usb.gadget@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.usb@1.0,True,False,True,hidl_interface
android.hardware.usb@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.usb@1.1,True,False,True,hidl_interface
android.hardware.usb@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.0,True,False,True,hidl_interface
android.hardware.vibrator@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.1,True,False,True,hidl_interface
android.hardware.vibrator@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.2,True,False,True,hidl_interface
android.hardware.vibrator@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.vr@1.0,True,False,True,hidl_interface
android.hardware.vr@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.weaver@1.0,True,False,True,hidl_interface
android.hardware.weaver@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.hostapd@1.0,True,False,True,hidl_interface
android.hardware.wifi.hostapd@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.offload@1.0,True,False,True,hidl_interface
android.hardware.wifi.offload@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.0,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.1,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.0,True,False,True,hidl_interface
android.hardware.wifi@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.1,True,False,True,hidl_interface
android.hardware.wifi@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.2,True,False,True,hidl_interface
android.hardware.wifi@1.2-adapter-helper,True,False,True,hidl_interface
android.hidl.allocator@1.0,True,False,True,hidl_interface
android.hidl.allocator@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.base@1.0,True,False,True,hidl_interface
android.hidl.base@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.manager@1.0,True,False,True,hidl_interface
android.hidl.manager@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.manager@1.1,True,False,True,hidl_interface
android.hidl.manager@1.1-adapter-helper,True,False,True,hidl_interface
android.hidl.memory.block@1.0,True,False,True,hidl_interface
android.hidl.memory.block@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.memory.token@1.0,True,True,True,hidl_interface
android.hidl.memory.token@1.0-adapter-helper,True,True,True,hidl_interface
android.hidl.memory@1.0,True,True,True,hidl_interface
android.hidl.memory@1.0-adapter-helper,True,True,True,hidl_interface
android.hidl.memory@1.0-impl,True,True,True,cc_library_shared
android.hidl.token@1.0,True,False,True,hidl_interface
android.hidl.token@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.token@1.0-utils,True,False,True,cc_library
android.system.net.netd@1.0,True,False,True,hidl_interface
android.system.net.netd@1.0-adapter-helper,True,False,True,hidl_interface
android.system.net.netd@1.1,True,False,True,hidl_interface
android.system.net.netd@1.1-adapter-helper,True,False,True,hidl_interface
android.system.wifi.keystore@1.0,True,False,True,hidl_interface
android.system.wifi.keystore@1.0-adapter-helper,True,False,True,hidl_interface
hardware.google.media.c2@1.0,False,False,True,hidl_interface
hardware.google.media.c2@1.0-adapter-helper,False,False,True,hidl_interface
hardware.google.pixelstats@1.0,False,False,True,hidl_interface
hardware.google.pixelstats@1.0-adapter-helper,False,False,True,hidl_interface
hidl.tests.vendor@1.0,False,False,True,hidl_interface
hidl.tests.vendor@1.0-adapter-helper,False,False,True,hidl_interface
hidl.tests.vendor@1.1,False,False,True,hidl_interface
hidl.tests.vendor@1.1-adapter-helper,False,False,True,hidl_interface
libRSCpuRef,True,True,True,cc_library_shared
libRSDriver,True,True,True,cc_library_shared
libRS_internal,True,True,True,cc_library_shared
libadf,True,False,True,cc_library
libasyncio,False,False,True,cc_library
libaudioroute,True,False,True,cc_library_shared
libaudioutils,True,False,True,cc_library
libbacktrace,True,True,False,cc_library
libbase,True,True,True,cc_library
libbcinfo,True,True,True,cc_library_shared
libbinder,True,False,True,cc_library
libblas,True,True,False,cc_library_shared
libc++,True,True,True,cc_library_shared
libcamera_metadata,True,False,True,cc_library_shared
libcap,True,False,True,cc_library
libchrome,False,False,True,cc_library
libclang_rt.ubsan_standalone-aarch64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-arm-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-i686-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-mips-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-mips64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-x86_64-android,True,False,True,libclang_rt_prebuilt_library_shared
libcn-cbor,True,False,True,cc_library
libcodec2_hidl_utils@1.0,False,False,True,cc_library
libcompiler_rt,True,True,False,cc_library
libcrypto,True,False,True,cc_library
libcrypto_utils,True,False,True,cc_library
libcurl,True,False,True,cc_library
libcutils,True,True,True,cc_library
libdemangle,False,False,True,cc_library
libdiskconfig,True,False,True,cc_library
libdng_sdk,False,False,True,cc_library
libdrm,False,False,True,cc_library
libdumpstateutil,True,False,True,cc_library_shared
libeffectsconfig,False,False,True,cc_library
libevent,True,False,True,cc_library
libexif,True,False,True,cc_library_shared
libexpat,True,False,True,cc_library
libfmq,True,False,True,cc_library_shared
libgatekeeper,True,False,True,cc_library_shared
libgtest_prod,False,False,True,cc_library
libgui,True,False,False,cc_library_shared
libhardware,True,True,True,cc_library_shared
libhardware_legacy,True,False,True,cc_library_shared
libhidladapter,False,False,True,cc_library
libhidlallocatorutils,True,False,True,cc_library
libhidlbase,True,True,True,cc_library
libhidlcache,True,False,True,cc_library
libhidlmemory,True,True,True,cc_library
libhidltransport,True,True,True,cc_library
libhwbinder,True,True,True,cc_library
libhwbinder_noltopgo,True,True,True,cc_library
libion,True,True,True,cc_library
libjpeg,True,False,True,cc_library
libkeymaster4,False,False,True,cc_library_shared
libkeymaster4support,False,False,True,cc_library
libkeymaster_messages,True,False,True,cc_library_shared
libkeymaster_portable,True,False,True,cc_library
liblayers_proto,False,False,True,cc_library_shared
libldacBT_abr,True,False,True,cc_library_shared
libldacBT_enc,True,False,True,cc_library_shared
liblz4,True,False,True,cc_library
liblzma,True,True,True,cc_library
libmedia_helper,True,False,True,cc_library
libmedia_omx,True,False,True,cc_library_shared
libmemtrack,True,False,True,cc_library_shared
libminijail,True,False,True,cc_library
libmkbootimg_abi_check,True,False,True,cc_library
libnetutils,True,False,True,cc_library_shared
libnl,True,False,True,cc_library
libopus,True,False,True,cc_library_shared
libpagemap,True,False,True,cc_library
libpcap,False,False,True,cc_library
libpcre2,True,False,True,cc_library
libperfmgr,False,False,True,cc_library
libpiex,True,False,True,cc_library_shared
libpng,True,False,True,cc_library
libpower,True,False,True,cc_library
libprocinfo,True,False,True,cc_library
libprotobuf-cpp-full,True,False,True,cc_library_shared
libprotobuf-cpp-full-rtti,False,False,True,cc_library_shared
libprotobuf-cpp-lite,True,False,True,cc_library
libprotobuf-cpp-lite-rtti,False,False,True,cc_library_shared
libpuresoftkeymasterdevice,True,False,True,cc_library
libradio_metadata,True,False,True,cc_library_shared
libselinux,True,False,True,cc_library
libsoftkeymasterdevice,True,False,True,cc_library
libspeexresampler,True,False,True,cc_library_shared
libsqlite,True,False,True,cc_library
libssl,True,False,True,cc_library
libstagefright_amrnb_common,True,False,True,cc_library_shared
libstagefright_bufferpool@1.0,False,False,True,cc_library
libstagefright_bufferqueue_helper,True,False,True,cc_library_shared
libstagefright_codec2,False,False,True,cc_library_shared
libstagefright_codec2_vndk,False,False,True,cc_library_shared
libstagefright_enc_common,True,False,True,cc_library
libstagefright_flacdec,True,False,True,cc_library
libstagefright_foundation,True,False,True,cc_library
libstagefright_omx,True,False,True,cc_library_shared
libstagefright_omx_utils,True,False,True,cc_library_shared
libstagefright_simple_c2component,False,False,True,cc_library_shared
libstagefright_soft_aacdec,True,False,True,cc_library_shared
libstagefright_soft_aacenc,True,False,True,cc_library_shared
libstagefright_soft_amrdec,True,False,True,cc_library_shared
libstagefright_soft_amrnbenc,True,False,True,cc_library_shared
libstagefright_soft_amrwbenc,True,False,True,cc_library_shared
libstagefright_soft_avcdec,True,False,True,cc_library_shared
libstagefright_soft_avcenc,True,False,True,cc_library_shared
libstagefright_soft_c2aacdec,False,False,True,cc_library_shared
libstagefright_soft_c2aacenc,False,False,True,cc_library_shared
libstagefright_soft_c2amrnbdec,False,False,True,cc_library_shared
libstagefright_soft_c2amrnbenc,False,False,True,cc_library_shared
libstagefright_soft_c2amrwbdec,False,False,True,cc_library_shared
libstagefright_soft_c2amrwbenc,False,False,True,cc_library_shared
libstagefright_soft_c2avcdec,False,False,True,cc_library_shared
libstagefright_soft_c2avcenc,False,False,True,cc_library_shared
libstagefright_soft_c2flacdec,False,False,True,cc_library_shared
libstagefright_soft_c2flacenc,False,False,True,cc_library_shared
libstagefright_soft_c2g711alawdec,False,False,True,cc_library_shared
libstagefright_soft_c2g711mlawdec,False,False,True,cc_library_shared
libstagefright_soft_c2gsmdec,False,False,True,cc_library_shared
libstagefright_soft_c2h263dec,False,False,True,cc_library_shared
libstagefright_soft_c2h263enc,False,False,True,cc_library_shared
libstagefright_soft_c2hevcdec,False,False,True,cc_library_shared
libstagefright_soft_c2mp3dec,False,False,True,cc_library_shared
libstagefright_soft_c2mpeg2dec,False,False,True,cc_library_shared
libstagefright_soft_c2mpeg4dec,False,False,True,cc_library_shared
libstagefright_soft_c2mpeg4enc,False,False,True,cc_library_shared
libstagefright_soft_c2opusdec,False,False,True,cc_library_shared
libstagefright_soft_c2rawdec,False,False,True,cc_library_shared
libstagefright_soft_c2vorbisdec,False,False,True,cc_library_shared
libstagefright_soft_c2vp8dec,False,False,True,cc_library_shared
libstagefright_soft_c2vp8enc,False,False,True,cc_library_shared
libstagefright_soft_c2vp9dec,False,False,True,cc_library_shared
libstagefright_soft_c2vp9enc,False,False,True,cc_library_shared
libstagefright_soft_flacdec,True,False,True,cc_library_shared
libstagefright_soft_flacenc,True,False,True,cc_library_shared
libstagefright_soft_g711dec,True,False,True,cc_library_shared
libstagefright_soft_gsmdec,True,False,True,cc_library_shared
libstagefright_soft_hevcdec,True,False,True,cc_library_shared
libstagefright_soft_mp3dec,True,False,True,cc_library_shared
libstagefright_soft_mpeg2dec,True,False,True,cc_library_shared
libstagefright_soft_mpeg4dec,True,False,True,cc_library_shared
libstagefright_soft_mpeg4enc,True,False,True,cc_library_shared
libstagefright_soft_opusdec,True,False,True,cc_library_shared
libstagefright_soft_rawdec,True,False,True,cc_library_shared
libstagefright_soft_vorbisdec,True,False,True,cc_library_shared
libstagefright_soft_vpxdec,True,False,True,cc_library_shared
libstagefright_soft_vpxenc,True,False,True,cc_library_shared
libstagefright_xmlparser,True,False,True,cc_library_shared
libsuspend,True,False,True,cc_library
libsysutils,True,False,True,cc_library_shared
libtextclassifier_hash,False,False,True,cc_library_shared
libtinyalsa,True,False,True,cc_library
libtinyxml2,True,False,True,cc_library
libui,True,False,True,cc_library_shared
libunwind,True,True,False,cc_library
libunwindstack,True,True,True,cc_library
libusb,False,False,True,cc_library
libusbhost,True,False,True,cc_library
libutils,True,True,True,cc_library
libutilscallstack,True,True,True,cc_library
libv4l2_c2componentstore,False,False,True,cc_library_shared
libvixl-arm,True,False,True,cc_library
libvixl-arm64,True,False,True,cc_library
libvorbisidec,True,False,True,cc_library
libwifi-system-iface,True,False,True,cc_library
libxml2,True,False,True,cc_library
libyuv,True,False,True,cc_library
libz,True,True,True,cc_library
libziparchive,True,False,True,cc_library
vendor.nxp.nxpese@1.0,False,False,True,hidl_interface
vendor.nxp.nxpese@1.0-adapter-helper,False,False,True,hidl_interface
vendor.nxp.nxpnfc@1.0,False,False,True,hidl_interface
vendor.nxp.nxpnfc@1.0-adapter-helper,False,False,True,hidl_interface
1 name vndk vndk_sp vendor_available rule
2 android.frameworks.displayservice@1.0 True False True hidl_interface
3 android.frameworks.displayservice@1.0-adapter-helper True False True hidl_interface
4 android.frameworks.schedulerservice@1.0 True False True hidl_interface
5 android.frameworks.schedulerservice@1.0-adapter-helper True False True hidl_interface
6 android.frameworks.sensorservice@1.0 True False True hidl_interface
7 android.frameworks.sensorservice@1.0-adapter-helper True False True hidl_interface
8 android.frameworks.vr.composer@1.0 True False True hidl_interface
9 android.frameworks.vr.composer@1.0-adapter-helper True False True hidl_interface
10 android.hardware.audio.common-util True False True cc_library_shared
11 android.hardware.audio.common@2.0 True False True hidl_interface
12 android.hardware.audio.common@2.0-adapter-helper True False True hidl_interface
13 android.hardware.audio.common@2.0-util True False True cc_library_shared
14 android.hardware.audio.common@4.0 True False True hidl_interface
15 android.hardware.audio.common@4.0-adapter-helper True False True hidl_interface
16 android.hardware.audio.common@4.0-util True False True cc_library_shared
17 android.hardware.audio.effect@2.0 True False True hidl_interface
18 android.hardware.audio.effect@2.0-adapter-helper True False True hidl_interface
19 android.hardware.audio.effect@4.0 True False True hidl_interface
20 android.hardware.audio.effect@4.0-adapter-helper True False True hidl_interface
21 android.hardware.audio@2.0 True False True hidl_interface
22 android.hardware.audio@2.0-adapter-helper True False True hidl_interface
23 android.hardware.audio@4.0 True False True hidl_interface
24 android.hardware.audio@4.0-adapter-helper True False True hidl_interface
25 android.hardware.authsecret@1.0 True False True hidl_interface
26 android.hardware.authsecret@1.0-adapter-helper True False True hidl_interface
27 android.hardware.automotive.audiocontrol@1.0 True False True hidl_interface
28 android.hardware.automotive.audiocontrol@1.0-adapter-helper True False True hidl_interface
29 android.hardware.automotive.evs@1.0 True False True hidl_interface
30 android.hardware.automotive.evs@1.0-adapter-helper True False True hidl_interface
31 android.hardware.automotive.vehicle@2.0 True False True hidl_interface
32 android.hardware.automotive.vehicle@2.0-adapter-helper True False True hidl_interface
33 android.hardware.biometrics.fingerprint@2.1 True False True hidl_interface
34 android.hardware.biometrics.fingerprint@2.1-adapter-helper True False True hidl_interface
35 android.hardware.bluetooth.a2dp@1.0 True False True hidl_interface
36 android.hardware.bluetooth.a2dp@1.0-adapter-helper True False True hidl_interface
37 android.hardware.bluetooth@1.0 True False True hidl_interface
38 android.hardware.bluetooth@1.0-adapter-helper True False True hidl_interface
39 android.hardware.boot@1.0 True False True hidl_interface
40 android.hardware.boot@1.0-adapter-helper True False True hidl_interface
41 android.hardware.broadcastradio@1.0 True False True hidl_interface
42 android.hardware.broadcastradio@1.0-adapter-helper True False True hidl_interface
43 android.hardware.broadcastradio@1.1 True False True hidl_interface
44 android.hardware.broadcastradio@1.1-adapter-helper True False True hidl_interface
45 android.hardware.broadcastradio@2.0 True False True hidl_interface
46 android.hardware.broadcastradio@2.0-adapter-helper True False True hidl_interface
47 android.hardware.camera.common@1.0 True False True hidl_interface
48 android.hardware.camera.common@1.0-adapter-helper True False True hidl_interface
49 android.hardware.camera.device@1.0 True False True hidl_interface
50 android.hardware.camera.device@1.0-adapter-helper True False True hidl_interface
51 android.hardware.camera.device@3.2 True False True hidl_interface
52 android.hardware.camera.device@3.2-adapter-helper True False True hidl_interface
53 android.hardware.camera.device@3.3 True False True hidl_interface
54 android.hardware.camera.device@3.3-adapter-helper True False True hidl_interface
55 android.hardware.camera.device@3.4 True False True hidl_interface
56 android.hardware.camera.device@3.4-adapter-helper True False True hidl_interface
57 android.hardware.camera.metadata@3.2 True False True hidl_interface
58 android.hardware.camera.metadata@3.2-adapter-helper True False True hidl_interface
59 android.hardware.camera.metadata@3.3 True False True hidl_interface
60 android.hardware.camera.metadata@3.3-adapter-helper True False True hidl_interface
61 android.hardware.camera.provider@2.4 True False True hidl_interface
62 android.hardware.camera.provider@2.4-adapter-helper True False True hidl_interface
63 android.hardware.cas.native@1.0 True False True hidl_interface
64 android.hardware.cas.native@1.0-adapter-helper True False True hidl_interface
65 android.hardware.cas@1.0 True False True hidl_interface
66 android.hardware.cas@1.0-adapter-helper True False True hidl_interface
67 android.hardware.configstore-utils True False True cc_library_shared
68 android.hardware.configstore@1.0 True False True hidl_interface
69 android.hardware.configstore@1.1 True False True hidl_interface
70 android.hardware.configstore@1.0-adapter-helper True False True hidl_interface
71 android.hardware.confirmationui-support-lib True False True cc_library
72 android.hardware.confirmationui@1.0 True False True hidl_interface
73 android.hardware.confirmationui@1.0-adapter-helper True False True hidl_interface
74 android.hardware.contexthub@1.0 True False True hidl_interface
75 android.hardware.contexthub@1.0-adapter-helper True False True hidl_interface
76 android.hardware.drm@1.0 True False True hidl_interface
77 android.hardware.drm@1.0-adapter-helper True False True hidl_interface
78 android.hardware.drm@1.1 True False True hidl_interface
79 android.hardware.drm@1.1-adapter-helper True False True hidl_interface
80 android.hardware.dumpstate@1.0 True False True hidl_interface
81 android.hardware.dumpstate@1.0-adapter-helper True False True hidl_interface
82 android.hardware.gatekeeper@1.0 True False True hidl_interface
83 android.hardware.gatekeeper@1.0-adapter-helper True False True hidl_interface
84 android.hardware.gnss@1.0 True False True hidl_interface
85 android.hardware.gnss@1.0-adapter-helper True False True hidl_interface
86 android.hardware.gnss@1.1 True False True hidl_interface
87 android.hardware.gnss@1.1-adapter-helper True False True hidl_interface
88 android.hardware.graphics.allocator@2.0 True False True hidl_interface
89 android.hardware.graphics.allocator@2.0-adapter-helper True False True hidl_interface
90 android.hardware.graphics.bufferqueue@1.0 True False True hidl_interface
91 android.hardware.graphics.bufferqueue@1.0-adapter-helper True False True hidl_interface
92 android.hardware.graphics.common@1.0 True True True hidl_interface
93 android.hardware.graphics.common@1.0-adapter-helper True True True hidl_interface
94 android.hardware.graphics.common@1.1 True True True hidl_interface
95 android.hardware.graphics.common@1.1-adapter-helper True True True hidl_interface
96 android.hardware.graphics.composer@2.1 True False True hidl_interface
97 android.hardware.graphics.composer@2.1-adapter-helper True False True hidl_interface
98 android.hardware.graphics.composer@2.2 True False True hidl_interface
99 android.hardware.graphics.composer@2.2-adapter-helper True False True hidl_interface
100 android.hardware.graphics.mapper@2.0 True True True hidl_interface
101 android.hardware.graphics.mapper@2.0-adapter-helper True True True hidl_interface
102 android.hardware.graphics.mapper@2.1 True True True hidl_interface
103 android.hardware.graphics.mapper@2.1-adapter-helper True True True hidl_interface
104 android.hardware.health@1.0 True False True hidl_interface
105 android.hardware.health@1.0-adapter-helper True False True hidl_interface
106 android.hardware.health@2.0 True False True hidl_interface
107 android.hardware.health@2.0-adapter-helper True False True hidl_interface
108 android.hardware.ir@1.0 True False True hidl_interface
109 android.hardware.ir@1.0-adapter-helper True False True hidl_interface
110 android.hardware.keymaster@3.0 True False True hidl_interface
111 android.hardware.keymaster@3.0-adapter-helper True False True hidl_interface
112 android.hardware.keymaster@4.0 True False True hidl_interface
113 android.hardware.keymaster@4.0-adapter-helper True False True hidl_interface
114 android.hardware.light@2.0 True False True hidl_interface
115 android.hardware.light@2.0-adapter-helper True False True hidl_interface
116 android.hardware.media.bufferpool@1.0 True False True hidl_interface
117 android.hardware.media.bufferpool@1.0-adapter-helper True False True hidl_interface
118 android.hardware.media.omx@1.0 True False True hidl_interface
119 android.hardware.media.omx@1.0-adapter-helper True False True hidl_interface
120 android.hardware.media@1.0 True False True hidl_interface
121 android.hardware.media@1.0-adapter-helper True False True hidl_interface
122 android.hardware.memtrack@1.0 True False True hidl_interface
123 android.hardware.memtrack@1.0-adapter-helper True False True hidl_interface
124 android.hardware.neuralnetworks@1.0 True False True hidl_interface
125 android.hardware.neuralnetworks@1.0-adapter-helper True False True hidl_interface
126 android.hardware.neuralnetworks@1.1 True False True hidl_interface
127 android.hardware.neuralnetworks@1.1-adapter-helper True False True hidl_interface
128 android.hardware.nfc@1.0 True False True hidl_interface
129 android.hardware.nfc@1.0-adapter-helper True False True hidl_interface
130 android.hardware.nfc@1.1 True False True hidl_interface
131 android.hardware.nfc@1.1-adapter-helper True False True hidl_interface
132 android.hardware.oemlock@1.0 True False True hidl_interface
133 android.hardware.oemlock@1.0-adapter-helper True False True hidl_interface
134 android.hardware.power@1.0 True False True hidl_interface
135 android.hardware.power@1.0-adapter-helper True False True hidl_interface
136 android.hardware.power@1.1 True False True hidl_interface
137 android.hardware.power@1.1-adapter-helper True False True hidl_interface
138 android.hardware.power@1.2 True False True hidl_interface
139 android.hardware.power@1.2-adapter-helper True False True hidl_interface
140 android.hardware.radio.config@1.0 True False True hidl_interface
141 android.hardware.radio.config@1.0-adapter-helper True False True hidl_interface
142 android.hardware.radio.deprecated@1.0 True False True hidl_interface
143 android.hardware.radio.deprecated@1.0-adapter-helper True False True hidl_interface
144 android.hardware.radio@1.0 True False True hidl_interface
145 android.hardware.radio@1.0-adapter-helper True False True hidl_interface
146 android.hardware.radio@1.1 True False True hidl_interface
147 android.hardware.radio@1.1-adapter-helper True False True hidl_interface
148 android.hardware.radio@1.2 True False True hidl_interface
149 android.hardware.radio@1.2-adapter-helper True False True hidl_interface
150 android.hardware.renderscript@1.0 True True True hidl_interface
151 android.hardware.renderscript@1.0-adapter-helper True True True hidl_interface
152 android.hardware.secure_element@1.0 True False True hidl_interface
153 android.hardware.secure_element@1.0-adapter-helper True False True hidl_interface
154 android.hardware.sensors@1.0 True False True hidl_interface
155 android.hardware.sensors@1.0-adapter-helper True False True hidl_interface
156 android.hardware.soundtrigger@2.0 True False True hidl_interface
157 android.hardware.soundtrigger@2.0-adapter-helper True False True hidl_interface
158 android.hardware.soundtrigger@2.0-core True False True cc_library_shared
159 android.hardware.soundtrigger@2.1 True False True hidl_interface
160 android.hardware.soundtrigger@2.1-adapter-helper True False True hidl_interface
161 android.hardware.tests.bar@1.0 False False True hidl_interface
162 android.hardware.tests.bar@1.0-adapter-helper False False True hidl_interface
163 android.hardware.tests.baz@1.0 False False True hidl_interface
164 android.hardware.tests.baz@1.0-adapter-helper False False True hidl_interface
165 android.hardware.tests.expression@1.0 False False True hidl_interface
166 android.hardware.tests.expression@1.0-adapter-helper False False True hidl_interface
167 android.hardware.tests.extension.light@2.0 False False True hidl_interface
168 android.hardware.tests.extension.light@2.0-adapter-helper False False True hidl_interface
169 android.hardware.tests.foo@1.0 False False True hidl_interface
170 android.hardware.tests.foo@1.0-adapter-helper False False True hidl_interface
171 android.hardware.tests.hash@1.0 False False True hidl_interface
172 android.hardware.tests.hash@1.0-adapter-helper False False True hidl_interface
173 android.hardware.tests.inheritance@1.0 False False True hidl_interface
174 android.hardware.tests.inheritance@1.0-adapter-helper False False True hidl_interface
175 android.hardware.tests.libhwbinder@1.0 False False True hidl_interface
176 android.hardware.tests.libhwbinder@1.0-adapter-helper False False True hidl_interface
177 android.hardware.tests.memory@1.0 False False True hidl_interface
178 android.hardware.tests.memory@1.0-adapter-helper False False True hidl_interface
179 android.hardware.tests.msgq@1.0 False False True hidl_interface
180 android.hardware.tests.msgq@1.0-adapter-helper False False True hidl_interface
181 android.hardware.tests.multithread@1.0 False False True hidl_interface
182 android.hardware.tests.multithread@1.0-adapter-helper False False True hidl_interface
183 android.hardware.tests.pointer@1.0 False False True hidl_interface
184 android.hardware.tests.pointer@1.0-adapter-helper False False True hidl_interface
185 android.hardware.tests.trie@1.0 False False True hidl_interface
186 android.hardware.tests.trie@1.0-adapter-helper False False True hidl_interface
187 android.hardware.tetheroffload.config@1.0 True False True hidl_interface
188 android.hardware.tetheroffload.config@1.0-adapter-helper True False True hidl_interface
189 android.hardware.tetheroffload.control@1.0 True False True hidl_interface
190 android.hardware.tetheroffload.control@1.0-adapter-helper True False True hidl_interface
191 android.hardware.thermal@1.0 True False True hidl_interface
192 android.hardware.thermal@1.0-adapter-helper True False True hidl_interface
193 android.hardware.thermal@1.1 True False True hidl_interface
194 android.hardware.thermal@1.1-adapter-helper True False True hidl_interface
195 android.hardware.tv.cec@1.0 True False True hidl_interface
196 android.hardware.tv.cec@1.0-adapter-helper True False True hidl_interface
197 android.hardware.tv.input@1.0 True False True hidl_interface
198 android.hardware.tv.input@1.0-adapter-helper True False True hidl_interface
199 android.hardware.usb.gadget@1.0 True False True hidl_interface
200 android.hardware.usb.gadget@1.0-adapter-helper True False True hidl_interface
201 android.hardware.usb@1.0 True False True hidl_interface
202 android.hardware.usb@1.0-adapter-helper True False True hidl_interface
203 android.hardware.usb@1.1 True False True hidl_interface
204 android.hardware.usb@1.1-adapter-helper True False True hidl_interface
205 android.hardware.vibrator@1.0 True False True hidl_interface
206 android.hardware.vibrator@1.0-adapter-helper True False True hidl_interface
207 android.hardware.vibrator@1.1 True False True hidl_interface
208 android.hardware.vibrator@1.1-adapter-helper True False True hidl_interface
209 android.hardware.vibrator@1.2 True False True hidl_interface
210 android.hardware.vibrator@1.2-adapter-helper True False True hidl_interface
211 android.hardware.vr@1.0 True False True hidl_interface
212 android.hardware.vr@1.0-adapter-helper True False True hidl_interface
213 android.hardware.weaver@1.0 True False True hidl_interface
214 android.hardware.weaver@1.0-adapter-helper True False True hidl_interface
215 android.hardware.wifi.hostapd@1.0 True False True hidl_interface
216 android.hardware.wifi.hostapd@1.0-adapter-helper True False True hidl_interface
217 android.hardware.wifi.offload@1.0 True False True hidl_interface
218 android.hardware.wifi.offload@1.0-adapter-helper True False True hidl_interface
219 android.hardware.wifi.supplicant@1.0 True False True hidl_interface
220 android.hardware.wifi.supplicant@1.0-adapter-helper True False True hidl_interface
221 android.hardware.wifi.supplicant@1.1 True False True hidl_interface
222 android.hardware.wifi.supplicant@1.1-adapter-helper True False True hidl_interface
223 android.hardware.wifi@1.0 True False True hidl_interface
224 android.hardware.wifi@1.0-adapter-helper True False True hidl_interface
225 android.hardware.wifi@1.1 True False True hidl_interface
226 android.hardware.wifi@1.1-adapter-helper True False True hidl_interface
227 android.hardware.wifi@1.2 True False True hidl_interface
228 android.hardware.wifi@1.2-adapter-helper True False True hidl_interface
229 android.hidl.allocator@1.0 True False True hidl_interface
230 android.hidl.allocator@1.0-adapter-helper True False True hidl_interface
231 android.hidl.base@1.0 True False True hidl_interface
232 android.hidl.base@1.0-adapter-helper True False True hidl_interface
233 android.hidl.manager@1.0 True False True hidl_interface
234 android.hidl.manager@1.0-adapter-helper True False True hidl_interface
235 android.hidl.manager@1.1 True False True hidl_interface
236 android.hidl.manager@1.1-adapter-helper True False True hidl_interface
237 android.hidl.memory.block@1.0 True False True hidl_interface
238 android.hidl.memory.block@1.0-adapter-helper True False True hidl_interface
239 android.hidl.memory.token@1.0 True True True hidl_interface
240 android.hidl.memory.token@1.0-adapter-helper True True True hidl_interface
241 android.hidl.memory@1.0 True True True hidl_interface
242 android.hidl.memory@1.0-adapter-helper True True True hidl_interface
243 android.hidl.memory@1.0-impl True True True cc_library_shared
244 android.hidl.token@1.0 True False True hidl_interface
245 android.hidl.token@1.0-adapter-helper True False True hidl_interface
246 android.hidl.token@1.0-utils True False True cc_library
247 android.system.net.netd@1.0 True False True hidl_interface
248 android.system.net.netd@1.0-adapter-helper True False True hidl_interface
249 android.system.net.netd@1.1 True False True hidl_interface
250 android.system.net.netd@1.1-adapter-helper True False True hidl_interface
251 android.system.wifi.keystore@1.0 True False True hidl_interface
252 android.system.wifi.keystore@1.0-adapter-helper True False True hidl_interface
253 hardware.google.media.c2@1.0 False False True hidl_interface
254 hardware.google.media.c2@1.0-adapter-helper False False True hidl_interface
255 hardware.google.pixelstats@1.0 False False True hidl_interface
256 hardware.google.pixelstats@1.0-adapter-helper False False True hidl_interface
257 hidl.tests.vendor@1.0 False False True hidl_interface
258 hidl.tests.vendor@1.0-adapter-helper False False True hidl_interface
259 hidl.tests.vendor@1.1 False False True hidl_interface
260 hidl.tests.vendor@1.1-adapter-helper False False True hidl_interface
261 libRSCpuRef True True True cc_library_shared
262 libRSDriver True True True cc_library_shared
263 libRS_internal True True True cc_library_shared
264 libadf True False True cc_library
265 libasyncio False False True cc_library
266 libaudioroute True False True cc_library_shared
267 libaudioutils True False True cc_library
268 libbacktrace True True False cc_library
269 libbase True True True cc_library
270 libbcinfo True True True cc_library_shared
271 libbinder True False True cc_library
272 libblas True True False cc_library_shared
273 libc++ True True True cc_library_shared
274 libcamera_metadata True False True cc_library_shared
275 libcap True False True cc_library
276 libchrome False False True cc_library
277 libclang_rt.ubsan_standalone-aarch64-android True False True libclang_rt_prebuilt_library_shared
278 libclang_rt.ubsan_standalone-arm-android True False True libclang_rt_prebuilt_library_shared
279 libclang_rt.ubsan_standalone-i686-android True False True libclang_rt_prebuilt_library_shared
280 libclang_rt.ubsan_standalone-mips-android True False True libclang_rt_prebuilt_library_shared
281 libclang_rt.ubsan_standalone-mips64-android True False True libclang_rt_prebuilt_library_shared
282 libclang_rt.ubsan_standalone-x86_64-android True False True libclang_rt_prebuilt_library_shared
283 libcn-cbor True False True cc_library
284 libcodec2_hidl_utils@1.0 False False True cc_library
285 libcompiler_rt True True False cc_library
286 libcrypto True False True cc_library
287 libcrypto_utils True False True cc_library
288 libcurl True False True cc_library
289 libcutils True True True cc_library
290 libdemangle False False True cc_library
291 libdiskconfig True False True cc_library
292 libdng_sdk False False True cc_library
293 libdrm False False True cc_library
294 libdumpstateutil True False True cc_library_shared
295 libeffectsconfig False False True cc_library
296 libevent True False True cc_library
297 libexif True False True cc_library_shared
298 libexpat True False True cc_library
299 libfmq True False True cc_library_shared
300 libgatekeeper True False True cc_library_shared
301 libgtest_prod False False True cc_library
302 libgui True False False cc_library_shared
303 libhardware True True True cc_library_shared
304 libhardware_legacy True False True cc_library_shared
305 libhidladapter False False True cc_library
306 libhidlallocatorutils True False True cc_library
307 libhidlbase True True True cc_library
308 libhidlcache True False True cc_library
309 libhidlmemory True True True cc_library
310 libhidltransport True True True cc_library
311 libhwbinder True True True cc_library
312 libhwbinder_noltopgo True True True cc_library
313 libion True True True cc_library
314 libjpeg True False True cc_library
315 libkeymaster4 False False True cc_library_shared
316 libkeymaster4support False False True cc_library
317 libkeymaster_messages True False True cc_library_shared
318 libkeymaster_portable True False True cc_library
319 liblayers_proto False False True cc_library_shared
320 libldacBT_abr True False True cc_library_shared
321 libldacBT_enc True False True cc_library_shared
322 liblz4 True False True cc_library
323 liblzma True True True cc_library
324 libmedia_helper True False True cc_library
325 libmedia_omx True False True cc_library_shared
326 libmemtrack True False True cc_library_shared
327 libminijail True False True cc_library
328 libmkbootimg_abi_check True False True cc_library
329 libnetutils True False True cc_library_shared
330 libnl True False True cc_library
331 libopus True False True cc_library_shared
332 libpagemap True False True cc_library
333 libpcap False False True cc_library
334 libpcre2 True False True cc_library
335 libperfmgr False False True cc_library
336 libpiex True False True cc_library_shared
337 libpng True False True cc_library
338 libpower True False True cc_library
339 libprocinfo True False True cc_library
340 libprotobuf-cpp-full True False True cc_library_shared
341 libprotobuf-cpp-full-rtti False False True cc_library_shared
342 libprotobuf-cpp-lite True False True cc_library
343 libprotobuf-cpp-lite-rtti False False True cc_library_shared
344 libpuresoftkeymasterdevice True False True cc_library
345 libradio_metadata True False True cc_library_shared
346 libselinux True False True cc_library
347 libsoftkeymasterdevice True False True cc_library
348 libspeexresampler True False True cc_library_shared
349 libsqlite True False True cc_library
350 libssl True False True cc_library
351 libstagefright_amrnb_common True False True cc_library_shared
352 libstagefright_bufferpool@1.0 False False True cc_library
353 libstagefright_bufferqueue_helper True False True cc_library_shared
354 libstagefright_codec2 False False True cc_library_shared
355 libstagefright_codec2_vndk False False True cc_library_shared
356 libstagefright_enc_common True False True cc_library
357 libstagefright_flacdec True False True cc_library
358 libstagefright_foundation True False True cc_library
359 libstagefright_omx True False True cc_library_shared
360 libstagefright_omx_utils True False True cc_library_shared
361 libstagefright_simple_c2component False False True cc_library_shared
362 libstagefright_soft_aacdec True False True cc_library_shared
363 libstagefright_soft_aacenc True False True cc_library_shared
364 libstagefright_soft_amrdec True False True cc_library_shared
365 libstagefright_soft_amrnbenc True False True cc_library_shared
366 libstagefright_soft_amrwbenc True False True cc_library_shared
367 libstagefright_soft_avcdec True False True cc_library_shared
368 libstagefright_soft_avcenc True False True cc_library_shared
369 libstagefright_soft_c2aacdec False False True cc_library_shared
370 libstagefright_soft_c2aacenc False False True cc_library_shared
371 libstagefright_soft_c2amrnbdec False False True cc_library_shared
372 libstagefright_soft_c2amrnbenc False False True cc_library_shared
373 libstagefright_soft_c2amrwbdec False False True cc_library_shared
374 libstagefright_soft_c2amrwbenc False False True cc_library_shared
375 libstagefright_soft_c2avcdec False False True cc_library_shared
376 libstagefright_soft_c2avcenc False False True cc_library_shared
377 libstagefright_soft_c2flacdec False False True cc_library_shared
378 libstagefright_soft_c2flacenc False False True cc_library_shared
379 libstagefright_soft_c2g711alawdec False False True cc_library_shared
380 libstagefright_soft_c2g711mlawdec False False True cc_library_shared
381 libstagefright_soft_c2gsmdec False False True cc_library_shared
382 libstagefright_soft_c2h263dec False False True cc_library_shared
383 libstagefright_soft_c2h263enc False False True cc_library_shared
384 libstagefright_soft_c2hevcdec False False True cc_library_shared
385 libstagefright_soft_c2mp3dec False False True cc_library_shared
386 libstagefright_soft_c2mpeg2dec False False True cc_library_shared
387 libstagefright_soft_c2mpeg4dec False False True cc_library_shared
388 libstagefright_soft_c2mpeg4enc False False True cc_library_shared
389 libstagefright_soft_c2opusdec False False True cc_library_shared
390 libstagefright_soft_c2rawdec False False True cc_library_shared
391 libstagefright_soft_c2vorbisdec False False True cc_library_shared
392 libstagefright_soft_c2vp8dec False False True cc_library_shared
393 libstagefright_soft_c2vp8enc False False True cc_library_shared
394 libstagefright_soft_c2vp9dec False False True cc_library_shared
395 libstagefright_soft_c2vp9enc False False True cc_library_shared
396 libstagefright_soft_flacdec True False True cc_library_shared
397 libstagefright_soft_flacenc True False True cc_library_shared
398 libstagefright_soft_g711dec True False True cc_library_shared
399 libstagefright_soft_gsmdec True False True cc_library_shared
400 libstagefright_soft_hevcdec True False True cc_library_shared
401 libstagefright_soft_mp3dec True False True cc_library_shared
402 libstagefright_soft_mpeg2dec True False True cc_library_shared
403 libstagefright_soft_mpeg4dec True False True cc_library_shared
404 libstagefright_soft_mpeg4enc True False True cc_library_shared
405 libstagefright_soft_opusdec True False True cc_library_shared
406 libstagefright_soft_rawdec True False True cc_library_shared
407 libstagefright_soft_vorbisdec True False True cc_library_shared
408 libstagefright_soft_vpxdec True False True cc_library_shared
409 libstagefright_soft_vpxenc True False True cc_library_shared
410 libstagefright_xmlparser True False True cc_library_shared
411 libsuspend True False True cc_library
412 libsysutils True False True cc_library_shared
413 libtextclassifier_hash False False True cc_library_shared
414 libtinyalsa True False True cc_library
415 libtinyxml2 True False True cc_library
416 libui True False True cc_library_shared
417 libunwind True True False cc_library
418 libunwindstack True True True cc_library
419 libusb False False True cc_library
420 libusbhost True False True cc_library
421 libutils True True True cc_library
422 libutilscallstack True True True cc_library
423 libv4l2_c2componentstore False False True cc_library_shared
424 libvixl-arm True False True cc_library
425 libvixl-arm64 True False True cc_library
426 libvorbisidec True False True cc_library
427 libwifi-system-iface True False True cc_library
428 libxml2 True False True cc_library
429 libyuv True False True cc_library
430 libz True True True cc_library
431 libziparchive True False True cc_library
432 vendor.nxp.nxpese@1.0 False False True hidl_interface
433 vendor.nxp.nxpese@1.0-adapter-helper False False True hidl_interface
434 vendor.nxp.nxpnfc@1.0 False False True hidl_interface
435 vendor.nxp.nxpnfc@1.0-adapter-helper False False True hidl_interface

View File

@@ -1,750 +0,0 @@
Path,Tag,Comments
/apex/com.android.runtime/${LIB}/bionic/libc.so,LL-NDK,
/apex/com.android.runtime/${LIB}/bionic/libdl.so,LL-NDK,
/apex/com.android.runtime/${LIB}/bionic/libm.so,LL-NDK,
/system/${LIB}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common-util.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common@4.0-util.so,VNDK,
/system/${LIB}/android.hardware.audio.common@4.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@4.0.so,VNDK,
/system/${LIB}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio@4.0.so,VNDK,
/system/${LIB}/android.hardware.authsecret@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.audiocontrol@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/android.hardware.bluetooth.a2dp@1.0.so,VNDK,
/system/${LIB}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@2.0.so,VNDK,
/system/${LIB}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.4.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.3.so,VNDK,
/system/${LIB}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.1.so,VNDK,
/system/${LIB}/android.hardware.confirmationui-support-lib.so,VNDK,
/system/${LIB}/android.hardware.confirmationui@1.0.so,VNDK,
/system/${LIB}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.1.so,VNDK,
/system/${LIB}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.1.so,VNDK,
/system/${LIB}/android.hardware.graphics.allocator@2.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.common@1.1.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/android.hardware.graphics.composer@2.2.so,VNDK,
/system/${LIB}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.mapper@2.1.so,VNDK-SP,
/system/${LIB}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/android.hardware.health@2.0.so,VNDK,
/system/${LIB}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@4.0.so,VNDK,
/system/${LIB}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/android.hardware.media.bufferpool@1.0.so,VNDK,
/system/${LIB}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.1.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.1.so,VNDK,
/system/${LIB}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/android.hardware.power@1.2.so,VNDK,
/system/${LIB}/android.hardware.radio.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/android.hardware.radio@1.2.so,VNDK,
/system/${LIB}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.secure_element@1.0.so,VNDK,
/system/${LIB}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0-core.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.1.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb.gadget@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.2.so,VNDK,
/system/${LIB}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.hostapd@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.1.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.2.so,VNDK,
/system/${LIB}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/android.hidl.memory.block@1.0.so,VNDK,
/system/${LIB}/android.hidl.memory.token@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/android.system.net.netd@1.1.so,VNDK,
/system/${LIB}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/drm/libfwdlockengine.so,FWK-ONLY,
/system/${LIB}/extractors/libaacextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libamrextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libflacextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmidiextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmkvextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmp3extractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmp4extractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmpeg2extractor.so,FWK-ONLY,
/system/${LIB}/extractors/liboggextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libwavextractor.so,FWK-ONLY,
/system/${LIB}/hidl.tests.vendor@1.0.so,FWK-ONLY,
/system/${LIB}/hidl.tests.vendor@1.1.so,FWK-ONLY,
/system/${LIB}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP,
/system/${LIB}/hw/audio.a2dp.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Private,
/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
/system/${LIB}/libGLESv1_CM.so,LL-NDK,
/system/${LIB}/libGLESv2.so,LL-NDK,
/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libLLVM_android.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
/system/${LIB}/libRS.so,LL-NDK,
/system/${LIB}/libRSCacheDir.so,FWK-ONLY,
/system/${LIB}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/libRSDriver.so,VNDK-SP,
/system/${LIB}/libRS_internal.so,VNDK-SP,
/system/${LIB}/libRScpp.so,FWK-ONLY,
/system/${LIB}/libWnnEngDic.so,FWK-ONLY,
/system/${LIB}/libWnnJpnDic.so,FWK-ONLY,
/system/${LIB}/libaaudio.so,FWK-ONLY,
/system/${LIB}/libaaudioservice.so,FWK-ONLY,
/system/${LIB}/libadbconnection.so,FWK-ONLY,
/system/${LIB}/libadbconnectiond.so,FWK-ONLY,
/system/${LIB}/libadf.so,VNDK,
/system/${LIB}/libandroid.so,FWK-ONLY,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libandroid_runtime.so,FWK-ONLY,
/system/${LIB}/libandroid_servers.so,FWK-ONLY,
/system/${LIB}/libandroidfw.so,FWK-ONLY,
/system/${LIB}/libappfuse.so,FWK-ONLY,
/system/${LIB}/libart-compiler.so,FWK-ONLY,
/system/${LIB}/libart-dexlayout.so,FWK-ONLY,
/system/${LIB}/libart-disassembler.so,FWK-ONLY,
/system/${LIB}/libart.so,FWK-ONLY,
/system/${LIB}/libartd-compiler.so,FWK-ONLY,
/system/${LIB}/libartd-dexlayout.so,FWK-ONLY,
/system/${LIB}/libartd.so,FWK-ONLY,
/system/${LIB}/libasyncio.so,FWK-ONLY,
/system/${LIB}/libaudioclient.so,FWK-ONLY,
/system/${LIB}/libaudioeffect_jni.so,FWK-ONLY,
/system/${LIB}/libaudioflinger.so,FWK-ONLY,
/system/${LIB}/libaudiohal.so,FWK-ONLY,
/system/${LIB}/libaudiohal@2.0.so,FWK-ONLY,
/system/${LIB}/libaudiohal_deathhandler.so,FWK-ONLY,
/system/${LIB}/libaudiomanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyenginedefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanagerdefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyservice.so,FWK-ONLY,
/system/${LIB}/libaudioprocessing.so,FWK-ONLY,
/system/${LIB}/libaudioroute.so,VNDK,
/system/${LIB}/libaudiospdif.so,FWK-ONLY,
/system/${LIB}/libaudioutils.so,VNDK,
/system/${LIB}/libavservices_minijail.so,FWK-ONLY,Vendor module should link libavservices_minijail_vendor.so
/system/${LIB}/libbacktrace.so,VNDK-SP-Private,
/system/${LIB}/libbase.so,VNDK-SP,
/system/${LIB}/libbcc.so,FWK-ONLY,
/system/${LIB}/libbcinfo.so,VNDK-SP,
/system/${LIB}/libbinder.so,VNDK,
/system/${LIB}/libbinderwrapper.so,FWK-ONLY,
/system/${LIB}/libblas.so,VNDK-SP-Private,
/system/${LIB}/libbluetooth-binder.so,FWK-ONLY,
/system/${LIB}/libbluetooth.so,FWK-ONLY,
/system/${LIB}/libbluetooth_jni.so,FWK-ONLY,
/system/${LIB}/libbootanimation.so,FWK-ONLY,
/system/${LIB}/libbpf.so,FWK-ONLY,
/system/${LIB}/libbrillo-binder.so,FWK-ONLY,
/system/${LIB}/libbrillo-stream.so,FWK-ONLY,
/system/${LIB}/libbrillo.so,FWK-ONLY,
/system/${LIB}/libbrotli.so,FWK-ONLY,
/system/${LIB}/libbufferhub.so,FWK-ONLY,
/system/${LIB}/libbufferhubqueue.so,FWK-ONLY,
/system/${LIB}/libbz.so,FWK-ONLY,
/system/${LIB}/libc++.so,VNDK-SP,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libc_malloc_debug.so,LL-NDK-Private,
/system/${LIB}/libcamera2ndk.so,FWK-ONLY,
/system/${LIB}/libcamera_client.so,FWK-ONLY,
/system/${LIB}/libcamera_metadata.so,VNDK,
/system/${LIB}/libcameraservice.so,FWK-ONLY,
/system/${LIB}/libcap.so,VNDK,
/system/${LIB}/libchrome.so,FWK-ONLY,
/system/${LIB}/libclang_rt.asan-aarch64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-arm-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-i686-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-mips-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-mips64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-x86_64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/libcn-cbor.so,VNDK,
/system/${LIB}/libcompiler_rt.so,VNDK-SP-Private,
/system/${LIB}/libcrypto.so,VNDK,
/system/${LIB}/libcrypto_utils.so,VNDK,
/system/${LIB}/libcups.so,FWK-ONLY,
/system/${LIB}/libcurl.so,VNDK,
/system/${LIB}/libcutils.so,VNDK-SP,
/system/${LIB}/libdebuggerd_client.so,FWK-ONLY,
/system/${LIB}/libdefcontainer_jni.so,FWK-ONLY,
/system/${LIB}/libdexfile.so,VNDK-SP-Private,Workaround for degenerated VDNK
/system/${LIB}/libdiskconfig.so,VNDK,
/system/${LIB}/libdisplayservicehidl.so,FWK-ONLY,
/system/${LIB}/libdl.so,LL-NDK,
/system/${LIB}/libdng_sdk.so,FWK-ONLY,
/system/${LIB}/libdrmframework.so,FWK-ONLY,
/system/${LIB}/libdrmframework_jni.so,FWK-ONLY,
/system/${LIB}/libdt_fd_forward.so,FWK-ONLY,
/system/${LIB}/libdt_socket.so,FWK-ONLY,
/system/${LIB}/libdumpstateaidl.so,FWK-ONLY,
/system/${LIB}/libdumpstateutil.so,VNDK,
/system/${LIB}/libeffectsconfig.so,FWK-ONLY,
/system/${LIB}/libevent.so,VNDK,
/system/${LIB}/libexif.so,VNDK,
/system/${LIB}/libexpat.so,VNDK,
/system/${LIB}/libext2_blkid.so,FWK-ONLY,
/system/${LIB}/libext2_com_err.so,FWK-ONLY,
/system/${LIB}/libext2_e2p.so,FWK-ONLY,
/system/${LIB}/libext2_misc.so,FWK-ONLY,
/system/${LIB}/libext2_quota.so,FWK-ONLY,
/system/${LIB}/libext2_uuid.so,FWK-ONLY,
/system/${LIB}/libext2fs.so,FWK-ONLY,
/system/${LIB}/libext4_utils.so,FWK-ONLY,
/system/${LIB}/libf2fs_sparseblock.so,FWK-ONLY,
/system/${LIB}/libfilterfw.so,FWK-ONLY,
/system/${LIB}/libfilterpack_imageproc.so,FWK-ONLY,
/system/${LIB}/libfmq.so,VNDK,
/system/${LIB}/libframesequence.so,FWK-ONLY,
/system/${LIB}/libft2.so,FWK-ONLY-RS,
/system/${LIB}/libgatekeeper.so,VNDK,
/system/${LIB}/libgiftranscode.so,FWK-ONLY,
/system/${LIB}/libgraphicsenv.so,FWK-ONLY,
/system/${LIB}/libgtest_prod.so,FWK-ONLY,
/system/${LIB}/libgui.so,VNDK-Private,
/system/${LIB}/libhardware.so,VNDK-SP,
/system/${LIB}/libhardware_legacy.so,VNDK,
/system/${LIB}/libharfbuzz_ng.so,FWK-ONLY,
/system/${LIB}/libheif.so,FWK-ONLY,
/system/${LIB}/libhidcommand_jni.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-hash.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-utils.so,FWK-ONLY,
/system/${LIB}/libhidlallocatorutils.so,VNDK,
/system/${LIB}/libhidlbase.so,VNDK-SP,
/system/${LIB}/libhidlcache.so,VNDK,
/system/${LIB}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/libhidltransport.so,VNDK-SP,
/system/${LIB}/libhwbinder.so,VNDK-SP,
/system/${LIB}/libhwbinder_noltopgo.so,VNDK-SP,
/system/${LIB}/libhwui.so,FWK-ONLY,
/system/${LIB}/libicui18n.so,FWK-ONLY,
/system/${LIB}/libicuuc.so,FWK-ONLY,
/system/${LIB}/libimg_utils.so,FWK-ONLY,
/system/${LIB}/libincident.so,FWK-ONLY,
/system/${LIB}/libinput.so,FWK-ONLY,
/system/${LIB}/libinputflinger.so,FWK-ONLY,
/system/${LIB}/libinputservice.so,FWK-ONLY,
/system/${LIB}/libion.so,VNDK-SP,
/system/${LIB}/libiperf.so,FWK-ONLY,
/system/${LIB}/libiprouteutil.so,FWK-ONLY,
/system/${LIB}/libjavacore.so,FWK-ONLY,
/system/${LIB}/libjavacrypto.so,FWK-ONLY,
/system/${LIB}/libjdwp.so,FWK-ONLY,
/system/${LIB}/libjni_eglfence.so,FWK-ONLY,
/system/${LIB}/libjni_filtershow_filters.so,FWK-ONLY,
/system/${LIB}/libjni_jpegstream.so,FWK-ONLY,
/system/${LIB}/libjni_jpegutil.so,FWK-ONLY,
/system/${LIB}/libjni_latinime.so,FWK-ONLY,
/system/${LIB}/libjni_pacprocessor.so,FWK-ONLY,
/system/${LIB}/libjni_tinyplanet.so,FWK-ONLY,
/system/${LIB}/libjnigraphics.so,FWK-ONLY,
/system/${LIB}/libjpeg.so,VNDK,
/system/${LIB}/libkeymaster4support.so,FWK-ONLY,
/system/${LIB}/libkeymaster_messages.so,VNDK,
/system/${LIB}/libkeymaster_portable.so,VNDK,
/system/${LIB}/libkeystore-engine.so,FWK-ONLY,
/system/${LIB}/libkeystore_aidl.so,FWK-ONLY,
/system/${LIB}/libkeystore_binder.so,FWK-ONLY,
/system/${LIB}/libkeystore_parcelables.so,FWK-ONLY,
/system/${LIB}/libkeyutils.so,FWK-ONLY,
/system/${LIB}/liblayers_proto.so,FWK-ONLY,
/system/${LIB}/libldacBT_abr.so,VNDK,
/system/${LIB}/libldacBT_enc.so,VNDK,
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/liblogcat.so,FWK-ONLY,
/system/${LIB}/liblogwrap.so,FWK-ONLY,
/system/${LIB}/liblshal.so,FWK-ONLY,
/system/${LIB}/liblz4.so,VNDK,
/system/${LIB}/liblzma.so,VNDK-SP,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmdnssd.so,FWK-ONLY,
/system/${LIB}/libmedia.so,FWK-ONLY,
/system/${LIB}/libmedia_helper.so,VNDK,
/system/${LIB}/libmedia_jni.so,FWK-ONLY,
/system/${LIB}/libmedia_omx.so,VNDK,
/system/${LIB}/libmediadrm.so,FWK-ONLY,
/system/${LIB}/libmediaextractor.so,FWK-ONLY,
/system/${LIB}/libmediaextractorservice.so,FWK-ONLY,
/system/${LIB}/libmedialogservice.so,FWK-ONLY,
/system/${LIB}/libmediametrics.so,FWK-ONLY,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/libmediaplayerservice.so,FWK-ONLY,
/system/${LIB}/libmediautils.so,FWK-ONLY,
/system/${LIB}/libmemtrack.so,VNDK,
/system/${LIB}/libmemunreachable.so,FWK-ONLY,
/system/${LIB}/libmetricslogger.so,FWK-ONLY,
/system/${LIB}/libmidi.so,FWK-ONLY,
/system/${LIB}/libminijail.so,VNDK,
/system/${LIB}/libminikin.so,FWK-ONLY,
/system/${LIB}/libmkbootimg_abi_check.so,VNDK,
/system/${LIB}/libmtp.so,FWK-ONLY,
/system/${LIB}/libnativebridge.so,FWK-ONLY,
/system/${LIB}/libnativehelper.so,FWK-ONLY,
/system/${LIB}/libnativeloader.so,FWK-ONLY,
/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libnbaio.so,FWK-ONLY,Vendor module should link libnbaio_mono.so
/system/${LIB}/libnblog.so,FWK-ONLY,
/system/${LIB}/libnetd_client.so,LL-NDK-Private,
/system/${LIB}/libnetdaidl.so,FWK-ONLY,
/system/${LIB}/libnetdutils.so,FWK-ONLY,
/system/${LIB}/libnetlink.so,FWK-ONLY,
/system/${LIB}/libnetutils.so,VNDK,
/system/${LIB}/libneuralnetworks.so,LL-NDK,
/system/${LIB}/libnfc-nci.so,FWK-ONLY,
/system/${LIB}/libnfc_nci_jni.so,FWK-ONLY,
/system/${LIB}/libnl.so,VNDK,
/system/${LIB}/libnpt.so,FWK-ONLY,
/system/${LIB}/libopenjdk.so,FWK-ONLY,
/system/${LIB}/libopenjdkd.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvm.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmd.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmti.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmtid.so,FWK-ONLY,
/system/${LIB}/libopus.so,VNDK,
/system/${LIB}/libpac.so,FWK-ONLY,
/system/${LIB}/libpackagelistparser.so,FWK-ONLY,
/system/${LIB}/libpagemap.so,VNDK,
/system/${LIB}/libpcap.so,FWK-ONLY,
/system/${LIB}/libpcre2.so,VNDK,
/system/${LIB}/libpcrecpp.so,FWK-ONLY,
/system/${LIB}/libpdfium.so,FWK-ONLY,
/system/${LIB}/libpdx_default_transport.so,FWK-ONLY,
/system/${LIB}/libpiex.so,VNDK,
/system/${LIB}/libpixelflinger.so,FWK-ONLY,
/system/${LIB}/libpng.so,VNDK,
/system/${LIB}/libpower.so,VNDK,
/system/${LIB}/libpowermanager.so,FWK-ONLY,
/system/${LIB}/libprintspooler_jni.so,FWK-ONLY,
/system/${LIB}/libprocessgroup.so,FWK-ONLY,
/system/${LIB}/libprocinfo.so,VNDK,
/system/${LIB}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/libprotoutil.so,FWK-ONLY,
/system/${LIB}/libpuresoftkeymasterdevice.so,VNDK,
/system/${LIB}/libqtaguid.so,FWK-ONLY,
/system/${LIB}/libradio_metadata.so,VNDK,
/system/${LIB}/libresourcemanagerservice.so,FWK-ONLY,
/system/${LIB}/librs_jni.so,FWK-ONLY,
/system/${LIB}/librtp_jni.so,FWK-ONLY,
/system/${LIB}/libschedulerservicehidl.so,FWK-ONLY,
/system/${LIB}/libselinux.so,VNDK,
/system/${LIB}/libsensor.so,FWK-ONLY,
/system/${LIB}/libsensorservice.so,FWK-ONLY,
/system/${LIB}/libsensorservicehidl.so,FWK-ONLY,
/system/${LIB}/libsepol.so,FWK-ONLY,
/system/${LIB}/libservices.so,FWK-ONLY,
/system/${LIB}/libserviceutility.so,FWK-ONLY,
/system/${LIB}/libsigchain.so,FWK-ONLY,
/system/${LIB}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/libsonic.so,FWK-ONLY,
/system/${LIB}/libsonivox.so,FWK-ONLY,
/system/${LIB}/libsoundpool.so,FWK-ONLY,
/system/${LIB}/libsoundtrigger.so,FWK-ONLY,
/system/${LIB}/libsoundtriggerservice.so,FWK-ONLY,
/system/${LIB}/libsparse.so,FWK-ONLY,
/system/${LIB}/libspeexresampler.so,VNDK,
/system/${LIB}/libsqlite.so,VNDK,
/system/${LIB}/libssl.so,VNDK,
/system/${LIB}/libstagefright.so,FWK-ONLY,
/system/${LIB}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/libstagefright_bufferqueue_helper.so,VNDK,
/system/${LIB}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/libstagefright_foundation.so,VNDK,
/system/${LIB}/libstagefright_http_support.so,FWK-ONLY,
/system/${LIB}/libstagefright_httplive.so,FWK-ONLY,
/system/${LIB}/libstagefright_omx.so,VNDK,
/system/${LIB}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/libstagefright_soft_aacdec.so,VNDK,
/system/${LIB}/libstagefright_soft_aacenc.so,VNDK,
/system/${LIB}/libstagefright_soft_amrdec.so,VNDK,
/system/${LIB}/libstagefright_soft_amrnbenc.so,VNDK,
/system/${LIB}/libstagefright_soft_amrwbenc.so,VNDK,
/system/${LIB}/libstagefright_soft_avcdec.so,VNDK,
/system/${LIB}/libstagefright_soft_avcenc.so,VNDK,
/system/${LIB}/libstagefright_soft_flacdec.so,VNDK,
/system/${LIB}/libstagefright_soft_flacenc.so,VNDK,
/system/${LIB}/libstagefright_soft_g711dec.so,VNDK,
/system/${LIB}/libstagefright_soft_gsmdec.so,VNDK,
/system/${LIB}/libstagefright_soft_hevcdec.so,VNDK,
/system/${LIB}/libstagefright_soft_mp3dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg2dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg4dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg4enc.so,VNDK,
/system/${LIB}/libstagefright_soft_opusdec.so,VNDK,
/system/${LIB}/libstagefright_soft_rawdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vorbisdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vpxdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vpxenc.so,VNDK,
/system/${LIB}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/libstatslog.so,FWK-ONLY,
/system/${LIB}/libstdc++.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger_ddmconnection.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,VNDK,
/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtextclassifier_hash.so,LL-NDK-Private,
/system/${LIB}/libthermalcallback.so,FWK-ONLY,
/system/${LIB}/libthermalservice.so,FWK-ONLY,
/system/${LIB}/libtinyalsa.so,VNDK,
/system/${LIB}/libtinyxml2.so,VNDK,
/system/${LIB}/libtombstoned_client.so,FWK-ONLY,
/system/${LIB}/libui.so,VNDK,
/system/${LIB}/libunwind.so,VNDK-SP-Private,
/system/${LIB}/libunwindstack.so,VNDK-SP,
/system/${LIB}/libusbhost.so,VNDK,
/system/${LIB}/libutils.so,VNDK-SP,
/system/${LIB}/libutilscallstack.so,VNDK-SP,
/system/${LIB}/libvintf.so,FWK-ONLY,
/system/${LIB}/libvixl-arm.so,VNDK,
/system/${LIB}/libvixl-arm64.so,VNDK,
/system/${LIB}/libvixld-arm.so,FWK-ONLY,
/system/${LIB}/libvixld-arm64.so,FWK-ONLY,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,VNDK,
/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
/system/${LIB}/libwfds.so,FWK-ONLY,
/system/${LIB}/libwifi-service.so,FWK-ONLY,
/system/${LIB}/libwifi-system-iface.so,VNDK,
/system/${LIB}/libwifi-system.so,FWK-ONLY,
/system/${LIB}/libwifikeystorehal.so,FWK-ONLY,
/system/${LIB}/libwilhelm.so,FWK-ONLY,
/system/${LIB}/libwnndict.so,FWK-ONLY,
/system/${LIB}/libxml2.so,VNDK,
/system/${LIB}/libyuv.so,VNDK,
/system/${LIB}/libz.so,VNDK-SP,
/system/${LIB}/libziparchive.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.authsecret@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.audiocontrol@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth.a2dp@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui-support-lib.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.allocator@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.bufferpool@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.secure_element@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0-core.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb.gadget@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.hostapd@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.memory.block@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libadf.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioroute.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libbinder.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcn-cbor.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcurl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libevent.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexif.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexpat.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libfmq.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgui.so,VNDK-Private,
/system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libhidlallocatorutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libhidlcache.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libjpeg.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_portable.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/liblz4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmemtrack.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libminijail.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmkbootimg_abi_check.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnetutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libopus.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpagemap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpcre2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpiex.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpng.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpower.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprocinfo.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpuresoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libselinux.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsqlite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libssl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_bufferqueue_helper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrnbenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrwbenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_g711dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_gsmdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_hevcdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mp3dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg2dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4dec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4enc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_opusdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_rawdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vorbisdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxenc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsuspend.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsysutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libui.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libusbhost.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvorbisidec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libwifi-system-iface.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libyuv.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libziparchive.so,VNDK,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.1.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.1.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory.token@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libblas.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libc++.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libdexfile.so,VNDK-SP-Private,Workaround for degenerated VDNK
/system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder_noltopgo.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libion.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libutilscallstack.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libz.so,VNDK-SP,
/vendor/${LIB}/hidl.tests.vendor@1.0.so,VND-ONLY,
/vendor/${LIB}/hidl.tests.vendor@1.1.so,VND-ONLY,
/vendor/${LIB}/libavservices_minijail_vendor.so,VND-ONLY,Framework module should link libavservices_minijail.so
/vendor/${LIB}/libcld80211.so,VND-ONLY,
/vendor/${LIB}/libeffects.so,VND-ONLY,
/vendor/${LIB}/libhwc2on1adapter.so,VND-ONLY,
/vendor/${LIB}/libnbaio_mono.so,VND-ONLY,
/vendor/${LIB}/libreference-ril.so,VND-ONLY,
/vendor/${LIB}/libril.so,VND-ONLY,
/vendor/${LIB}/librilutils.so,VND-ONLY,
/vendor/${LIB}/libtinycompress.so,VND-ONLY,
/vendor/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libaudiopreprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libbundlewrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libdownmix.so,VND-ONLY,
/vendor/${LIB}/soundfx/libeffectproxy.so,VND-ONLY,
/vendor/${LIB}/soundfx/libldnhncr.so,VND-ONLY,
/vendor/${LIB}/soundfx/libreverbwrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libvisualizer.so,VND-ONLY,
[regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$,SP-HAL,
[regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$,SP-HAL,
[regex]^.*/gralloc\..*\.so$,SP-HAL,
[regex]^/vendor/.*/libEGL_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLES_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv1_CM_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv2_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv3_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libPVRRS\.so$,SP-HAL,
[regex]^/vendor/.*/libRSDriver.*\.so$,SP-HAL,
[regex]^/vendor/.*/vulkan.*\.so$,SP-HAL,
1 Path Tag Comments
2 /apex/com.android.runtime/${LIB}/bionic/libc.so LL-NDK
3 /apex/com.android.runtime/${LIB}/bionic/libdl.so LL-NDK
4 /apex/com.android.runtime/${LIB}/bionic/libm.so LL-NDK
5 /system/${LIB}/android.frameworks.displayservice@1.0.so VNDK
6 /system/${LIB}/android.frameworks.schedulerservice@1.0.so VNDK
7 /system/${LIB}/android.frameworks.sensorservice@1.0.so VNDK
8 /system/${LIB}/android.frameworks.vr.composer@1.0.so VNDK
9 /system/${LIB}/android.hardware.audio.common-util.so VNDK
10 /system/${LIB}/android.hardware.audio.common@2.0-util.so VNDK
11 /system/${LIB}/android.hardware.audio.common@2.0.so VNDK
12 /system/${LIB}/android.hardware.audio.common@4.0-util.so VNDK
13 /system/${LIB}/android.hardware.audio.common@4.0.so VNDK
14 /system/${LIB}/android.hardware.audio.effect@2.0.so VNDK
15 /system/${LIB}/android.hardware.audio.effect@4.0.so VNDK
16 /system/${LIB}/android.hardware.audio@2.0.so VNDK
17 /system/${LIB}/android.hardware.audio@4.0.so VNDK
18 /system/${LIB}/android.hardware.authsecret@1.0.so VNDK
19 /system/${LIB}/android.hardware.automotive.audiocontrol@1.0.so VNDK
20 /system/${LIB}/android.hardware.automotive.evs@1.0.so VNDK
21 /system/${LIB}/android.hardware.automotive.vehicle@2.0.so VNDK
22 /system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so VNDK
23 /system/${LIB}/android.hardware.bluetooth.a2dp@1.0.so VNDK
24 /system/${LIB}/android.hardware.bluetooth@1.0.so VNDK
25 /system/${LIB}/android.hardware.boot@1.0.so VNDK
26 /system/${LIB}/android.hardware.broadcastradio@1.0.so VNDK
27 /system/${LIB}/android.hardware.broadcastradio@1.1.so VNDK
28 /system/${LIB}/android.hardware.broadcastradio@2.0.so VNDK
29 /system/${LIB}/android.hardware.camera.common@1.0.so VNDK
30 /system/${LIB}/android.hardware.camera.device@1.0.so VNDK
31 /system/${LIB}/android.hardware.camera.device@3.2.so VNDK
32 /system/${LIB}/android.hardware.camera.device@3.3.so VNDK
33 /system/${LIB}/android.hardware.camera.device@3.4.so VNDK
34 /system/${LIB}/android.hardware.camera.metadata@3.2.so VNDK
35 /system/${LIB}/android.hardware.camera.metadata@3.3.so VNDK
36 /system/${LIB}/android.hardware.camera.provider@2.4.so VNDK
37 /system/${LIB}/android.hardware.cas.native@1.0.so VNDK
38 /system/${LIB}/android.hardware.cas@1.0.so VNDK
39 /system/${LIB}/android.hardware.configstore-utils.so VNDK
40 /system/${LIB}/android.hardware.configstore@1.0.so VNDK
41 /system/${LIB}/android.hardware.configstore@1.1.so VNDK
42 /system/${LIB}/android.hardware.confirmationui-support-lib.so VNDK
43 /system/${LIB}/android.hardware.confirmationui@1.0.so VNDK
44 /system/${LIB}/android.hardware.contexthub@1.0.so VNDK
45 /system/${LIB}/android.hardware.drm@1.0.so VNDK
46 /system/${LIB}/android.hardware.drm@1.1.so VNDK
47 /system/${LIB}/android.hardware.dumpstate@1.0.so VNDK
48 /system/${LIB}/android.hardware.gatekeeper@1.0.so VNDK
49 /system/${LIB}/android.hardware.gnss@1.0.so VNDK
50 /system/${LIB}/android.hardware.gnss@1.1.so VNDK
51 /system/${LIB}/android.hardware.graphics.allocator@2.0.so VNDK
52 /system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so VNDK
53 /system/${LIB}/android.hardware.graphics.common@1.0.so VNDK-SP
54 /system/${LIB}/android.hardware.graphics.common@1.1.so VNDK-SP
55 /system/${LIB}/android.hardware.graphics.composer@2.1.so VNDK
56 /system/${LIB}/android.hardware.graphics.composer@2.2.so VNDK
57 /system/${LIB}/android.hardware.graphics.mapper@2.0.so VNDK-SP
58 /system/${LIB}/android.hardware.graphics.mapper@2.1.so VNDK-SP
59 /system/${LIB}/android.hardware.health@1.0.so VNDK
60 /system/${LIB}/android.hardware.health@2.0.so VNDK
61 /system/${LIB}/android.hardware.ir@1.0.so VNDK
62 /system/${LIB}/android.hardware.keymaster@3.0.so VNDK
63 /system/${LIB}/android.hardware.keymaster@4.0.so VNDK
64 /system/${LIB}/android.hardware.light@2.0.so VNDK
65 /system/${LIB}/android.hardware.media.bufferpool@1.0.so VNDK
66 /system/${LIB}/android.hardware.media.omx@1.0.so VNDK
67 /system/${LIB}/android.hardware.media@1.0.so VNDK
68 /system/${LIB}/android.hardware.memtrack@1.0.so VNDK
69 /system/${LIB}/android.hardware.neuralnetworks@1.0.so VNDK
70 /system/${LIB}/android.hardware.neuralnetworks@1.1.so VNDK
71 /system/${LIB}/android.hardware.nfc@1.0.so VNDK
72 /system/${LIB}/android.hardware.nfc@1.1.so VNDK
73 /system/${LIB}/android.hardware.oemlock@1.0.so VNDK
74 /system/${LIB}/android.hardware.power@1.0.so VNDK
75 /system/${LIB}/android.hardware.power@1.1.so VNDK
76 /system/${LIB}/android.hardware.power@1.2.so VNDK
77 /system/${LIB}/android.hardware.radio.config@1.0.so VNDK
78 /system/${LIB}/android.hardware.radio.deprecated@1.0.so VNDK
79 /system/${LIB}/android.hardware.radio@1.0.so VNDK
80 /system/${LIB}/android.hardware.radio@1.1.so VNDK
81 /system/${LIB}/android.hardware.radio@1.2.so VNDK
82 /system/${LIB}/android.hardware.renderscript@1.0.so VNDK-SP
83 /system/${LIB}/android.hardware.secure_element@1.0.so VNDK
84 /system/${LIB}/android.hardware.sensors@1.0.so VNDK
85 /system/${LIB}/android.hardware.soundtrigger@2.0-core.so VNDK
86 /system/${LIB}/android.hardware.soundtrigger@2.0.so VNDK
87 /system/${LIB}/android.hardware.soundtrigger@2.1.so VNDK
88 /system/${LIB}/android.hardware.tetheroffload.config@1.0.so VNDK
89 /system/${LIB}/android.hardware.tetheroffload.control@1.0.so VNDK
90 /system/${LIB}/android.hardware.thermal@1.0.so VNDK
91 /system/${LIB}/android.hardware.thermal@1.1.so VNDK
92 /system/${LIB}/android.hardware.tv.cec@1.0.so VNDK
93 /system/${LIB}/android.hardware.tv.input@1.0.so VNDK
94 /system/${LIB}/android.hardware.usb.gadget@1.0.so VNDK
95 /system/${LIB}/android.hardware.usb@1.0.so VNDK
96 /system/${LIB}/android.hardware.usb@1.1.so VNDK
97 /system/${LIB}/android.hardware.vibrator@1.0.so VNDK
98 /system/${LIB}/android.hardware.vibrator@1.1.so VNDK
99 /system/${LIB}/android.hardware.vibrator@1.2.so VNDK
100 /system/${LIB}/android.hardware.vr@1.0.so VNDK
101 /system/${LIB}/android.hardware.weaver@1.0.so VNDK
102 /system/${LIB}/android.hardware.wifi.hostapd@1.0.so VNDK
103 /system/${LIB}/android.hardware.wifi.offload@1.0.so VNDK
104 /system/${LIB}/android.hardware.wifi.supplicant@1.0.so VNDK
105 /system/${LIB}/android.hardware.wifi.supplicant@1.1.so VNDK
106 /system/${LIB}/android.hardware.wifi@1.0.so VNDK
107 /system/${LIB}/android.hardware.wifi@1.1.so VNDK
108 /system/${LIB}/android.hardware.wifi@1.2.so VNDK
109 /system/${LIB}/android.hidl.allocator@1.0.so VNDK
110 /system/${LIB}/android.hidl.memory.block@1.0.so VNDK
111 /system/${LIB}/android.hidl.memory.token@1.0.so VNDK-SP
112 /system/${LIB}/android.hidl.memory@1.0.so VNDK-SP
113 /system/${LIB}/android.hidl.token@1.0-utils.so VNDK
114 /system/${LIB}/android.hidl.token@1.0.so VNDK
115 /system/${LIB}/android.system.net.netd@1.0.so VNDK
116 /system/${LIB}/android.system.net.netd@1.1.so VNDK
117 /system/${LIB}/android.system.wifi.keystore@1.0.so VNDK
118 /system/${LIB}/drm/libfwdlockengine.so FWK-ONLY
119 /system/${LIB}/extractors/libaacextractor.so FWK-ONLY
120 /system/${LIB}/extractors/libamrextractor.so FWK-ONLY
121 /system/${LIB}/extractors/libflacextractor.so FWK-ONLY
122 /system/${LIB}/extractors/libmidiextractor.so FWK-ONLY
123 /system/${LIB}/extractors/libmkvextractor.so FWK-ONLY
124 /system/${LIB}/extractors/libmp3extractor.so FWK-ONLY
125 /system/${LIB}/extractors/libmp4extractor.so FWK-ONLY
126 /system/${LIB}/extractors/libmpeg2extractor.so FWK-ONLY
127 /system/${LIB}/extractors/liboggextractor.so FWK-ONLY
128 /system/${LIB}/extractors/libwavextractor.so FWK-ONLY
129 /system/${LIB}/hidl.tests.vendor@1.0.so FWK-ONLY
130 /system/${LIB}/hidl.tests.vendor@1.1.so FWK-ONLY
131 /system/${LIB}/hw/android.hidl.memory@1.0-impl.so VNDK-SP
132 /system/${LIB}/hw/audio.a2dp.default.so FWK-ONLY
133 /system/${LIB}/ld-android.so LL-NDK-Private
134 /system/${LIB}/libEGL.so LL-NDK
135 /system/${LIB}/libETC1.so FWK-ONLY
136 /system/${LIB}/libFFTEm.so FWK-ONLY
137 /system/${LIB}/libGLESv1_CM.so LL-NDK
138 /system/${LIB}/libGLESv2.so LL-NDK
139 /system/${LIB}/libGLESv3.so LL-NDK
140 /system/${LIB}/libLLVM_android.so FWK-ONLY
141 /system/${LIB}/libOpenMAXAL.so FWK-ONLY
142 /system/${LIB}/libOpenSLES.so FWK-ONLY
143 /system/${LIB}/libRS.so LL-NDK
144 /system/${LIB}/libRSCacheDir.so FWK-ONLY
145 /system/${LIB}/libRSCpuRef.so VNDK-SP
146 /system/${LIB}/libRSDriver.so VNDK-SP
147 /system/${LIB}/libRS_internal.so VNDK-SP
148 /system/${LIB}/libRScpp.so FWK-ONLY
149 /system/${LIB}/libWnnEngDic.so FWK-ONLY
150 /system/${LIB}/libWnnJpnDic.so FWK-ONLY
151 /system/${LIB}/libaaudio.so FWK-ONLY
152 /system/${LIB}/libaaudioservice.so FWK-ONLY
153 /system/${LIB}/libadbconnection.so FWK-ONLY
154 /system/${LIB}/libadbconnectiond.so FWK-ONLY
155 /system/${LIB}/libadf.so VNDK
156 /system/${LIB}/libandroid.so FWK-ONLY
157 /system/${LIB}/libandroid_net.so LL-NDK
158 /system/${LIB}/libandroid_runtime.so FWK-ONLY
159 /system/${LIB}/libandroid_servers.so FWK-ONLY
160 /system/${LIB}/libandroidfw.so FWK-ONLY
161 /system/${LIB}/libappfuse.so FWK-ONLY
162 /system/${LIB}/libart-compiler.so FWK-ONLY
163 /system/${LIB}/libart-dexlayout.so FWK-ONLY
164 /system/${LIB}/libart-disassembler.so FWK-ONLY
165 /system/${LIB}/libart.so FWK-ONLY
166 /system/${LIB}/libartd-compiler.so FWK-ONLY
167 /system/${LIB}/libartd-dexlayout.so FWK-ONLY
168 /system/${LIB}/libartd.so FWK-ONLY
169 /system/${LIB}/libasyncio.so FWK-ONLY
170 /system/${LIB}/libaudioclient.so FWK-ONLY
171 /system/${LIB}/libaudioeffect_jni.so FWK-ONLY
172 /system/${LIB}/libaudioflinger.so FWK-ONLY
173 /system/${LIB}/libaudiohal.so FWK-ONLY
174 /system/${LIB}/libaudiohal@2.0.so FWK-ONLY
175 /system/${LIB}/libaudiohal_deathhandler.so FWK-ONLY
176 /system/${LIB}/libaudiomanager.so FWK-ONLY
177 /system/${LIB}/libaudiopolicyenginedefault.so FWK-ONLY
178 /system/${LIB}/libaudiopolicymanager.so FWK-ONLY
179 /system/${LIB}/libaudiopolicymanagerdefault.so FWK-ONLY
180 /system/${LIB}/libaudiopolicyservice.so FWK-ONLY
181 /system/${LIB}/libaudioprocessing.so FWK-ONLY
182 /system/${LIB}/libaudioroute.so VNDK
183 /system/${LIB}/libaudiospdif.so FWK-ONLY
184 /system/${LIB}/libaudioutils.so VNDK
185 /system/${LIB}/libavservices_minijail.so FWK-ONLY Vendor module should link libavservices_minijail_vendor.so
186 /system/${LIB}/libbacktrace.so VNDK-SP-Private
187 /system/${LIB}/libbase.so VNDK-SP
188 /system/${LIB}/libbcc.so FWK-ONLY
189 /system/${LIB}/libbcinfo.so VNDK-SP
190 /system/${LIB}/libbinder.so VNDK
191 /system/${LIB}/libbinderwrapper.so FWK-ONLY
192 /system/${LIB}/libblas.so VNDK-SP-Private
193 /system/${LIB}/libbluetooth-binder.so FWK-ONLY
194 /system/${LIB}/libbluetooth.so FWK-ONLY
195 /system/${LIB}/libbluetooth_jni.so FWK-ONLY
196 /system/${LIB}/libbootanimation.so FWK-ONLY
197 /system/${LIB}/libbpf.so FWK-ONLY
198 /system/${LIB}/libbrillo-binder.so FWK-ONLY
199 /system/${LIB}/libbrillo-stream.so FWK-ONLY
200 /system/${LIB}/libbrillo.so FWK-ONLY
201 /system/${LIB}/libbrotli.so FWK-ONLY
202 /system/${LIB}/libbufferhub.so FWK-ONLY
203 /system/${LIB}/libbufferhubqueue.so FWK-ONLY
204 /system/${LIB}/libbz.so FWK-ONLY
205 /system/${LIB}/libc++.so VNDK-SP
206 /system/${LIB}/libc.so LL-NDK
207 /system/${LIB}/libc_malloc_debug.so LL-NDK-Private
208 /system/${LIB}/libcamera2ndk.so FWK-ONLY
209 /system/${LIB}/libcamera_client.so FWK-ONLY
210 /system/${LIB}/libcamera_metadata.so VNDK
211 /system/${LIB}/libcameraservice.so FWK-ONLY
212 /system/${LIB}/libcap.so VNDK
213 /system/${LIB}/libchrome.so FWK-ONLY
214 /system/${LIB}/libclang_rt.asan-aarch64-android.so LL-NDK
215 /system/${LIB}/libclang_rt.asan-arm-android.so LL-NDK
216 /system/${LIB}/libclang_rt.asan-i686-android.so LL-NDK
217 /system/${LIB}/libclang_rt.asan-mips-android.so LL-NDK
218 /system/${LIB}/libclang_rt.asan-mips64-android.so LL-NDK
219 /system/${LIB}/libclang_rt.asan-x86_64-android.so LL-NDK
220 /system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
221 /system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so VNDK
222 /system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so VNDK
223 /system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so VNDK
224 /system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
225 /system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
226 /system/${LIB}/libcn-cbor.so VNDK
227 /system/${LIB}/libcompiler_rt.so VNDK-SP-Private
228 /system/${LIB}/libcrypto.so VNDK
229 /system/${LIB}/libcrypto_utils.so VNDK
230 /system/${LIB}/libcups.so FWK-ONLY
231 /system/${LIB}/libcurl.so VNDK
232 /system/${LIB}/libcutils.so VNDK-SP
233 /system/${LIB}/libdebuggerd_client.so FWK-ONLY
234 /system/${LIB}/libdefcontainer_jni.so FWK-ONLY
235 /system/${LIB}/libdexfile.so VNDK-SP-Private Workaround for degenerated VDNK
236 /system/${LIB}/libdiskconfig.so VNDK
237 /system/${LIB}/libdisplayservicehidl.so FWK-ONLY
238 /system/${LIB}/libdl.so LL-NDK
239 /system/${LIB}/libdng_sdk.so FWK-ONLY
240 /system/${LIB}/libdrmframework.so FWK-ONLY
241 /system/${LIB}/libdrmframework_jni.so FWK-ONLY
242 /system/${LIB}/libdt_fd_forward.so FWK-ONLY
243 /system/${LIB}/libdt_socket.so FWK-ONLY
244 /system/${LIB}/libdumpstateaidl.so FWK-ONLY
245 /system/${LIB}/libdumpstateutil.so VNDK
246 /system/${LIB}/libeffectsconfig.so FWK-ONLY
247 /system/${LIB}/libevent.so VNDK
248 /system/${LIB}/libexif.so VNDK
249 /system/${LIB}/libexpat.so VNDK
250 /system/${LIB}/libext2_blkid.so FWK-ONLY
251 /system/${LIB}/libext2_com_err.so FWK-ONLY
252 /system/${LIB}/libext2_e2p.so FWK-ONLY
253 /system/${LIB}/libext2_misc.so FWK-ONLY
254 /system/${LIB}/libext2_quota.so FWK-ONLY
255 /system/${LIB}/libext2_uuid.so FWK-ONLY
256 /system/${LIB}/libext2fs.so FWK-ONLY
257 /system/${LIB}/libext4_utils.so FWK-ONLY
258 /system/${LIB}/libf2fs_sparseblock.so FWK-ONLY
259 /system/${LIB}/libfilterfw.so FWK-ONLY
260 /system/${LIB}/libfilterpack_imageproc.so FWK-ONLY
261 /system/${LIB}/libfmq.so VNDK
262 /system/${LIB}/libframesequence.so FWK-ONLY
263 /system/${LIB}/libft2.so FWK-ONLY-RS
264 /system/${LIB}/libgatekeeper.so VNDK
265 /system/${LIB}/libgiftranscode.so FWK-ONLY
266 /system/${LIB}/libgraphicsenv.so FWK-ONLY
267 /system/${LIB}/libgtest_prod.so FWK-ONLY
268 /system/${LIB}/libgui.so VNDK-Private
269 /system/${LIB}/libhardware.so VNDK-SP
270 /system/${LIB}/libhardware_legacy.so VNDK
271 /system/${LIB}/libharfbuzz_ng.so FWK-ONLY
272 /system/${LIB}/libheif.so FWK-ONLY
273 /system/${LIB}/libhidcommand_jni.so FWK-ONLY
274 /system/${LIB}/libhidl-gen-hash.so FWK-ONLY
275 /system/${LIB}/libhidl-gen-utils.so FWK-ONLY
276 /system/${LIB}/libhidlallocatorutils.so VNDK
277 /system/${LIB}/libhidlbase.so VNDK-SP
278 /system/${LIB}/libhidlcache.so VNDK
279 /system/${LIB}/libhidlmemory.so VNDK-SP
280 /system/${LIB}/libhidltransport.so VNDK-SP
281 /system/${LIB}/libhwbinder.so VNDK-SP
282 /system/${LIB}/libhwbinder_noltopgo.so VNDK-SP
283 /system/${LIB}/libhwui.so FWK-ONLY
284 /system/${LIB}/libicui18n.so FWK-ONLY
285 /system/${LIB}/libicuuc.so FWK-ONLY
286 /system/${LIB}/libimg_utils.so FWK-ONLY
287 /system/${LIB}/libincident.so FWK-ONLY
288 /system/${LIB}/libinput.so FWK-ONLY
289 /system/${LIB}/libinputflinger.so FWK-ONLY
290 /system/${LIB}/libinputservice.so FWK-ONLY
291 /system/${LIB}/libion.so VNDK-SP
292 /system/${LIB}/libiperf.so FWK-ONLY
293 /system/${LIB}/libiprouteutil.so FWK-ONLY
294 /system/${LIB}/libjavacore.so FWK-ONLY
295 /system/${LIB}/libjavacrypto.so FWK-ONLY
296 /system/${LIB}/libjdwp.so FWK-ONLY
297 /system/${LIB}/libjni_eglfence.so FWK-ONLY
298 /system/${LIB}/libjni_filtershow_filters.so FWK-ONLY
299 /system/${LIB}/libjni_jpegstream.so FWK-ONLY
300 /system/${LIB}/libjni_jpegutil.so FWK-ONLY
301 /system/${LIB}/libjni_latinime.so FWK-ONLY
302 /system/${LIB}/libjni_pacprocessor.so FWK-ONLY
303 /system/${LIB}/libjni_tinyplanet.so FWK-ONLY
304 /system/${LIB}/libjnigraphics.so FWK-ONLY
305 /system/${LIB}/libjpeg.so VNDK
306 /system/${LIB}/libkeymaster4support.so FWK-ONLY
307 /system/${LIB}/libkeymaster_messages.so VNDK
308 /system/${LIB}/libkeymaster_portable.so VNDK
309 /system/${LIB}/libkeystore-engine.so FWK-ONLY
310 /system/${LIB}/libkeystore_aidl.so FWK-ONLY
311 /system/${LIB}/libkeystore_binder.so FWK-ONLY
312 /system/${LIB}/libkeystore_parcelables.so FWK-ONLY
313 /system/${LIB}/libkeyutils.so FWK-ONLY
314 /system/${LIB}/liblayers_proto.so FWK-ONLY
315 /system/${LIB}/libldacBT_abr.so VNDK
316 /system/${LIB}/libldacBT_enc.so VNDK
317 /system/${LIB}/liblog.so LL-NDK
318 /system/${LIB}/liblogcat.so FWK-ONLY
319 /system/${LIB}/liblogwrap.so FWK-ONLY
320 /system/${LIB}/liblshal.so FWK-ONLY
321 /system/${LIB}/liblz4.so VNDK
322 /system/${LIB}/liblzma.so VNDK-SP
323 /system/${LIB}/libm.so LL-NDK
324 /system/${LIB}/libmdnssd.so FWK-ONLY
325 /system/${LIB}/libmedia.so FWK-ONLY
326 /system/${LIB}/libmedia_helper.so VNDK
327 /system/${LIB}/libmedia_jni.so FWK-ONLY
328 /system/${LIB}/libmedia_omx.so VNDK
329 /system/${LIB}/libmediadrm.so FWK-ONLY
330 /system/${LIB}/libmediaextractor.so FWK-ONLY
331 /system/${LIB}/libmediaextractorservice.so FWK-ONLY
332 /system/${LIB}/libmedialogservice.so FWK-ONLY
333 /system/${LIB}/libmediametrics.so FWK-ONLY
334 /system/${LIB}/libmediandk.so FWK-ONLY-RS
335 /system/${LIB}/libmediaplayerservice.so FWK-ONLY
336 /system/${LIB}/libmediautils.so FWK-ONLY
337 /system/${LIB}/libmemtrack.so VNDK
338 /system/${LIB}/libmemunreachable.so FWK-ONLY
339 /system/${LIB}/libmetricslogger.so FWK-ONLY
340 /system/${LIB}/libmidi.so FWK-ONLY
341 /system/${LIB}/libminijail.so VNDK
342 /system/${LIB}/libminikin.so FWK-ONLY
343 /system/${LIB}/libmkbootimg_abi_check.so VNDK
344 /system/${LIB}/libmtp.so FWK-ONLY
345 /system/${LIB}/libnativebridge.so FWK-ONLY
346 /system/${LIB}/libnativehelper.so FWK-ONLY
347 /system/${LIB}/libnativeloader.so FWK-ONLY
348 /system/${LIB}/libnativewindow.so LL-NDK
349 /system/${LIB}/libnbaio.so FWK-ONLY Vendor module should link libnbaio_mono.so
350 /system/${LIB}/libnblog.so FWK-ONLY
351 /system/${LIB}/libnetd_client.so LL-NDK-Private
352 /system/${LIB}/libnetdaidl.so FWK-ONLY
353 /system/${LIB}/libnetdutils.so FWK-ONLY
354 /system/${LIB}/libnetlink.so FWK-ONLY
355 /system/${LIB}/libnetutils.so VNDK
356 /system/${LIB}/libneuralnetworks.so LL-NDK
357 /system/${LIB}/libnfc-nci.so FWK-ONLY
358 /system/${LIB}/libnfc_nci_jni.so FWK-ONLY
359 /system/${LIB}/libnl.so VNDK
360 /system/${LIB}/libnpt.so FWK-ONLY
361 /system/${LIB}/libopenjdk.so FWK-ONLY
362 /system/${LIB}/libopenjdkd.so FWK-ONLY
363 /system/${LIB}/libopenjdkjvm.so FWK-ONLY
364 /system/${LIB}/libopenjdkjvmd.so FWK-ONLY
365 /system/${LIB}/libopenjdkjvmti.so FWK-ONLY
366 /system/${LIB}/libopenjdkjvmtid.so FWK-ONLY
367 /system/${LIB}/libopus.so VNDK
368 /system/${LIB}/libpac.so FWK-ONLY
369 /system/${LIB}/libpackagelistparser.so FWK-ONLY
370 /system/${LIB}/libpagemap.so VNDK
371 /system/${LIB}/libpcap.so FWK-ONLY
372 /system/${LIB}/libpcre2.so VNDK
373 /system/${LIB}/libpcrecpp.so FWK-ONLY
374 /system/${LIB}/libpdfium.so FWK-ONLY
375 /system/${LIB}/libpdx_default_transport.so FWK-ONLY
376 /system/${LIB}/libpiex.so VNDK
377 /system/${LIB}/libpixelflinger.so FWK-ONLY
378 /system/${LIB}/libpng.so VNDK
379 /system/${LIB}/libpower.so VNDK
380 /system/${LIB}/libpowermanager.so FWK-ONLY
381 /system/${LIB}/libprintspooler_jni.so FWK-ONLY
382 /system/${LIB}/libprocessgroup.so FWK-ONLY
383 /system/${LIB}/libprocinfo.so VNDK
384 /system/${LIB}/libprotobuf-cpp-full.so VNDK
385 /system/${LIB}/libprotobuf-cpp-lite.so VNDK
386 /system/${LIB}/libprotoutil.so FWK-ONLY
387 /system/${LIB}/libpuresoftkeymasterdevice.so VNDK
388 /system/${LIB}/libqtaguid.so FWK-ONLY
389 /system/${LIB}/libradio_metadata.so VNDK
390 /system/${LIB}/libresourcemanagerservice.so FWK-ONLY
391 /system/${LIB}/librs_jni.so FWK-ONLY
392 /system/${LIB}/librtp_jni.so FWK-ONLY
393 /system/${LIB}/libschedulerservicehidl.so FWK-ONLY
394 /system/${LIB}/libselinux.so VNDK
395 /system/${LIB}/libsensor.so FWK-ONLY
396 /system/${LIB}/libsensorservice.so FWK-ONLY
397 /system/${LIB}/libsensorservicehidl.so FWK-ONLY
398 /system/${LIB}/libsepol.so FWK-ONLY
399 /system/${LIB}/libservices.so FWK-ONLY
400 /system/${LIB}/libserviceutility.so FWK-ONLY
401 /system/${LIB}/libsigchain.so FWK-ONLY
402 /system/${LIB}/libsoftkeymasterdevice.so VNDK
403 /system/${LIB}/libsonic.so FWK-ONLY
404 /system/${LIB}/libsonivox.so FWK-ONLY
405 /system/${LIB}/libsoundpool.so FWK-ONLY
406 /system/${LIB}/libsoundtrigger.so FWK-ONLY
407 /system/${LIB}/libsoundtriggerservice.so FWK-ONLY
408 /system/${LIB}/libsparse.so FWK-ONLY
409 /system/${LIB}/libspeexresampler.so VNDK
410 /system/${LIB}/libsqlite.so VNDK
411 /system/${LIB}/libssl.so VNDK
412 /system/${LIB}/libstagefright.so FWK-ONLY
413 /system/${LIB}/libstagefright_amrnb_common.so VNDK
414 /system/${LIB}/libstagefright_bufferqueue_helper.so VNDK
415 /system/${LIB}/libstagefright_enc_common.so VNDK
416 /system/${LIB}/libstagefright_flacdec.so VNDK
417 /system/${LIB}/libstagefright_foundation.so VNDK
418 /system/${LIB}/libstagefright_http_support.so FWK-ONLY
419 /system/${LIB}/libstagefright_httplive.so FWK-ONLY
420 /system/${LIB}/libstagefright_omx.so VNDK
421 /system/${LIB}/libstagefright_omx_utils.so VNDK
422 /system/${LIB}/libstagefright_soft_aacdec.so VNDK
423 /system/${LIB}/libstagefright_soft_aacenc.so VNDK
424 /system/${LIB}/libstagefright_soft_amrdec.so VNDK
425 /system/${LIB}/libstagefright_soft_amrnbenc.so VNDK
426 /system/${LIB}/libstagefright_soft_amrwbenc.so VNDK
427 /system/${LIB}/libstagefright_soft_avcdec.so VNDK
428 /system/${LIB}/libstagefright_soft_avcenc.so VNDK
429 /system/${LIB}/libstagefright_soft_flacdec.so VNDK
430 /system/${LIB}/libstagefright_soft_flacenc.so VNDK
431 /system/${LIB}/libstagefright_soft_g711dec.so VNDK
432 /system/${LIB}/libstagefright_soft_gsmdec.so VNDK
433 /system/${LIB}/libstagefright_soft_hevcdec.so VNDK
434 /system/${LIB}/libstagefright_soft_mp3dec.so VNDK
435 /system/${LIB}/libstagefright_soft_mpeg2dec.so VNDK
436 /system/${LIB}/libstagefright_soft_mpeg4dec.so VNDK
437 /system/${LIB}/libstagefright_soft_mpeg4enc.so VNDK
438 /system/${LIB}/libstagefright_soft_opusdec.so VNDK
439 /system/${LIB}/libstagefright_soft_rawdec.so VNDK
440 /system/${LIB}/libstagefright_soft_vorbisdec.so VNDK
441 /system/${LIB}/libstagefright_soft_vpxdec.so VNDK
442 /system/${LIB}/libstagefright_soft_vpxenc.so VNDK
443 /system/${LIB}/libstagefright_xmlparser.so VNDK
444 /system/${LIB}/libstatslog.so FWK-ONLY
445 /system/${LIB}/libstdc++.so FWK-ONLY
446 /system/${LIB}/libsurfaceflinger.so FWK-ONLY
447 /system/${LIB}/libsurfaceflinger_ddmconnection.so FWK-ONLY
448 /system/${LIB}/libsuspend.so VNDK
449 /system/${LIB}/libsync.so LL-NDK
450 /system/${LIB}/libsysutils.so VNDK
451 /system/${LIB}/libtextclassifier.so FWK-ONLY
452 /system/${LIB}/libtextclassifier_hash.so LL-NDK-Private
453 /system/${LIB}/libthermalcallback.so FWK-ONLY
454 /system/${LIB}/libthermalservice.so FWK-ONLY
455 /system/${LIB}/libtinyalsa.so VNDK
456 /system/${LIB}/libtinyxml2.so VNDK
457 /system/${LIB}/libtombstoned_client.so FWK-ONLY
458 /system/${LIB}/libui.so VNDK
459 /system/${LIB}/libunwind.so VNDK-SP-Private
460 /system/${LIB}/libunwindstack.so VNDK-SP
461 /system/${LIB}/libusbhost.so VNDK
462 /system/${LIB}/libutils.so VNDK-SP
463 /system/${LIB}/libutilscallstack.so VNDK-SP
464 /system/${LIB}/libvintf.so FWK-ONLY
465 /system/${LIB}/libvixl-arm.so VNDK
466 /system/${LIB}/libvixl-arm64.so VNDK
467 /system/${LIB}/libvixld-arm.so FWK-ONLY
468 /system/${LIB}/libvixld-arm64.so FWK-ONLY
469 /system/${LIB}/libvndksupport.so LL-NDK
470 /system/${LIB}/libvorbisidec.so VNDK
471 /system/${LIB}/libvulkan.so LL-NDK
472 /system/${LIB}/libwebviewchromium_loader.so FWK-ONLY
473 /system/${LIB}/libwebviewchromium_plat_support.so FWK-ONLY
474 /system/${LIB}/libwfds.so FWK-ONLY
475 /system/${LIB}/libwifi-service.so FWK-ONLY
476 /system/${LIB}/libwifi-system-iface.so VNDK
477 /system/${LIB}/libwifi-system.so FWK-ONLY
478 /system/${LIB}/libwifikeystorehal.so FWK-ONLY
479 /system/${LIB}/libwilhelm.so FWK-ONLY
480 /system/${LIB}/libwnndict.so FWK-ONLY
481 /system/${LIB}/libxml2.so VNDK
482 /system/${LIB}/libyuv.so VNDK
483 /system/${LIB}/libz.so VNDK-SP
484 /system/${LIB}/libziparchive.so VNDK
485 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so VNDK
486 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so VNDK
487 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so VNDK
488 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so VNDK
489 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common-util.so VNDK
490 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so VNDK
491 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so VNDK
492 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0-util.so VNDK
493 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0.so VNDK
494 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so VNDK
495 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@4.0.so VNDK
496 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so VNDK
497 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@4.0.so VNDK
498 /system/${LIB}/vndk${VNDK_VER}/android.hardware.authsecret@1.0.so VNDK
499 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.audiocontrol@1.0.so VNDK
500 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so VNDK
501 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so VNDK
502 /system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so VNDK
503 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth.a2dp@1.0.so VNDK
504 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so VNDK
505 /system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so VNDK
506 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so VNDK
507 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so VNDK
508 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@2.0.so VNDK
509 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so VNDK
510 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so VNDK
511 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so VNDK
512 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.3.so VNDK
513 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.4.so VNDK
514 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so VNDK
515 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.3.so VNDK
516 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so VNDK
517 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas.native@1.0.so VNDK
518 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.0.so VNDK
519 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so VNDK
520 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so VNDK
521 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.1.so VNDK
522 /system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui-support-lib.so VNDK
523 /system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui@1.0.so VNDK
524 /system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so VNDK
525 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so VNDK
526 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.1.so VNDK
527 /system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so VNDK
528 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so VNDK
529 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so VNDK
530 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.1.so VNDK
531 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.allocator@2.0.so VNDK
532 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so VNDK
533 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so VNDK
534 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.2.so VNDK
535 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so VNDK
536 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health@2.0.so VNDK
537 /system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so VNDK
538 /system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so VNDK
539 /system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@4.0.so VNDK
540 /system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so VNDK
541 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.bufferpool@1.0.so VNDK
542 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so VNDK
543 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so VNDK
544 /system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so VNDK
545 /system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.0.so VNDK
546 /system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.1.so VNDK
547 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so VNDK
548 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.1.so VNDK
549 /system/${LIB}/vndk${VNDK_VER}/android.hardware.oemlock@1.0.so VNDK
550 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so VNDK
551 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.1.so VNDK
552 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.2.so VNDK
553 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.0.so VNDK
554 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so VNDK
555 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so VNDK
556 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so VNDK
557 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.2.so VNDK
558 /system/${LIB}/vndk${VNDK_VER}/android.hardware.secure_element@1.0.so VNDK
559 /system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so VNDK
560 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0-core.so VNDK
561 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so VNDK
562 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.1.so VNDK
563 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so VNDK
564 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so VNDK
565 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so VNDK
566 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.1.so VNDK
567 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so VNDK
568 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so VNDK
569 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb.gadget@1.0.so VNDK
570 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so VNDK
571 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.1.so VNDK
572 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so VNDK
573 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.1.so VNDK
574 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.2.so VNDK
575 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so VNDK
576 /system/${LIB}/vndk${VNDK_VER}/android.hardware.weaver@1.0.so VNDK
577 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.hostapd@1.0.so VNDK
578 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.offload@1.0.so VNDK
579 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so VNDK
580 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.1.so VNDK
581 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so VNDK
582 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.1.so VNDK
583 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.2.so VNDK
584 /system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so VNDK
585 /system/${LIB}/vndk${VNDK_VER}/android.hidl.memory.block@1.0.so VNDK
586 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so VNDK
587 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so VNDK
588 /system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.0.so VNDK
589 /system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.1.so VNDK
590 /system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so VNDK
591 /system/${LIB}/vndk${VNDK_VER}/libadf.so VNDK
592 /system/${LIB}/vndk${VNDK_VER}/libaudioroute.so VNDK
593 /system/${LIB}/vndk${VNDK_VER}/libaudioutils.so VNDK
594 /system/${LIB}/vndk${VNDK_VER}/libbinder.so VNDK
595 /system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so VNDK
596 /system/${LIB}/vndk${VNDK_VER}/libcap.so VNDK
597 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
598 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so VNDK
599 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so VNDK
600 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips-android.so VNDK
601 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
602 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
603 /system/${LIB}/vndk${VNDK_VER}/libcn-cbor.so VNDK
604 /system/${LIB}/vndk${VNDK_VER}/libcrypto.so VNDK
605 /system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so VNDK
606 /system/${LIB}/vndk${VNDK_VER}/libcurl.so VNDK
607 /system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so VNDK
608 /system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so VNDK
609 /system/${LIB}/vndk${VNDK_VER}/libevent.so VNDK
610 /system/${LIB}/vndk${VNDK_VER}/libexif.so VNDK
611 /system/${LIB}/vndk${VNDK_VER}/libexpat.so VNDK
612 /system/${LIB}/vndk${VNDK_VER}/libfmq.so VNDK
613 /system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so VNDK
614 /system/${LIB}/vndk${VNDK_VER}/libgui.so VNDK-Private
615 /system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so VNDK
616 /system/${LIB}/vndk${VNDK_VER}/libhidlallocatorutils.so VNDK
617 /system/${LIB}/vndk${VNDK_VER}/libhidlcache.so VNDK
618 /system/${LIB}/vndk${VNDK_VER}/libjpeg.so VNDK
619 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so VNDK
620 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_portable.so VNDK
621 /system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so VNDK
622 /system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so VNDK
623 /system/${LIB}/vndk${VNDK_VER}/liblz4.so VNDK
624 /system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so VNDK
625 /system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so VNDK
626 /system/${LIB}/vndk${VNDK_VER}/libmemtrack.so VNDK
627 /system/${LIB}/vndk${VNDK_VER}/libminijail.so VNDK
628 /system/${LIB}/vndk${VNDK_VER}/libmkbootimg_abi_check.so VNDK
629 /system/${LIB}/vndk${VNDK_VER}/libnetutils.so VNDK
630 /system/${LIB}/vndk${VNDK_VER}/libnl.so VNDK
631 /system/${LIB}/vndk${VNDK_VER}/libopus.so VNDK
632 /system/${LIB}/vndk${VNDK_VER}/libpagemap.so VNDK
633 /system/${LIB}/vndk${VNDK_VER}/libpcre2.so VNDK
634 /system/${LIB}/vndk${VNDK_VER}/libpiex.so VNDK
635 /system/${LIB}/vndk${VNDK_VER}/libpng.so VNDK
636 /system/${LIB}/vndk${VNDK_VER}/libpower.so VNDK
637 /system/${LIB}/vndk${VNDK_VER}/libprocinfo.so VNDK
638 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so VNDK
639 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so VNDK
640 /system/${LIB}/vndk${VNDK_VER}/libpuresoftkeymasterdevice.so VNDK
641 /system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so VNDK
642 /system/${LIB}/vndk${VNDK_VER}/libselinux.so VNDK
643 /system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so VNDK
644 /system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so VNDK
645 /system/${LIB}/vndk${VNDK_VER}/libsqlite.so VNDK
646 /system/${LIB}/vndk${VNDK_VER}/libssl.so VNDK
647 /system/${LIB}/vndk${VNDK_VER}/libstagefright_amrnb_common.so VNDK
648 /system/${LIB}/vndk${VNDK_VER}/libstagefright_bufferqueue_helper.so VNDK
649 /system/${LIB}/vndk${VNDK_VER}/libstagefright_enc_common.so VNDK
650 /system/${LIB}/vndk${VNDK_VER}/libstagefright_flacdec.so VNDK
651 /system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so VNDK
652 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so VNDK
653 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx_utils.so VNDK
654 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacdec.so VNDK
655 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_aacenc.so VNDK
656 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrdec.so VNDK
657 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrnbenc.so VNDK
658 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_amrwbenc.so VNDK
659 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcdec.so VNDK
660 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_avcenc.so VNDK
661 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacdec.so VNDK
662 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_flacenc.so VNDK
663 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_g711dec.so VNDK
664 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_gsmdec.so VNDK
665 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_hevcdec.so VNDK
666 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mp3dec.so VNDK
667 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg2dec.so VNDK
668 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4dec.so VNDK
669 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_mpeg4enc.so VNDK
670 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_opusdec.so VNDK
671 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_rawdec.so VNDK
672 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vorbisdec.so VNDK
673 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxdec.so VNDK
674 /system/${LIB}/vndk${VNDK_VER}/libstagefright_soft_vpxenc.so VNDK
675 /system/${LIB}/vndk${VNDK_VER}/libstagefright_xmlparser.so VNDK
676 /system/${LIB}/vndk${VNDK_VER}/libsuspend.so VNDK
677 /system/${LIB}/vndk${VNDK_VER}/libsysutils.so VNDK
678 /system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so VNDK
679 /system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so VNDK
680 /system/${LIB}/vndk${VNDK_VER}/libui.so VNDK
681 /system/${LIB}/vndk${VNDK_VER}/libusbhost.so VNDK
682 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so VNDK
683 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so VNDK
684 /system/${LIB}/vndk${VNDK_VER}/libvorbisidec.so VNDK
685 /system/${LIB}/vndk${VNDK_VER}/libwifi-system-iface.so VNDK
686 /system/${LIB}/vndk${VNDK_VER}/libxml2.so VNDK
687 /system/${LIB}/vndk${VNDK_VER}/libyuv.so VNDK
688 /system/${LIB}/vndk${VNDK_VER}/libziparchive.so VNDK
689 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so VNDK-SP
690 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.1.so VNDK-SP
691 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so VNDK-SP
692 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.1.so VNDK-SP
693 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so VNDK-SP
694 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory.token@1.0.so VNDK-SP
695 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so VNDK-SP
696 /system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so VNDK-SP
697 /system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so VNDK-SP
698 /system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so VNDK-SP
699 /system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so VNDK-SP
700 /system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so VNDK-SP-Private
701 /system/${LIB}/vndk-sp${VNDK_VER}/libbase.so VNDK-SP
702 /system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so VNDK-SP
703 /system/${LIB}/vndk-sp${VNDK_VER}/libblas.so VNDK-SP-Private
704 /system/${LIB}/vndk-sp${VNDK_VER}/libc++.so VNDK-SP
705 /system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so VNDK-SP-Private
706 /system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so VNDK-SP
707 /system/${LIB}/vndk-sp${VNDK_VER}/libdexfile.so VNDK-SP-Private Workaround for degenerated VDNK
708 /system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so VNDK-SP
709 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so VNDK-SP
710 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so VNDK-SP
711 /system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so VNDK-SP
712 /system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so VNDK-SP
713 /system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder_noltopgo.so VNDK-SP
714 /system/${LIB}/vndk-sp${VNDK_VER}/libion.so VNDK-SP
715 /system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so VNDK-SP
716 /system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so VNDK-SP-Private
717 /system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so VNDK-SP
718 /system/${LIB}/vndk-sp${VNDK_VER}/libutils.so VNDK-SP
719 /system/${LIB}/vndk-sp${VNDK_VER}/libutilscallstack.so VNDK-SP
720 /system/${LIB}/vndk-sp${VNDK_VER}/libz.so VNDK-SP
721 /vendor/${LIB}/hidl.tests.vendor@1.0.so VND-ONLY
722 /vendor/${LIB}/hidl.tests.vendor@1.1.so VND-ONLY
723 /vendor/${LIB}/libavservices_minijail_vendor.so VND-ONLY Framework module should link libavservices_minijail.so
724 /vendor/${LIB}/libcld80211.so VND-ONLY
725 /vendor/${LIB}/libeffects.so VND-ONLY
726 /vendor/${LIB}/libhwc2on1adapter.so VND-ONLY
727 /vendor/${LIB}/libnbaio_mono.so VND-ONLY
728 /vendor/${LIB}/libreference-ril.so VND-ONLY
729 /vendor/${LIB}/libril.so VND-ONLY
730 /vendor/${LIB}/librilutils.so VND-ONLY
731 /vendor/${LIB}/libtinycompress.so VND-ONLY
732 /vendor/${LIB}/libwebrtc_audio_preprocessing.so VND-ONLY
733 /vendor/${LIB}/soundfx/libaudiopreprocessing.so VND-ONLY
734 /vendor/${LIB}/soundfx/libbundlewrapper.so VND-ONLY
735 /vendor/${LIB}/soundfx/libdownmix.so VND-ONLY
736 /vendor/${LIB}/soundfx/libeffectproxy.so VND-ONLY
737 /vendor/${LIB}/soundfx/libldnhncr.so VND-ONLY
738 /vendor/${LIB}/soundfx/libreverbwrapper.so VND-ONLY
739 /vendor/${LIB}/soundfx/libvisualizer.so VND-ONLY
740 [regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$ SP-HAL
741 [regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$ SP-HAL
742 [regex]^.*/gralloc\..*\.so$ SP-HAL
743 [regex]^/vendor/.*/libEGL_.*\.so$ SP-HAL
744 [regex]^/vendor/.*/libGLES_.*\.so$ SP-HAL
745 [regex]^/vendor/.*/libGLESv1_CM_.*\.so$ SP-HAL
746 [regex]^/vendor/.*/libGLESv2_.*\.so$ SP-HAL
747 [regex]^/vendor/.*/libGLESv3_.*\.so$ SP-HAL
748 [regex]^/vendor/.*/libPVRRS\.so$ SP-HAL
749 [regex]^/vendor/.*/libRSDriver.*\.so$ SP-HAL
750 [regex]^/vendor/.*/vulkan.*\.so$ SP-HAL

View File

@@ -1,609 +0,0 @@
name,vndk,vndk_sp,vendor_available,rule
android.frameworks.bufferhub@1.0,False,False,True,hidl_interface
android.frameworks.bufferhub@1.0-adapter-helper,False,False,True,hidl_interface
android.frameworks.cameraservice.common@2.0,True,False,True,hidl_interface
android.frameworks.cameraservice.common@2.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.cameraservice.device@2.0,True,False,True,hidl_interface
android.frameworks.cameraservice.device@2.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.cameraservice.service@2.0,True,False,True,hidl_interface
android.frameworks.cameraservice.service@2.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.displayservice@1.0,True,False,True,hidl_interface
android.frameworks.displayservice@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.schedulerservice@1.0,True,False,True,hidl_interface
android.frameworks.schedulerservice@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.sensorservice@1.0,True,False,True,hidl_interface
android.frameworks.sensorservice@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.stats@1.0,True,False,True,hidl_interface
android.frameworks.stats@1.0-adapter-helper,True,False,True,hidl_interface
android.frameworks.vr.composer@1.0,True,False,True,hidl_interface
android.frameworks.vr.composer@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.atrace@1.0,True,False,True,hidl_interface
android.hardware.atrace@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common-util,False,False,True,cc_library_shared
android.hardware.audio.common@2.0,True,False,True,hidl_interface
android.hardware.audio.common@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common@2.0-util,False,False,True,cc_library_shared
android.hardware.audio.common@4.0,True,False,True,hidl_interface
android.hardware.audio.common@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common@4.0-util,False,False,True,cc_library_shared
android.hardware.audio.common@5.0,True,False,True,hidl_interface
android.hardware.audio.common@5.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.common@5.0-util,False,False,True,cc_library_shared
android.hardware.audio.effect@2.0,True,False,True,hidl_interface
android.hardware.audio.effect@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.effect@4.0,True,False,True,hidl_interface
android.hardware.audio.effect@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio.effect@5.0,True,False,True,hidl_interface
android.hardware.audio.effect@5.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio@2.0,True,False,True,hidl_interface
android.hardware.audio@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio@4.0,True,False,True,hidl_interface
android.hardware.audio@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.audio@5.0,True,False,True,hidl_interface
android.hardware.audio@5.0-adapter-helper,True,False,True,hidl_interface
android.hardware.authsecret@1.0,True,False,True,hidl_interface
android.hardware.authsecret@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.automotive.audiocontrol@1.0,True,False,True,hidl_interface
android.hardware.automotive.audiocontrol@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.automotive.evs@1.0,True,False,True,hidl_interface
android.hardware.automotive.evs@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.automotive.vehicle@2.0,True,False,True,hidl_interface
android.hardware.automotive.vehicle@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.biometrics.face@1.0,True,False,True,hidl_interface
android.hardware.biometrics.face@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.biometrics.fingerprint@2.1,True,False,True,hidl_interface
android.hardware.biometrics.fingerprint@2.1-adapter-helper,True,False,True,hidl_interface
android.hardware.bluetooth.a2dp@1.0,True,False,True,hidl_interface
android.hardware.bluetooth.a2dp@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.bluetooth.audio@2.0,True,False,True,hidl_interface
android.hardware.bluetooth.audio@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.bluetooth@1.0,True,False,True,hidl_interface
android.hardware.bluetooth@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.boot@1.0,True,False,True,hidl_interface
android.hardware.boot@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.broadcastradio@1.0,True,False,True,hidl_interface
android.hardware.broadcastradio@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.broadcastradio@1.1,True,False,True,hidl_interface
android.hardware.broadcastradio@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.broadcastradio@2.0,True,False,True,hidl_interface
android.hardware.broadcastradio@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.common@1.0,True,False,True,hidl_interface
android.hardware.camera.common@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@1.0,True,False,True,hidl_interface
android.hardware.camera.device@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.2,True,False,True,hidl_interface
android.hardware.camera.device@3.2-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.3,True,False,True,hidl_interface
android.hardware.camera.device@3.3-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.4,True,False,True,hidl_interface
android.hardware.camera.device@3.4-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.device@3.5,True,False,True,hidl_interface
android.hardware.camera.device@3.5-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.metadata@3.2,True,False,True,hidl_interface
android.hardware.camera.metadata@3.2-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.metadata@3.3,True,False,True,hidl_interface
android.hardware.camera.metadata@3.3-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.metadata@3.4,True,False,True,hidl_interface
android.hardware.camera.metadata@3.4-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.provider@2.4,True,False,True,hidl_interface
android.hardware.camera.provider@2.4-adapter-helper,True,False,True,hidl_interface
android.hardware.camera.provider@2.5,True,False,True,hidl_interface
android.hardware.camera.provider@2.5-adapter-helper,True,False,True,hidl_interface
android.hardware.cas.native@1.0,True,False,True,hidl_interface
android.hardware.cas.native@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.cas@1.0,True,False,True,hidl_interface
android.hardware.cas@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.cas@1.1,True,False,True,hidl_interface
android.hardware.cas@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.configstore-utils,True,False,True,cc_library_shared
android.hardware.configstore@1.0,True,False,True,hidl_interface
android.hardware.configstore@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.configstore@1.1,True,False,True,hidl_interface
android.hardware.configstore@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.confirmationui-support-lib,True,False,True,cc_library
android.hardware.confirmationui@1.0,True,False,True,hidl_interface
android.hardware.confirmationui@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.contexthub@1.0,True,False,True,hidl_interface
android.hardware.contexthub@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.drm@1.0,True,False,True,hidl_interface
android.hardware.drm@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.drm@1.1,True,False,True,hidl_interface
android.hardware.drm@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.drm@1.2,True,False,True,hidl_interface
android.hardware.drm@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.dumpstate@1.0,True,False,True,hidl_interface
android.hardware.dumpstate@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.fastboot@1.0,True,False,True,hidl_interface
android.hardware.fastboot@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gatekeeper@1.0,True,False,True,hidl_interface
android.hardware.gatekeeper@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss.measurement_corrections@1.0,True,False,True,hidl_interface
android.hardware.gnss.measurement_corrections@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss.visibility_control@1.0,True,False,True,hidl_interface
android.hardware.gnss.visibility_control@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss@1.0,True,False,True,hidl_interface
android.hardware.gnss@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss@1.1,True,False,True,hidl_interface
android.hardware.gnss@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.gnss@2.0,True,False,True,hidl_interface
android.hardware.gnss@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.allocator@2.0,True,False,True,hidl_interface
android.hardware.graphics.allocator@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.allocator@3.0,True,False,True,hidl_interface
android.hardware.graphics.allocator@3.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.bufferqueue@1.0,True,False,True,hidl_interface
android.hardware.graphics.bufferqueue@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.bufferqueue@2.0,True,False,True,hidl_interface
android.hardware.graphics.bufferqueue@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.common@1.0,True,True,True,hidl_interface
android.hardware.graphics.common@1.0-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.common@1.1,True,True,True,hidl_interface
android.hardware.graphics.common@1.1-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.common@1.2,True,True,True,hidl_interface
android.hardware.graphics.common@1.2-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.composer@2.1,True,False,True,hidl_interface
android.hardware.graphics.composer@2.1-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.composer@2.2,True,False,True,hidl_interface
android.hardware.graphics.composer@2.2-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.composer@2.3,True,False,True,hidl_interface
android.hardware.graphics.composer@2.3-adapter-helper,True,False,True,hidl_interface
android.hardware.graphics.mapper@2.0,True,True,True,hidl_interface
android.hardware.graphics.mapper@2.0-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.mapper@2.1,True,True,True,hidl_interface
android.hardware.graphics.mapper@2.1-adapter-helper,True,True,True,hidl_interface
android.hardware.graphics.mapper@3.0,True,True,True,hidl_interface
android.hardware.graphics.mapper@3.0-adapter-helper,True,True,True,hidl_interface
android.hardware.health.storage@1.0,True,False,True,hidl_interface
android.hardware.health.storage@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.health@1.0,True,False,True,hidl_interface
android.hardware.health@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.health@2.0,True,False,True,hidl_interface
android.hardware.health@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.input.classifier@1.0,True,False,True,hidl_interface
android.hardware.input.classifier@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.input.common@1.0,True,False,True,hidl_interface
android.hardware.input.common@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.ir@1.0,True,False,True,hidl_interface
android.hardware.ir@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.keymaster@3.0,True,False,True,hidl_interface
android.hardware.keymaster@3.0-adapter-helper,True,False,True,hidl_interface
android.hardware.keymaster@4.0,True,False,True,hidl_interface
android.hardware.keymaster@4.0-adapter-helper,True,False,True,hidl_interface
android.hardware.light@2.0,True,False,True,hidl_interface
android.hardware.light@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media.bufferpool@1.0,True,False,True,hidl_interface
android.hardware.media.bufferpool@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media.bufferpool@2.0,True,False,True,hidl_interface
android.hardware.media.bufferpool@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media.c2@1.0,True,False,True,hidl_interface
android.hardware.media.c2@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media.omx@1.0,True,False,True,hidl_interface
android.hardware.media.omx@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.media@1.0,True,False,True,hidl_interface
android.hardware.media@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.memtrack@1.0,True,False,True,hidl_interface
android.hardware.memtrack@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.0,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.1,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.2,True,False,True,hidl_interface
android.hardware.neuralnetworks@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.nfc@1.0,True,False,True,hidl_interface
android.hardware.nfc@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.nfc@1.1,True,False,True,hidl_interface
android.hardware.nfc@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.nfc@1.2,True,False,True,hidl_interface
android.hardware.nfc@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.oemlock@1.0,True,False,True,hidl_interface
android.hardware.oemlock@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.power.stats@1.0,True,False,True,hidl_interface
android.hardware.power.stats@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.0,True,False,True,hidl_interface
android.hardware.power@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.1,True,False,True,hidl_interface
android.hardware.power@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.2,True,False,True,hidl_interface
android.hardware.power@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.power@1.3,True,False,True,hidl_interface
android.hardware.power@1.3-adapter-helper,True,False,True,hidl_interface
android.hardware.radio.config@1.0,True,False,True,hidl_interface
android.hardware.radio.config@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.radio.config@1.1,True,False,True,hidl_interface
android.hardware.radio.config@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.radio.config@1.2,True,False,True,hidl_interface
android.hardware.radio.config@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.radio.deprecated@1.0,True,False,True,hidl_interface
android.hardware.radio.deprecated@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.0,True,False,True,hidl_interface
android.hardware.radio@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.1,True,False,True,hidl_interface
android.hardware.radio@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.2,True,False,True,hidl_interface
android.hardware.radio@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.3,True,False,True,hidl_interface
android.hardware.radio@1.3-adapter-helper,True,False,True,hidl_interface
android.hardware.radio@1.4,True,False,True,hidl_interface
android.hardware.radio@1.4-adapter-helper,True,False,True,hidl_interface
android.hardware.renderscript@1.0,True,True,True,hidl_interface
android.hardware.renderscript@1.0-adapter-helper,True,True,True,hidl_interface
android.hardware.secure_element@1.0,True,False,True,hidl_interface
android.hardware.secure_element@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.secure_element@1.1,True,False,True,hidl_interface
android.hardware.secure_element@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.sensors@1.0,True,False,True,hidl_interface
android.hardware.sensors@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.sensors@2.0,True,False,True,hidl_interface
android.hardware.sensors@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.soundtrigger@2.0,True,False,True,hidl_interface
android.hardware.soundtrigger@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.soundtrigger@2.0-core,True,False,True,cc_library_shared
android.hardware.soundtrigger@2.1,True,False,True,hidl_interface
android.hardware.soundtrigger@2.1-adapter-helper,True,False,True,hidl_interface
android.hardware.soundtrigger@2.2,True,False,True,hidl_interface
android.hardware.soundtrigger@2.2-adapter-helper,True,False,True,hidl_interface
android.hardware.tests.bar@1.0,False,False,True,hidl_interface
android.hardware.tests.bar@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.baz@1.0,False,False,True,hidl_interface
android.hardware.tests.baz@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.expression@1.0,False,False,True,hidl_interface
android.hardware.tests.expression@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.extension.light@2.0,False,False,True,hidl_interface
android.hardware.tests.extension.light@2.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.foo@1.0,False,False,True,hidl_interface
android.hardware.tests.foo@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.hash@1.0,False,False,True,hidl_interface
android.hardware.tests.hash@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.inheritance@1.0,False,False,True,hidl_interface
android.hardware.tests.inheritance@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.libhwbinder@1.0,False,False,True,hidl_interface
android.hardware.tests.libhwbinder@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.memory@1.0,False,False,True,hidl_interface
android.hardware.tests.memory@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.msgq@1.0,False,False,True,hidl_interface
android.hardware.tests.msgq@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.multithread@1.0,False,False,True,hidl_interface
android.hardware.tests.multithread@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.pointer@1.0,False,False,True,hidl_interface
android.hardware.tests.pointer@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.safeunion.cpp@1.0,False,False,True,hidl_interface
android.hardware.tests.safeunion.cpp@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.safeunion@1.0,False,False,True,hidl_interface
android.hardware.tests.safeunion@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tests.trie@1.0,False,False,True,hidl_interface
android.hardware.tests.trie@1.0-adapter-helper,False,False,True,hidl_interface
android.hardware.tetheroffload.config@1.0,True,False,True,hidl_interface
android.hardware.tetheroffload.config@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.tetheroffload.control@1.0,True,False,True,hidl_interface
android.hardware.tetheroffload.control@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.thermal@1.0,True,False,True,hidl_interface
android.hardware.thermal@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.thermal@1.1,True,False,True,hidl_interface
android.hardware.thermal@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.thermal@2.0,True,False,True,hidl_interface
android.hardware.thermal@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.tv.cec@1.0,True,False,True,hidl_interface
android.hardware.tv.cec@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.tv.cec@2.0,True,False,True,hidl_interface
android.hardware.tv.cec@2.0-adapter-helper,True,False,True,hidl_interface
android.hardware.tv.input@1.0,True,False,True,hidl_interface
android.hardware.tv.input@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.usb.gadget@1.0,True,False,True,hidl_interface
android.hardware.usb.gadget@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.usb@1.0,True,False,True,hidl_interface
android.hardware.usb@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.usb@1.1,True,False,True,hidl_interface
android.hardware.usb@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.usb@1.2,True,False,True,hidl_interface
android.hardware.usb@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.0,True,False,True,hidl_interface
android.hardware.vibrator@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.1,True,False,True,hidl_interface
android.hardware.vibrator@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.2,True,False,True,hidl_interface
android.hardware.vibrator@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.vibrator@1.3,True,False,True,hidl_interface
android.hardware.vibrator@1.3-adapter-helper,True,False,True,hidl_interface
android.hardware.vr@1.0,True,False,True,hidl_interface
android.hardware.vr@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.weaver@1.0,True,False,True,hidl_interface
android.hardware.weaver@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.hostapd@1.0,True,False,True,hidl_interface
android.hardware.wifi.hostapd@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.hostapd@1.1,True,False,True,hidl_interface
android.hardware.wifi.hostapd@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.offload@1.0,True,False,True,hidl_interface
android.hardware.wifi.offload@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.0,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.1,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.2,True,False,True,hidl_interface
android.hardware.wifi.supplicant@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.0,True,False,True,hidl_interface
android.hardware.wifi@1.0-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.1,True,False,True,hidl_interface
android.hardware.wifi@1.1-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.2,True,False,True,hidl_interface
android.hardware.wifi@1.2-adapter-helper,True,False,True,hidl_interface
android.hardware.wifi@1.3,True,False,True,hidl_interface
android.hardware.wifi@1.3-adapter-helper,True,False,True,hidl_interface
android.hidl.allocator@1.0,True,False,True,hidl_interface
android.hidl.allocator@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.base@1.0,True,False,True,hidl_interface
android.hidl.base@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.manager@1.0,True,False,True,hidl_interface
android.hidl.manager@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.manager@1.1,True,False,True,hidl_interface
android.hidl.manager@1.1-adapter-helper,True,False,True,hidl_interface
android.hidl.manager@1.2,True,False,True,hidl_interface
android.hidl.manager@1.2-adapter-helper,True,False,True,hidl_interface
android.hidl.memory.block@1.0,True,False,True,hidl_interface
android.hidl.memory.block@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.memory.token@1.0,True,True,True,hidl_interface
android.hidl.memory.token@1.0-adapter-helper,True,True,True,hidl_interface
android.hidl.memory@1.0,True,True,True,hidl_interface
android.hidl.memory@1.0-adapter-helper,True,True,True,hidl_interface
android.hidl.memory@1.0-impl,True,True,True,cc_library_shared
android.hidl.safe_union@1.0,True,True,True,hidl_interface
android.hidl.safe_union@1.0-adapter-helper,True,True,True,hidl_interface
android.hidl.token@1.0,True,False,True,hidl_interface
android.hidl.token@1.0-adapter-helper,True,False,True,hidl_interface
android.hidl.token@1.0-utils,True,False,True,cc_library
android.system.net.netd@1.0,True,False,True,hidl_interface
android.system.net.netd@1.0-adapter-helper,True,False,True,hidl_interface
android.system.net.netd@1.1,True,False,True,hidl_interface
android.system.net.netd@1.1-adapter-helper,True,False,True,hidl_interface
android.system.suspend@1.0,True,False,True,hidl_interface
android.system.suspend@1.0-adapter-helper,True,False,True,hidl_interface
android.system.wifi.keystore@1.0,True,False,True,hidl_interface
android.system.wifi.keystore@1.0-adapter-helper,True,False,True,hidl_interface
hardware.google.light@1.0,False,False,True,hidl_interface
hardware.google.light@1.0-adapter-helper,False,False,True,hidl_interface
hardware.google.media.c2@1.0,False,False,True,hidl_interface
hardware.google.media.c2@1.0-adapter-helper,False,False,True,hidl_interface
hidl.tests.vendor@1.0,False,False,True,hidl_interface
hidl.tests.vendor@1.0-adapter-helper,False,False,True,hidl_interface
hidl.tests.vendor@1.1,False,False,True,hidl_interface
hidl.tests.vendor@1.1-adapter-helper,False,False,True,hidl_interface
libRSCpuRef,True,True,True,cc_library_shared
libRSDriver,True,True,True,cc_library_shared
libRS_internal,True,True,True,cc_library_shared
libadf,True,False,True,cc_library
libandroid_runtime_lazy,False,False,True,cc_library
libasyncio,False,False,True,cc_library
libaudioroute,True,False,True,cc_library_shared
libaudioutils,True,False,True,cc_library
libbacktrace,True,True,False,cc_library
libbase,True,True,True,cc_library
libbcinfo,True,True,True,cc_library_shared
libbinder,True,False,True,cc_library_shared
libbinder_ndk,False,False,True,cc_library
libbinderthreadstate,True,True,False,cc_library
libbinderwrapper,False,False,True,cc_library_shared
libblas,True,True,False,cc_library_shared
libc++,True,True,True,cc_library_shared
libc2_component_wrapper,False,False,True,cc_library_shared
libc_scudo,False,False,True,cc_library_shared
libcamera2ndk_vendor,False,False,True,cc_library_shared
libcamera_metadata,True,False,True,cc_library_shared
libcap,True,False,True,cc_library
libchrome,False,False,True,cc_library
libchrome-crypto,False,False,True,cc_library_shared
libclang_rt.scudo-aarch64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo-arm-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo-i686-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo-x86_64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo_minimal-aarch64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo_minimal-arm-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo_minimal-i686-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.scudo_minimal-x86_64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-aarch64-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-arm-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-i686-android,True,False,True,libclang_rt_prebuilt_library_shared
libclang_rt.ubsan_standalone-x86_64-android,True,False,True,libclang_rt_prebuilt_library_shared
libcn-cbor,True,False,True,cc_library
libcodec2,True,False,True,cc_library_shared
libcodec2_component_wrapper,False,False,True,cc_library_shared
libcodec2_hidl@1.0,True,False,True,cc_library
libcodec2_hidl_utils@1.0,False,False,True,cc_library
libcodec2_serviceregistrant,False,False,True,cc_library_shared
libcodec2_simple_component,False,False,True,cc_library_shared
libcodec2_soft_aacdec,False,False,True,cc_library_shared
libcodec2_soft_aacenc,False,False,True,cc_library_shared
libcodec2_soft_amrnbdec,False,False,True,cc_library_shared
libcodec2_soft_amrnbenc,False,False,True,cc_library_shared
libcodec2_soft_amrwbdec,False,False,True,cc_library_shared
libcodec2_soft_amrwbenc,False,False,True,cc_library_shared
libcodec2_soft_av1dec,False,False,True,cc_library_shared
libcodec2_soft_avcdec,False,False,True,cc_library_shared
libcodec2_soft_avcenc,False,False,True,cc_library_shared
libcodec2_soft_common,False,False,True,cc_library_shared
libcodec2_soft_flacdec,False,False,True,cc_library_shared
libcodec2_soft_flacenc,False,False,True,cc_library_shared
libcodec2_soft_g711alawdec,False,False,True,cc_library_shared
libcodec2_soft_g711mlawdec,False,False,True,cc_library_shared
libcodec2_soft_gsmdec,False,False,True,cc_library_shared
libcodec2_soft_h263dec,False,False,True,cc_library_shared
libcodec2_soft_h263enc,False,False,True,cc_library_shared
libcodec2_soft_hevcdec,False,False,True,cc_library_shared
libcodec2_soft_hevcenc,False,False,True,cc_library_shared
libcodec2_soft_mp3dec,False,False,True,cc_library_shared
libcodec2_soft_mpeg2dec,False,False,True,cc_library_shared
libcodec2_soft_mpeg4dec,False,False,True,cc_library_shared
libcodec2_soft_mpeg4enc,False,False,True,cc_library_shared
libcodec2_soft_opusdec,False,False,True,cc_library_shared
libcodec2_soft_opusenc,False,False,True,cc_library_shared
libcodec2_soft_rawdec,False,False,True,cc_library_shared
libcodec2_soft_vorbisdec,False,False,True,cc_library_shared
libcodec2_soft_vp8dec,False,False,True,cc_library_shared
libcodec2_soft_vp8enc,False,False,True,cc_library_shared
libcodec2_soft_vp9dec,False,False,True,cc_library_shared
libcodec2_soft_vp9enc,False,False,True,cc_library_shared
libcodec2_soft_xaacdec,False,False,True,cc_library_shared
libcodec2_vndk,True,False,True,cc_library_shared
libcompiler_rt,True,True,False,cc_library
libcrypto,True,False,True,cc_library
libcrypto_utils,True,False,True,cc_library
libcurl,True,False,True,cc_library
libcutils,True,True,True,cc_library
libdemangle,False,False,True,cc_library
libdexfile_support,False,False,True,cc_library
libdiskconfig,True,False,True,cc_library
libdng_sdk,False,False,True,cc_library
libdrm,False,False,True,cc_library
libdumpstateutil,True,False,True,cc_library_shared
libeffectsconfig,False,False,True,cc_library
libelf,False,False,True,cc_library
libevent,True,False,True,cc_library
libexif,True,False,True,cc_library_shared
libexpat,True,False,True,cc_library
libfmq,True,False,True,cc_library
libgatekeeper,True,False,True,cc_library_shared
libgflags,False,False,True,cc_library
libgrallocusage,False,False,True,cc_library
libgtest_prod,False,False,True,cc_library
libgui,True,False,False,cc_library_shared
libhardware,True,True,True,cc_library_shared
libhardware_legacy,True,False,True,cc_library_shared
libhidladapter,False,False,True,cc_library
libhidlallocatorutils,True,False,True,cc_library
libhidlbase,True,True,True,cc_library
libhidlcache,True,False,True,cc_library
libhidlmemory,True,True,True,cc_library
libhidltransport,True,True,True,cc_library
libhwbinder,True,True,True,cc_library
libhwbinder_noltopgo,True,True,True,cc_library
libion,True,True,True,cc_library
libjpeg,True,False,True,cc_library
libjsoncpp,True,True,True,cc_library
libkeymaster4,False,False,True,cc_library_shared
libkeymaster4support,False,False,True,cc_library
libkeymaster_messages,True,False,True,cc_library_shared
libkeymaster_portable,True,False,True,cc_library
libkmsxx,False,False,True,cc_library_shared
libldacBT_abr,True,False,True,cc_library_shared
libldacBT_enc,True,False,True,cc_library_shared
liblz4,True,False,True,cc_library
liblzma,True,True,True,cc_library
libmedia_codecserviceregistrant,False,False,True,cc_library_shared
libmedia_ecoservice,False,False,True,cc_library_shared
libmedia_helper,True,False,True,cc_library
libmedia_omx,True,False,True,cc_library_shared
libmemtrack,True,False,True,cc_library_shared
libminijail,True,False,True,cc_library
libmkbootimg_abi_check,True,False,True,cc_library
libmojo,False,False,True,cc_library_shared
libnetutils,True,False,True,cc_library_shared
libnl,True,False,True,cc_library
libopus,True,False,True,cc_library_shared
libparameter,False,False,True,cc_library_shared
libpcap,False,False,True,cc_library
libpcre2,True,False,True,cc_library
libperfmgr,False,False,True,cc_library
libpiex,True,False,True,cc_library_shared
libplatformprotos-static,False,False,True,cc_library
libpng,True,False,True,cc_library
libpower,True,False,True,cc_library
libprocessgroup,True,True,True,cc_library
libprocinfo,True,False,True,cc_library
libprotobuf-cpp-full,True,False,True,cc_library_shared
libprotobuf-cpp-full-rtti,False,False,True,cc_library_shared
libprotobuf-cpp-lite,True,False,True,cc_library
libprotobuf-cpp-lite-rtti,False,False,True,cc_library_shared
libpuresoftkeymasterdevice,True,False,True,cc_library
libradio_metadata,True,False,True,cc_library_shared
libremote-processor,False,False,True,cc_library_shared
libscudo_wrapper,False,False,True,cc_library_shared
libselinux,True,False,True,cc_library
libsfplugin_ccodec_utils,False,False,True,cc_library_shared
libsoftkeymasterdevice,True,False,True,cc_library
libspeexresampler,True,False,True,cc_library_shared
libsqlite,True,False,True,cc_library
libssl,True,False,True,cc_library
libstagefright_amrnb_common,True,False,True,cc_library_shared
libstagefright_bufferpool@1.0,False,False,True,cc_library
libstagefright_bufferpool@2.0,True,False,True,cc_library
libstagefright_bufferqueue_helper,True,False,True,cc_library_shared
libstagefright_ccodec_utils,False,False,True,cc_library_shared
libstagefright_codec2,False,False,True,cc_library_shared
libstagefright_codec2_vndk,False,False,True,cc_library_shared
libstagefright_enc_common,True,False,True,cc_library
libstagefright_flacdec,True,False,True,cc_library
libstagefright_foundation,True,False,True,cc_library
libstagefright_omx,True,False,True,cc_library_shared
libstagefright_omx_utils,True,False,True,cc_library_shared
libstagefright_simple_c2component,False,False,True,cc_library_shared
libstagefright_soft_aacdec,False,False,True,cc_library_shared
libstagefright_soft_aacenc,False,False,True,cc_library_shared
libstagefright_soft_amrdec,False,False,True,cc_library_shared
libstagefright_soft_amrnbenc,False,False,True,cc_library_shared
libstagefright_soft_amrwbenc,False,False,True,cc_library_shared
libstagefright_soft_avcdec,False,False,True,cc_library_shared
libstagefright_soft_avcenc,False,False,True,cc_library_shared
libstagefright_soft_c2aacdec,False,False,True,cc_library_shared
libstagefright_soft_c2aacenc,False,False,True,cc_library_shared
libstagefright_soft_c2amrnbdec,False,False,True,cc_library_shared
libstagefright_soft_c2amrnbenc,False,False,True,cc_library_shared
libstagefright_soft_c2amrwbdec,False,False,True,cc_library_shared
libstagefright_soft_c2amrwbenc,False,False,True,cc_library_shared
libstagefright_soft_c2avcdec,False,False,True,cc_library_shared
libstagefright_soft_c2avcenc,False,False,True,cc_library_shared
libstagefright_soft_c2common,False,False,True,cc_library_shared
libstagefright_soft_c2flacdec,False,False,True,cc_library_shared
libstagefright_soft_c2flacenc,False,False,True,cc_library_shared
libstagefright_soft_c2g711alawdec,False,False,True,cc_library_shared
libstagefright_soft_c2g711mlawdec,False,False,True,cc_library_shared
libstagefright_soft_c2gsmdec,False,False,True,cc_library_shared
libstagefright_soft_c2h263dec,False,False,True,cc_library_shared
libstagefright_soft_c2h263enc,False,False,True,cc_library_shared
libstagefright_soft_c2hevcdec,False,False,True,cc_library_shared
libstagefright_soft_c2mp3dec,False,False,True,cc_library_shared
libstagefright_soft_c2mpeg2dec,False,False,True,cc_library_shared
libstagefright_soft_c2mpeg4dec,False,False,True,cc_library_shared
libstagefright_soft_c2mpeg4enc,False,False,True,cc_library_shared
libstagefright_soft_c2opusdec,False,False,True,cc_library_shared
libstagefright_soft_c2rawdec,False,False,True,cc_library_shared
libstagefright_soft_c2vorbisdec,False,False,True,cc_library_shared
libstagefright_soft_c2vp8dec,False,False,True,cc_library_shared
libstagefright_soft_c2vp8enc,False,False,True,cc_library_shared
libstagefright_soft_c2vp9dec,False,False,True,cc_library_shared
libstagefright_soft_c2vp9enc,False,False,True,cc_library_shared
libstagefright_soft_c2xaacdec,False,False,True,cc_library_shared
libstagefright_soft_flacdec,False,False,True,cc_library_shared
libstagefright_soft_flacenc,False,False,True,cc_library_shared
libstagefright_soft_g711dec,False,False,True,cc_library_shared
libstagefright_soft_gsmdec,False,False,True,cc_library_shared
libstagefright_soft_hevcdec,False,False,True,cc_library_shared
libstagefright_soft_mp3dec,False,False,True,cc_library_shared
libstagefright_soft_mpeg2dec,False,False,True,cc_library_shared
libstagefright_soft_mpeg4dec,False,False,True,cc_library_shared
libstagefright_soft_mpeg4enc,False,False,True,cc_library_shared
libstagefright_soft_opusdec,False,False,True,cc_library_shared
libstagefright_soft_rawdec,False,False,True,cc_library_shared
libstagefright_soft_vorbisdec,False,False,True,cc_library_shared
libstagefright_soft_vpxdec,False,False,True,cc_library_shared
libstagefright_soft_vpxenc,False,False,True,cc_library_shared
libstagefright_soft_xaacdec,False,False,True,cc_library_shared
libstagefright_softomx,True,False,True,cc_library_shared
libstagefright_xmlparser,True,False,True,cc_library_shared
libsysutils,True,False,True,cc_library
libtextclassifier_hash,False,False,True,cc_library_shared
libtinyalsa,True,False,True,cc_library
libtinyxml2,True,False,True,cc_library
libui,True,False,True,cc_library_shared
libunwindstack,True,True,True,cc_library
libusb,False,False,True,cc_library
libusbhost,True,False,True,cc_library
libutils,True,True,True,cc_library
libutilscallstack,True,True,True,cc_library
libvorbisidec,True,False,True,cc_library
libwifi-system-iface,True,False,True,cc_library
libxml2,True,False,True,cc_library
libyuv,True,False,True,cc_library
libz,True,True,True,cc_library
libziparchive,True,False,True,cc_library
vendor.nxp.nxpese@1.0,False,False,True,hidl_interface
vendor.nxp.nxpese@1.0-adapter-helper,False,False,True,hidl_interface
vendor.nxp.nxpnfc@1.0,False,False,True,hidl_interface
vendor.nxp.nxpnfc@1.0-adapter-helper,False,False,True,hidl_interface
1 name vndk vndk_sp vendor_available rule
2 android.frameworks.bufferhub@1.0 False False True hidl_interface
3 android.frameworks.bufferhub@1.0-adapter-helper False False True hidl_interface
4 android.frameworks.cameraservice.common@2.0 True False True hidl_interface
5 android.frameworks.cameraservice.common@2.0-adapter-helper True False True hidl_interface
6 android.frameworks.cameraservice.device@2.0 True False True hidl_interface
7 android.frameworks.cameraservice.device@2.0-adapter-helper True False True hidl_interface
8 android.frameworks.cameraservice.service@2.0 True False True hidl_interface
9 android.frameworks.cameraservice.service@2.0-adapter-helper True False True hidl_interface
10 android.frameworks.displayservice@1.0 True False True hidl_interface
11 android.frameworks.displayservice@1.0-adapter-helper True False True hidl_interface
12 android.frameworks.schedulerservice@1.0 True False True hidl_interface
13 android.frameworks.schedulerservice@1.0-adapter-helper True False True hidl_interface
14 android.frameworks.sensorservice@1.0 True False True hidl_interface
15 android.frameworks.sensorservice@1.0-adapter-helper True False True hidl_interface
16 android.frameworks.stats@1.0 True False True hidl_interface
17 android.frameworks.stats@1.0-adapter-helper True False True hidl_interface
18 android.frameworks.vr.composer@1.0 True False True hidl_interface
19 android.frameworks.vr.composer@1.0-adapter-helper True False True hidl_interface
20 android.hardware.atrace@1.0 True False True hidl_interface
21 android.hardware.atrace@1.0-adapter-helper True False True hidl_interface
22 android.hardware.audio.common-util False False True cc_library_shared
23 android.hardware.audio.common@2.0 True False True hidl_interface
24 android.hardware.audio.common@2.0-adapter-helper True False True hidl_interface
25 android.hardware.audio.common@2.0-util False False True cc_library_shared
26 android.hardware.audio.common@4.0 True False True hidl_interface
27 android.hardware.audio.common@4.0-adapter-helper True False True hidl_interface
28 android.hardware.audio.common@4.0-util False False True cc_library_shared
29 android.hardware.audio.common@5.0 True False True hidl_interface
30 android.hardware.audio.common@5.0-adapter-helper True False True hidl_interface
31 android.hardware.audio.common@5.0-util False False True cc_library_shared
32 android.hardware.audio.effect@2.0 True False True hidl_interface
33 android.hardware.audio.effect@2.0-adapter-helper True False True hidl_interface
34 android.hardware.audio.effect@4.0 True False True hidl_interface
35 android.hardware.audio.effect@4.0-adapter-helper True False True hidl_interface
36 android.hardware.audio.effect@5.0 True False True hidl_interface
37 android.hardware.audio.effect@5.0-adapter-helper True False True hidl_interface
38 android.hardware.audio@2.0 True False True hidl_interface
39 android.hardware.audio@2.0-adapter-helper True False True hidl_interface
40 android.hardware.audio@4.0 True False True hidl_interface
41 android.hardware.audio@4.0-adapter-helper True False True hidl_interface
42 android.hardware.audio@5.0 True False True hidl_interface
43 android.hardware.audio@5.0-adapter-helper True False True hidl_interface
44 android.hardware.authsecret@1.0 True False True hidl_interface
45 android.hardware.authsecret@1.0-adapter-helper True False True hidl_interface
46 android.hardware.automotive.audiocontrol@1.0 True False True hidl_interface
47 android.hardware.automotive.audiocontrol@1.0-adapter-helper True False True hidl_interface
48 android.hardware.automotive.evs@1.0 True False True hidl_interface
49 android.hardware.automotive.evs@1.0-adapter-helper True False True hidl_interface
50 android.hardware.automotive.vehicle@2.0 True False True hidl_interface
51 android.hardware.automotive.vehicle@2.0-adapter-helper True False True hidl_interface
52 android.hardware.biometrics.face@1.0 True False True hidl_interface
53 android.hardware.biometrics.face@1.0-adapter-helper True False True hidl_interface
54 android.hardware.biometrics.fingerprint@2.1 True False True hidl_interface
55 android.hardware.biometrics.fingerprint@2.1-adapter-helper True False True hidl_interface
56 android.hardware.bluetooth.a2dp@1.0 True False True hidl_interface
57 android.hardware.bluetooth.a2dp@1.0-adapter-helper True False True hidl_interface
58 android.hardware.bluetooth.audio@2.0 True False True hidl_interface
59 android.hardware.bluetooth.audio@2.0-adapter-helper True False True hidl_interface
60 android.hardware.bluetooth@1.0 True False True hidl_interface
61 android.hardware.bluetooth@1.0-adapter-helper True False True hidl_interface
62 android.hardware.boot@1.0 True False True hidl_interface
63 android.hardware.boot@1.0-adapter-helper True False True hidl_interface
64 android.hardware.broadcastradio@1.0 True False True hidl_interface
65 android.hardware.broadcastradio@1.0-adapter-helper True False True hidl_interface
66 android.hardware.broadcastradio@1.1 True False True hidl_interface
67 android.hardware.broadcastradio@1.1-adapter-helper True False True hidl_interface
68 android.hardware.broadcastradio@2.0 True False True hidl_interface
69 android.hardware.broadcastradio@2.0-adapter-helper True False True hidl_interface
70 android.hardware.camera.common@1.0 True False True hidl_interface
71 android.hardware.camera.common@1.0-adapter-helper True False True hidl_interface
72 android.hardware.camera.device@1.0 True False True hidl_interface
73 android.hardware.camera.device@1.0-adapter-helper True False True hidl_interface
74 android.hardware.camera.device@3.2 True False True hidl_interface
75 android.hardware.camera.device@3.2-adapter-helper True False True hidl_interface
76 android.hardware.camera.device@3.3 True False True hidl_interface
77 android.hardware.camera.device@3.3-adapter-helper True False True hidl_interface
78 android.hardware.camera.device@3.4 True False True hidl_interface
79 android.hardware.camera.device@3.4-adapter-helper True False True hidl_interface
80 android.hardware.camera.device@3.5 True False True hidl_interface
81 android.hardware.camera.device@3.5-adapter-helper True False True hidl_interface
82 android.hardware.camera.metadata@3.2 True False True hidl_interface
83 android.hardware.camera.metadata@3.2-adapter-helper True False True hidl_interface
84 android.hardware.camera.metadata@3.3 True False True hidl_interface
85 android.hardware.camera.metadata@3.3-adapter-helper True False True hidl_interface
86 android.hardware.camera.metadata@3.4 True False True hidl_interface
87 android.hardware.camera.metadata@3.4-adapter-helper True False True hidl_interface
88 android.hardware.camera.provider@2.4 True False True hidl_interface
89 android.hardware.camera.provider@2.4-adapter-helper True False True hidl_interface
90 android.hardware.camera.provider@2.5 True False True hidl_interface
91 android.hardware.camera.provider@2.5-adapter-helper True False True hidl_interface
92 android.hardware.cas.native@1.0 True False True hidl_interface
93 android.hardware.cas.native@1.0-adapter-helper True False True hidl_interface
94 android.hardware.cas@1.0 True False True hidl_interface
95 android.hardware.cas@1.0-adapter-helper True False True hidl_interface
96 android.hardware.cas@1.1 True False True hidl_interface
97 android.hardware.cas@1.1-adapter-helper True False True hidl_interface
98 android.hardware.configstore-utils True False True cc_library_shared
99 android.hardware.configstore@1.0 True False True hidl_interface
100 android.hardware.configstore@1.0-adapter-helper True False True hidl_interface
101 android.hardware.configstore@1.1 True False True hidl_interface
102 android.hardware.configstore@1.1-adapter-helper True False True hidl_interface
103 android.hardware.confirmationui-support-lib True False True cc_library
104 android.hardware.confirmationui@1.0 True False True hidl_interface
105 android.hardware.confirmationui@1.0-adapter-helper True False True hidl_interface
106 android.hardware.contexthub@1.0 True False True hidl_interface
107 android.hardware.contexthub@1.0-adapter-helper True False True hidl_interface
108 android.hardware.drm@1.0 True False True hidl_interface
109 android.hardware.drm@1.0-adapter-helper True False True hidl_interface
110 android.hardware.drm@1.1 True False True hidl_interface
111 android.hardware.drm@1.1-adapter-helper True False True hidl_interface
112 android.hardware.drm@1.2 True False True hidl_interface
113 android.hardware.drm@1.2-adapter-helper True False True hidl_interface
114 android.hardware.dumpstate@1.0 True False True hidl_interface
115 android.hardware.dumpstate@1.0-adapter-helper True False True hidl_interface
116 android.hardware.fastboot@1.0 True False True hidl_interface
117 android.hardware.fastboot@1.0-adapter-helper True False True hidl_interface
118 android.hardware.gatekeeper@1.0 True False True hidl_interface
119 android.hardware.gatekeeper@1.0-adapter-helper True False True hidl_interface
120 android.hardware.gnss.measurement_corrections@1.0 True False True hidl_interface
121 android.hardware.gnss.measurement_corrections@1.0-adapter-helper True False True hidl_interface
122 android.hardware.gnss.visibility_control@1.0 True False True hidl_interface
123 android.hardware.gnss.visibility_control@1.0-adapter-helper True False True hidl_interface
124 android.hardware.gnss@1.0 True False True hidl_interface
125 android.hardware.gnss@1.0-adapter-helper True False True hidl_interface
126 android.hardware.gnss@1.1 True False True hidl_interface
127 android.hardware.gnss@1.1-adapter-helper True False True hidl_interface
128 android.hardware.gnss@2.0 True False True hidl_interface
129 android.hardware.gnss@2.0-adapter-helper True False True hidl_interface
130 android.hardware.graphics.allocator@2.0 True False True hidl_interface
131 android.hardware.graphics.allocator@2.0-adapter-helper True False True hidl_interface
132 android.hardware.graphics.allocator@3.0 True False True hidl_interface
133 android.hardware.graphics.allocator@3.0-adapter-helper True False True hidl_interface
134 android.hardware.graphics.bufferqueue@1.0 True False True hidl_interface
135 android.hardware.graphics.bufferqueue@1.0-adapter-helper True False True hidl_interface
136 android.hardware.graphics.bufferqueue@2.0 True False True hidl_interface
137 android.hardware.graphics.bufferqueue@2.0-adapter-helper True False True hidl_interface
138 android.hardware.graphics.common@1.0 True True True hidl_interface
139 android.hardware.graphics.common@1.0-adapter-helper True True True hidl_interface
140 android.hardware.graphics.common@1.1 True True True hidl_interface
141 android.hardware.graphics.common@1.1-adapter-helper True True True hidl_interface
142 android.hardware.graphics.common@1.2 True True True hidl_interface
143 android.hardware.graphics.common@1.2-adapter-helper True True True hidl_interface
144 android.hardware.graphics.composer@2.1 True False True hidl_interface
145 android.hardware.graphics.composer@2.1-adapter-helper True False True hidl_interface
146 android.hardware.graphics.composer@2.2 True False True hidl_interface
147 android.hardware.graphics.composer@2.2-adapter-helper True False True hidl_interface
148 android.hardware.graphics.composer@2.3 True False True hidl_interface
149 android.hardware.graphics.composer@2.3-adapter-helper True False True hidl_interface
150 android.hardware.graphics.mapper@2.0 True True True hidl_interface
151 android.hardware.graphics.mapper@2.0-adapter-helper True True True hidl_interface
152 android.hardware.graphics.mapper@2.1 True True True hidl_interface
153 android.hardware.graphics.mapper@2.1-adapter-helper True True True hidl_interface
154 android.hardware.graphics.mapper@3.0 True True True hidl_interface
155 android.hardware.graphics.mapper@3.0-adapter-helper True True True hidl_interface
156 android.hardware.health.storage@1.0 True False True hidl_interface
157 android.hardware.health.storage@1.0-adapter-helper True False True hidl_interface
158 android.hardware.health@1.0 True False True hidl_interface
159 android.hardware.health@1.0-adapter-helper True False True hidl_interface
160 android.hardware.health@2.0 True False True hidl_interface
161 android.hardware.health@2.0-adapter-helper True False True hidl_interface
162 android.hardware.input.classifier@1.0 True False True hidl_interface
163 android.hardware.input.classifier@1.0-adapter-helper True False True hidl_interface
164 android.hardware.input.common@1.0 True False True hidl_interface
165 android.hardware.input.common@1.0-adapter-helper True False True hidl_interface
166 android.hardware.ir@1.0 True False True hidl_interface
167 android.hardware.ir@1.0-adapter-helper True False True hidl_interface
168 android.hardware.keymaster@3.0 True False True hidl_interface
169 android.hardware.keymaster@3.0-adapter-helper True False True hidl_interface
170 android.hardware.keymaster@4.0 True False True hidl_interface
171 android.hardware.keymaster@4.0-adapter-helper True False True hidl_interface
172 android.hardware.light@2.0 True False True hidl_interface
173 android.hardware.light@2.0-adapter-helper True False True hidl_interface
174 android.hardware.media.bufferpool@1.0 True False True hidl_interface
175 android.hardware.media.bufferpool@1.0-adapter-helper True False True hidl_interface
176 android.hardware.media.bufferpool@2.0 True False True hidl_interface
177 android.hardware.media.bufferpool@2.0-adapter-helper True False True hidl_interface
178 android.hardware.media.c2@1.0 True False True hidl_interface
179 android.hardware.media.c2@1.0-adapter-helper True False True hidl_interface
180 android.hardware.media.omx@1.0 True False True hidl_interface
181 android.hardware.media.omx@1.0-adapter-helper True False True hidl_interface
182 android.hardware.media@1.0 True False True hidl_interface
183 android.hardware.media@1.0-adapter-helper True False True hidl_interface
184 android.hardware.memtrack@1.0 True False True hidl_interface
185 android.hardware.memtrack@1.0-adapter-helper True False True hidl_interface
186 android.hardware.neuralnetworks@1.0 True False True hidl_interface
187 android.hardware.neuralnetworks@1.0-adapter-helper True False True hidl_interface
188 android.hardware.neuralnetworks@1.1 True False True hidl_interface
189 android.hardware.neuralnetworks@1.1-adapter-helper True False True hidl_interface
190 android.hardware.neuralnetworks@1.2 True False True hidl_interface
191 android.hardware.neuralnetworks@1.2-adapter-helper True False True hidl_interface
192 android.hardware.nfc@1.0 True False True hidl_interface
193 android.hardware.nfc@1.0-adapter-helper True False True hidl_interface
194 android.hardware.nfc@1.1 True False True hidl_interface
195 android.hardware.nfc@1.1-adapter-helper True False True hidl_interface
196 android.hardware.nfc@1.2 True False True hidl_interface
197 android.hardware.nfc@1.2-adapter-helper True False True hidl_interface
198 android.hardware.oemlock@1.0 True False True hidl_interface
199 android.hardware.oemlock@1.0-adapter-helper True False True hidl_interface
200 android.hardware.power.stats@1.0 True False True hidl_interface
201 android.hardware.power.stats@1.0-adapter-helper True False True hidl_interface
202 android.hardware.power@1.0 True False True hidl_interface
203 android.hardware.power@1.0-adapter-helper True False True hidl_interface
204 android.hardware.power@1.1 True False True hidl_interface
205 android.hardware.power@1.1-adapter-helper True False True hidl_interface
206 android.hardware.power@1.2 True False True hidl_interface
207 android.hardware.power@1.2-adapter-helper True False True hidl_interface
208 android.hardware.power@1.3 True False True hidl_interface
209 android.hardware.power@1.3-adapter-helper True False True hidl_interface
210 android.hardware.radio.config@1.0 True False True hidl_interface
211 android.hardware.radio.config@1.0-adapter-helper True False True hidl_interface
212 android.hardware.radio.config@1.1 True False True hidl_interface
213 android.hardware.radio.config@1.1-adapter-helper True False True hidl_interface
214 android.hardware.radio.config@1.2 True False True hidl_interface
215 android.hardware.radio.config@1.2-adapter-helper True False True hidl_interface
216 android.hardware.radio.deprecated@1.0 True False True hidl_interface
217 android.hardware.radio.deprecated@1.0-adapter-helper True False True hidl_interface
218 android.hardware.radio@1.0 True False True hidl_interface
219 android.hardware.radio@1.0-adapter-helper True False True hidl_interface
220 android.hardware.radio@1.1 True False True hidl_interface
221 android.hardware.radio@1.1-adapter-helper True False True hidl_interface
222 android.hardware.radio@1.2 True False True hidl_interface
223 android.hardware.radio@1.2-adapter-helper True False True hidl_interface
224 android.hardware.radio@1.3 True False True hidl_interface
225 android.hardware.radio@1.3-adapter-helper True False True hidl_interface
226 android.hardware.radio@1.4 True False True hidl_interface
227 android.hardware.radio@1.4-adapter-helper True False True hidl_interface
228 android.hardware.renderscript@1.0 True True True hidl_interface
229 android.hardware.renderscript@1.0-adapter-helper True True True hidl_interface
230 android.hardware.secure_element@1.0 True False True hidl_interface
231 android.hardware.secure_element@1.0-adapter-helper True False True hidl_interface
232 android.hardware.secure_element@1.1 True False True hidl_interface
233 android.hardware.secure_element@1.1-adapter-helper True False True hidl_interface
234 android.hardware.sensors@1.0 True False True hidl_interface
235 android.hardware.sensors@1.0-adapter-helper True False True hidl_interface
236 android.hardware.sensors@2.0 True False True hidl_interface
237 android.hardware.sensors@2.0-adapter-helper True False True hidl_interface
238 android.hardware.soundtrigger@2.0 True False True hidl_interface
239 android.hardware.soundtrigger@2.0-adapter-helper True False True hidl_interface
240 android.hardware.soundtrigger@2.0-core True False True cc_library_shared
241 android.hardware.soundtrigger@2.1 True False True hidl_interface
242 android.hardware.soundtrigger@2.1-adapter-helper True False True hidl_interface
243 android.hardware.soundtrigger@2.2 True False True hidl_interface
244 android.hardware.soundtrigger@2.2-adapter-helper True False True hidl_interface
245 android.hardware.tests.bar@1.0 False False True hidl_interface
246 android.hardware.tests.bar@1.0-adapter-helper False False True hidl_interface
247 android.hardware.tests.baz@1.0 False False True hidl_interface
248 android.hardware.tests.baz@1.0-adapter-helper False False True hidl_interface
249 android.hardware.tests.expression@1.0 False False True hidl_interface
250 android.hardware.tests.expression@1.0-adapter-helper False False True hidl_interface
251 android.hardware.tests.extension.light@2.0 False False True hidl_interface
252 android.hardware.tests.extension.light@2.0-adapter-helper False False True hidl_interface
253 android.hardware.tests.foo@1.0 False False True hidl_interface
254 android.hardware.tests.foo@1.0-adapter-helper False False True hidl_interface
255 android.hardware.tests.hash@1.0 False False True hidl_interface
256 android.hardware.tests.hash@1.0-adapter-helper False False True hidl_interface
257 android.hardware.tests.inheritance@1.0 False False True hidl_interface
258 android.hardware.tests.inheritance@1.0-adapter-helper False False True hidl_interface
259 android.hardware.tests.libhwbinder@1.0 False False True hidl_interface
260 android.hardware.tests.libhwbinder@1.0-adapter-helper False False True hidl_interface
261 android.hardware.tests.memory@1.0 False False True hidl_interface
262 android.hardware.tests.memory@1.0-adapter-helper False False True hidl_interface
263 android.hardware.tests.msgq@1.0 False False True hidl_interface
264 android.hardware.tests.msgq@1.0-adapter-helper False False True hidl_interface
265 android.hardware.tests.multithread@1.0 False False True hidl_interface
266 android.hardware.tests.multithread@1.0-adapter-helper False False True hidl_interface
267 android.hardware.tests.pointer@1.0 False False True hidl_interface
268 android.hardware.tests.pointer@1.0-adapter-helper False False True hidl_interface
269 android.hardware.tests.safeunion.cpp@1.0 False False True hidl_interface
270 android.hardware.tests.safeunion.cpp@1.0-adapter-helper False False True hidl_interface
271 android.hardware.tests.safeunion@1.0 False False True hidl_interface
272 android.hardware.tests.safeunion@1.0-adapter-helper False False True hidl_interface
273 android.hardware.tests.trie@1.0 False False True hidl_interface
274 android.hardware.tests.trie@1.0-adapter-helper False False True hidl_interface
275 android.hardware.tetheroffload.config@1.0 True False True hidl_interface
276 android.hardware.tetheroffload.config@1.0-adapter-helper True False True hidl_interface
277 android.hardware.tetheroffload.control@1.0 True False True hidl_interface
278 android.hardware.tetheroffload.control@1.0-adapter-helper True False True hidl_interface
279 android.hardware.thermal@1.0 True False True hidl_interface
280 android.hardware.thermal@1.0-adapter-helper True False True hidl_interface
281 android.hardware.thermal@1.1 True False True hidl_interface
282 android.hardware.thermal@1.1-adapter-helper True False True hidl_interface
283 android.hardware.thermal@2.0 True False True hidl_interface
284 android.hardware.thermal@2.0-adapter-helper True False True hidl_interface
285 android.hardware.tv.cec@1.0 True False True hidl_interface
286 android.hardware.tv.cec@1.0-adapter-helper True False True hidl_interface
287 android.hardware.tv.cec@2.0 True False True hidl_interface
288 android.hardware.tv.cec@2.0-adapter-helper True False True hidl_interface
289 android.hardware.tv.input@1.0 True False True hidl_interface
290 android.hardware.tv.input@1.0-adapter-helper True False True hidl_interface
291 android.hardware.usb.gadget@1.0 True False True hidl_interface
292 android.hardware.usb.gadget@1.0-adapter-helper True False True hidl_interface
293 android.hardware.usb@1.0 True False True hidl_interface
294 android.hardware.usb@1.0-adapter-helper True False True hidl_interface
295 android.hardware.usb@1.1 True False True hidl_interface
296 android.hardware.usb@1.1-adapter-helper True False True hidl_interface
297 android.hardware.usb@1.2 True False True hidl_interface
298 android.hardware.usb@1.2-adapter-helper True False True hidl_interface
299 android.hardware.vibrator@1.0 True False True hidl_interface
300 android.hardware.vibrator@1.0-adapter-helper True False True hidl_interface
301 android.hardware.vibrator@1.1 True False True hidl_interface
302 android.hardware.vibrator@1.1-adapter-helper True False True hidl_interface
303 android.hardware.vibrator@1.2 True False True hidl_interface
304 android.hardware.vibrator@1.2-adapter-helper True False True hidl_interface
305 android.hardware.vibrator@1.3 True False True hidl_interface
306 android.hardware.vibrator@1.3-adapter-helper True False True hidl_interface
307 android.hardware.vr@1.0 True False True hidl_interface
308 android.hardware.vr@1.0-adapter-helper True False True hidl_interface
309 android.hardware.weaver@1.0 True False True hidl_interface
310 android.hardware.weaver@1.0-adapter-helper True False True hidl_interface
311 android.hardware.wifi.hostapd@1.0 True False True hidl_interface
312 android.hardware.wifi.hostapd@1.0-adapter-helper True False True hidl_interface
313 android.hardware.wifi.hostapd@1.1 True False True hidl_interface
314 android.hardware.wifi.hostapd@1.1-adapter-helper True False True hidl_interface
315 android.hardware.wifi.offload@1.0 True False True hidl_interface
316 android.hardware.wifi.offload@1.0-adapter-helper True False True hidl_interface
317 android.hardware.wifi.supplicant@1.0 True False True hidl_interface
318 android.hardware.wifi.supplicant@1.0-adapter-helper True False True hidl_interface
319 android.hardware.wifi.supplicant@1.1 True False True hidl_interface
320 android.hardware.wifi.supplicant@1.1-adapter-helper True False True hidl_interface
321 android.hardware.wifi.supplicant@1.2 True False True hidl_interface
322 android.hardware.wifi.supplicant@1.2-adapter-helper True False True hidl_interface
323 android.hardware.wifi@1.0 True False True hidl_interface
324 android.hardware.wifi@1.0-adapter-helper True False True hidl_interface
325 android.hardware.wifi@1.1 True False True hidl_interface
326 android.hardware.wifi@1.1-adapter-helper True False True hidl_interface
327 android.hardware.wifi@1.2 True False True hidl_interface
328 android.hardware.wifi@1.2-adapter-helper True False True hidl_interface
329 android.hardware.wifi@1.3 True False True hidl_interface
330 android.hardware.wifi@1.3-adapter-helper True False True hidl_interface
331 android.hidl.allocator@1.0 True False True hidl_interface
332 android.hidl.allocator@1.0-adapter-helper True False True hidl_interface
333 android.hidl.base@1.0 True False True hidl_interface
334 android.hidl.base@1.0-adapter-helper True False True hidl_interface
335 android.hidl.manager@1.0 True False True hidl_interface
336 android.hidl.manager@1.0-adapter-helper True False True hidl_interface
337 android.hidl.manager@1.1 True False True hidl_interface
338 android.hidl.manager@1.1-adapter-helper True False True hidl_interface
339 android.hidl.manager@1.2 True False True hidl_interface
340 android.hidl.manager@1.2-adapter-helper True False True hidl_interface
341 android.hidl.memory.block@1.0 True False True hidl_interface
342 android.hidl.memory.block@1.0-adapter-helper True False True hidl_interface
343 android.hidl.memory.token@1.0 True True True hidl_interface
344 android.hidl.memory.token@1.0-adapter-helper True True True hidl_interface
345 android.hidl.memory@1.0 True True True hidl_interface
346 android.hidl.memory@1.0-adapter-helper True True True hidl_interface
347 android.hidl.memory@1.0-impl True True True cc_library_shared
348 android.hidl.safe_union@1.0 True True True hidl_interface
349 android.hidl.safe_union@1.0-adapter-helper True True True hidl_interface
350 android.hidl.token@1.0 True False True hidl_interface
351 android.hidl.token@1.0-adapter-helper True False True hidl_interface
352 android.hidl.token@1.0-utils True False True cc_library
353 android.system.net.netd@1.0 True False True hidl_interface
354 android.system.net.netd@1.0-adapter-helper True False True hidl_interface
355 android.system.net.netd@1.1 True False True hidl_interface
356 android.system.net.netd@1.1-adapter-helper True False True hidl_interface
357 android.system.suspend@1.0 True False True hidl_interface
358 android.system.suspend@1.0-adapter-helper True False True hidl_interface
359 android.system.wifi.keystore@1.0 True False True hidl_interface
360 android.system.wifi.keystore@1.0-adapter-helper True False True hidl_interface
361 hardware.google.light@1.0 False False True hidl_interface
362 hardware.google.light@1.0-adapter-helper False False True hidl_interface
363 hardware.google.media.c2@1.0 False False True hidl_interface
364 hardware.google.media.c2@1.0-adapter-helper False False True hidl_interface
365 hidl.tests.vendor@1.0 False False True hidl_interface
366 hidl.tests.vendor@1.0-adapter-helper False False True hidl_interface
367 hidl.tests.vendor@1.1 False False True hidl_interface
368 hidl.tests.vendor@1.1-adapter-helper False False True hidl_interface
369 libRSCpuRef True True True cc_library_shared
370 libRSDriver True True True cc_library_shared
371 libRS_internal True True True cc_library_shared
372 libadf True False True cc_library
373 libandroid_runtime_lazy False False True cc_library
374 libasyncio False False True cc_library
375 libaudioroute True False True cc_library_shared
376 libaudioutils True False True cc_library
377 libbacktrace True True False cc_library
378 libbase True True True cc_library
379 libbcinfo True True True cc_library_shared
380 libbinder True False True cc_library_shared
381 libbinder_ndk False False True cc_library
382 libbinderthreadstate True True False cc_library
383 libbinderwrapper False False True cc_library_shared
384 libblas True True False cc_library_shared
385 libc++ True True True cc_library_shared
386 libc2_component_wrapper False False True cc_library_shared
387 libc_scudo False False True cc_library_shared
388 libcamera2ndk_vendor False False True cc_library_shared
389 libcamera_metadata True False True cc_library_shared
390 libcap True False True cc_library
391 libchrome False False True cc_library
392 libchrome-crypto False False True cc_library_shared
393 libclang_rt.scudo-aarch64-android True False True libclang_rt_prebuilt_library_shared
394 libclang_rt.scudo-arm-android True False True libclang_rt_prebuilt_library_shared
395 libclang_rt.scudo-i686-android True False True libclang_rt_prebuilt_library_shared
396 libclang_rt.scudo-x86_64-android True False True libclang_rt_prebuilt_library_shared
397 libclang_rt.scudo_minimal-aarch64-android True False True libclang_rt_prebuilt_library_shared
398 libclang_rt.scudo_minimal-arm-android True False True libclang_rt_prebuilt_library_shared
399 libclang_rt.scudo_minimal-i686-android True False True libclang_rt_prebuilt_library_shared
400 libclang_rt.scudo_minimal-x86_64-android True False True libclang_rt_prebuilt_library_shared
401 libclang_rt.ubsan_standalone-aarch64-android True False True libclang_rt_prebuilt_library_shared
402 libclang_rt.ubsan_standalone-arm-android True False True libclang_rt_prebuilt_library_shared
403 libclang_rt.ubsan_standalone-i686-android True False True libclang_rt_prebuilt_library_shared
404 libclang_rt.ubsan_standalone-x86_64-android True False True libclang_rt_prebuilt_library_shared
405 libcn-cbor True False True cc_library
406 libcodec2 True False True cc_library_shared
407 libcodec2_component_wrapper False False True cc_library_shared
408 libcodec2_hidl@1.0 True False True cc_library
409 libcodec2_hidl_utils@1.0 False False True cc_library
410 libcodec2_serviceregistrant False False True cc_library_shared
411 libcodec2_simple_component False False True cc_library_shared
412 libcodec2_soft_aacdec False False True cc_library_shared
413 libcodec2_soft_aacenc False False True cc_library_shared
414 libcodec2_soft_amrnbdec False False True cc_library_shared
415 libcodec2_soft_amrnbenc False False True cc_library_shared
416 libcodec2_soft_amrwbdec False False True cc_library_shared
417 libcodec2_soft_amrwbenc False False True cc_library_shared
418 libcodec2_soft_av1dec False False True cc_library_shared
419 libcodec2_soft_avcdec False False True cc_library_shared
420 libcodec2_soft_avcenc False False True cc_library_shared
421 libcodec2_soft_common False False True cc_library_shared
422 libcodec2_soft_flacdec False False True cc_library_shared
423 libcodec2_soft_flacenc False False True cc_library_shared
424 libcodec2_soft_g711alawdec False False True cc_library_shared
425 libcodec2_soft_g711mlawdec False False True cc_library_shared
426 libcodec2_soft_gsmdec False False True cc_library_shared
427 libcodec2_soft_h263dec False False True cc_library_shared
428 libcodec2_soft_h263enc False False True cc_library_shared
429 libcodec2_soft_hevcdec False False True cc_library_shared
430 libcodec2_soft_hevcenc False False True cc_library_shared
431 libcodec2_soft_mp3dec False False True cc_library_shared
432 libcodec2_soft_mpeg2dec False False True cc_library_shared
433 libcodec2_soft_mpeg4dec False False True cc_library_shared
434 libcodec2_soft_mpeg4enc False False True cc_library_shared
435 libcodec2_soft_opusdec False False True cc_library_shared
436 libcodec2_soft_opusenc False False True cc_library_shared
437 libcodec2_soft_rawdec False False True cc_library_shared
438 libcodec2_soft_vorbisdec False False True cc_library_shared
439 libcodec2_soft_vp8dec False False True cc_library_shared
440 libcodec2_soft_vp8enc False False True cc_library_shared
441 libcodec2_soft_vp9dec False False True cc_library_shared
442 libcodec2_soft_vp9enc False False True cc_library_shared
443 libcodec2_soft_xaacdec False False True cc_library_shared
444 libcodec2_vndk True False True cc_library_shared
445 libcompiler_rt True True False cc_library
446 libcrypto True False True cc_library
447 libcrypto_utils True False True cc_library
448 libcurl True False True cc_library
449 libcutils True True True cc_library
450 libdemangle False False True cc_library
451 libdexfile_support False False True cc_library
452 libdiskconfig True False True cc_library
453 libdng_sdk False False True cc_library
454 libdrm False False True cc_library
455 libdumpstateutil True False True cc_library_shared
456 libeffectsconfig False False True cc_library
457 libelf False False True cc_library
458 libevent True False True cc_library
459 libexif True False True cc_library_shared
460 libexpat True False True cc_library
461 libfmq True False True cc_library
462 libgatekeeper True False True cc_library_shared
463 libgflags False False True cc_library
464 libgrallocusage False False True cc_library
465 libgtest_prod False False True cc_library
466 libgui True False False cc_library_shared
467 libhardware True True True cc_library_shared
468 libhardware_legacy True False True cc_library_shared
469 libhidladapter False False True cc_library
470 libhidlallocatorutils True False True cc_library
471 libhidlbase True True True cc_library
472 libhidlcache True False True cc_library
473 libhidlmemory True True True cc_library
474 libhidltransport True True True cc_library
475 libhwbinder True True True cc_library
476 libhwbinder_noltopgo True True True cc_library
477 libion True True True cc_library
478 libjpeg True False True cc_library
479 libjsoncpp True True True cc_library
480 libkeymaster4 False False True cc_library_shared
481 libkeymaster4support False False True cc_library
482 libkeymaster_messages True False True cc_library_shared
483 libkeymaster_portable True False True cc_library
484 libkmsxx False False True cc_library_shared
485 libldacBT_abr True False True cc_library_shared
486 libldacBT_enc True False True cc_library_shared
487 liblz4 True False True cc_library
488 liblzma True True True cc_library
489 libmedia_codecserviceregistrant False False True cc_library_shared
490 libmedia_ecoservice False False True cc_library_shared
491 libmedia_helper True False True cc_library
492 libmedia_omx True False True cc_library_shared
493 libmemtrack True False True cc_library_shared
494 libminijail True False True cc_library
495 libmkbootimg_abi_check True False True cc_library
496 libmojo False False True cc_library_shared
497 libnetutils True False True cc_library_shared
498 libnl True False True cc_library
499 libopus True False True cc_library_shared
500 libparameter False False True cc_library_shared
501 libpcap False False True cc_library
502 libpcre2 True False True cc_library
503 libperfmgr False False True cc_library
504 libpiex True False True cc_library_shared
505 libplatformprotos-static False False True cc_library
506 libpng True False True cc_library
507 libpower True False True cc_library
508 libprocessgroup True True True cc_library
509 libprocinfo True False True cc_library
510 libprotobuf-cpp-full True False True cc_library_shared
511 libprotobuf-cpp-full-rtti False False True cc_library_shared
512 libprotobuf-cpp-lite True False True cc_library
513 libprotobuf-cpp-lite-rtti False False True cc_library_shared
514 libpuresoftkeymasterdevice True False True cc_library
515 libradio_metadata True False True cc_library_shared
516 libremote-processor False False True cc_library_shared
517 libscudo_wrapper False False True cc_library_shared
518 libselinux True False True cc_library
519 libsfplugin_ccodec_utils False False True cc_library_shared
520 libsoftkeymasterdevice True False True cc_library
521 libspeexresampler True False True cc_library_shared
522 libsqlite True False True cc_library
523 libssl True False True cc_library
524 libstagefright_amrnb_common True False True cc_library_shared
525 libstagefright_bufferpool@1.0 False False True cc_library
526 libstagefright_bufferpool@2.0 True False True cc_library
527 libstagefright_bufferqueue_helper True False True cc_library_shared
528 libstagefright_ccodec_utils False False True cc_library_shared
529 libstagefright_codec2 False False True cc_library_shared
530 libstagefright_codec2_vndk False False True cc_library_shared
531 libstagefright_enc_common True False True cc_library
532 libstagefright_flacdec True False True cc_library
533 libstagefright_foundation True False True cc_library
534 libstagefright_omx True False True cc_library_shared
535 libstagefright_omx_utils True False True cc_library_shared
536 libstagefright_simple_c2component False False True cc_library_shared
537 libstagefright_soft_aacdec False False True cc_library_shared
538 libstagefright_soft_aacenc False False True cc_library_shared
539 libstagefright_soft_amrdec False False True cc_library_shared
540 libstagefright_soft_amrnbenc False False True cc_library_shared
541 libstagefright_soft_amrwbenc False False True cc_library_shared
542 libstagefright_soft_avcdec False False True cc_library_shared
543 libstagefright_soft_avcenc False False True cc_library_shared
544 libstagefright_soft_c2aacdec False False True cc_library_shared
545 libstagefright_soft_c2aacenc False False True cc_library_shared
546 libstagefright_soft_c2amrnbdec False False True cc_library_shared
547 libstagefright_soft_c2amrnbenc False False True cc_library_shared
548 libstagefright_soft_c2amrwbdec False False True cc_library_shared
549 libstagefright_soft_c2amrwbenc False False True cc_library_shared
550 libstagefright_soft_c2avcdec False False True cc_library_shared
551 libstagefright_soft_c2avcenc False False True cc_library_shared
552 libstagefright_soft_c2common False False True cc_library_shared
553 libstagefright_soft_c2flacdec False False True cc_library_shared
554 libstagefright_soft_c2flacenc False False True cc_library_shared
555 libstagefright_soft_c2g711alawdec False False True cc_library_shared
556 libstagefright_soft_c2g711mlawdec False False True cc_library_shared
557 libstagefright_soft_c2gsmdec False False True cc_library_shared
558 libstagefright_soft_c2h263dec False False True cc_library_shared
559 libstagefright_soft_c2h263enc False False True cc_library_shared
560 libstagefright_soft_c2hevcdec False False True cc_library_shared
561 libstagefright_soft_c2mp3dec False False True cc_library_shared
562 libstagefright_soft_c2mpeg2dec False False True cc_library_shared
563 libstagefright_soft_c2mpeg4dec False False True cc_library_shared
564 libstagefright_soft_c2mpeg4enc False False True cc_library_shared
565 libstagefright_soft_c2opusdec False False True cc_library_shared
566 libstagefright_soft_c2rawdec False False True cc_library_shared
567 libstagefright_soft_c2vorbisdec False False True cc_library_shared
568 libstagefright_soft_c2vp8dec False False True cc_library_shared
569 libstagefright_soft_c2vp8enc False False True cc_library_shared
570 libstagefright_soft_c2vp9dec False False True cc_library_shared
571 libstagefright_soft_c2vp9enc False False True cc_library_shared
572 libstagefright_soft_c2xaacdec False False True cc_library_shared
573 libstagefright_soft_flacdec False False True cc_library_shared
574 libstagefright_soft_flacenc False False True cc_library_shared
575 libstagefright_soft_g711dec False False True cc_library_shared
576 libstagefright_soft_gsmdec False False True cc_library_shared
577 libstagefright_soft_hevcdec False False True cc_library_shared
578 libstagefright_soft_mp3dec False False True cc_library_shared
579 libstagefright_soft_mpeg2dec False False True cc_library_shared
580 libstagefright_soft_mpeg4dec False False True cc_library_shared
581 libstagefright_soft_mpeg4enc False False True cc_library_shared
582 libstagefright_soft_opusdec False False True cc_library_shared
583 libstagefright_soft_rawdec False False True cc_library_shared
584 libstagefright_soft_vorbisdec False False True cc_library_shared
585 libstagefright_soft_vpxdec False False True cc_library_shared
586 libstagefright_soft_vpxenc False False True cc_library_shared
587 libstagefright_soft_xaacdec False False True cc_library_shared
588 libstagefright_softomx True False True cc_library_shared
589 libstagefright_xmlparser True False True cc_library_shared
590 libsysutils True False True cc_library
591 libtextclassifier_hash False False True cc_library_shared
592 libtinyalsa True False True cc_library
593 libtinyxml2 True False True cc_library
594 libui True False True cc_library_shared
595 libunwindstack True True True cc_library
596 libusb False False True cc_library
597 libusbhost True False True cc_library
598 libutils True True True cc_library
599 libutilscallstack True True True cc_library
600 libvorbisidec True False True cc_library
601 libwifi-system-iface True False True cc_library
602 libxml2 True False True cc_library
603 libyuv True False True cc_library
604 libz True True True cc_library
605 libziparchive True False True cc_library
606 vendor.nxp.nxpese@1.0 False False True hidl_interface
607 vendor.nxp.nxpese@1.0-adapter-helper False False True hidl_interface
608 vendor.nxp.nxpnfc@1.0 False False True hidl_interface
609 vendor.nxp.nxpnfc@1.0-adapter-helper False False True hidl_interface

View File

@@ -1,826 +0,0 @@
Path,Tag,Comments
/apex/com.android.runtime/${LIB}/bionic/libc.so,LL-NDK,
/apex/com.android.runtime/${LIB}/bionic/libdl.so,LL-NDK,
/apex/com.android.runtime/${LIB}/bionic/libm.so,LL-NDK,
/system/${LIB}/android.frameworks.cameraservice.common@2.0.so,VNDK,
/system/${LIB}/android.frameworks.cameraservice.device@2.0.so,VNDK,
/system/${LIB}/android.frameworks.cameraservice.service@2.0.so,VNDK,
/system/${LIB}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.stats@1.0.so,VNDK,
/system/${LIB}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/android.hardware.atrace@1.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common-util.so,FWK-ONLY,
/system/${LIB}/android.hardware.audio.common@2.0-util.so,FWK-ONLY,
/system/${LIB}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common@4.0-util.so,FWK-ONLY,
/system/${LIB}/android.hardware.audio.common@4.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common@5.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@4.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@5.0.so,VNDK,
/system/${LIB}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio@4.0.so,VNDK,
/system/${LIB}/android.hardware.audio@5.0.so,VNDK,
/system/${LIB}/android.hardware.authsecret@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.audiocontrol@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/android.hardware.biometrics.face@1.0.so,VNDK,
/system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/android.hardware.bluetooth.a2dp@1.0.so,VNDK,
/system/${LIB}/android.hardware.bluetooth.audio@2.0.so,VNDK,
/system/${LIB}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@2.0.so,VNDK,
/system/${LIB}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.4.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.5.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.3.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.4.so,VNDK,
/system/${LIB}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/android.hardware.camera.provider@2.5.so,VNDK,
/system/${LIB}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/android.hardware.cas@1.1.so,VNDK,
/system/${LIB}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.1.so,VNDK,
/system/${LIB}/android.hardware.confirmationui-support-lib.so,VNDK,
/system/${LIB}/android.hardware.confirmationui@1.0.so,VNDK,
/system/${LIB}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.1.so,VNDK,
/system/${LIB}/android.hardware.drm@1.2.so,VNDK,
/system/${LIB}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/android.hardware.fastboot@1.0.so,VNDK,
/system/${LIB}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss.measurement_corrections@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss.visibility_control@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.1.so,VNDK,
/system/${LIB}/android.hardware.gnss@2.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.allocator@2.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.allocator@3.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.bufferqueue@2.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.common@1.1.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.common@1.2.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/android.hardware.graphics.composer@2.2.so,VNDK,
/system/${LIB}/android.hardware.graphics.composer@2.3.so,VNDK,
/system/${LIB}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.mapper@2.1.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.mapper@3.0.so,VNDK-SP,
/system/${LIB}/android.hardware.health.storage@1.0.so,VNDK,
/system/${LIB}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/android.hardware.health@2.0.so,VNDK,
/system/${LIB}/android.hardware.input.classifier@1.0.so,VNDK,
/system/${LIB}/android.hardware.input.common@1.0.so,VNDK,
/system/${LIB}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@4.0.so,VNDK,
/system/${LIB}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/android.hardware.media.bufferpool@1.0.so,VNDK,
/system/${LIB}/android.hardware.media.bufferpool@2.0.so,VNDK,
/system/${LIB}/android.hardware.media.c2@1.0.so,VNDK,
/system/${LIB}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.1.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.2.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.1.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.2.so,VNDK,
/system/${LIB}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/android.hardware.power.stats@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/android.hardware.power@1.2.so,VNDK,
/system/${LIB}/android.hardware.power@1.3.so,VNDK,
/system/${LIB}/android.hardware.radio.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio.config@1.1.so,VNDK,
/system/${LIB}/android.hardware.radio.config@1.2.so,VNDK,
/system/${LIB}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/android.hardware.radio@1.2.so,VNDK,
/system/${LIB}/android.hardware.radio@1.3.so,VNDK,
/system/${LIB}/android.hardware.radio@1.4.so,VNDK,
/system/${LIB}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.secure_element@1.0.so,VNDK,
/system/${LIB}/android.hardware.secure_element@1.1.so,VNDK,
/system/${LIB}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/android.hardware.sensors@2.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0-core.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.1.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.2.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/android.hardware.thermal@2.0.so,VNDK,
/system/${LIB}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/android.hardware.tv.cec@2.0.so,VNDK,
/system/${LIB}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb.gadget@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/android.hardware.usb@1.2.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.2.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.3.so,VNDK,
/system/${LIB}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.hostapd@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.hostapd@1.1.so,VNDK,
/system/${LIB}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.1.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.2.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.2.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.3.so,VNDK,
/system/${LIB}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/android.hidl.memory.block@1.0.so,VNDK,
/system/${LIB}/android.hidl.memory.token@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.safe_union@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/android.system.net.netd@1.1.so,VNDK,
/system/${LIB}/android.system.suspend@1.0.so,VNDK,
/system/${LIB}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/drm/libfwdlockengine.so,FWK-ONLY,
/system/${LIB}/extractors/libaacextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libamrextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libflacextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmidiextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmkvextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmp3extractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmp4extractor.so,FWK-ONLY,
/system/${LIB}/extractors/libmpeg2extractor.so,FWK-ONLY,
/system/${LIB}/extractors/liboggextractor.so,FWK-ONLY,
/system/${LIB}/extractors/libwavextractor.so,FWK-ONLY,
/system/${LIB}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP,
/system/${LIB}/hw/audio.a2dp.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Private,
/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
/system/${LIB}/libGLESv1_CM.so,LL-NDK,
/system/${LIB}/libGLESv2.so,LL-NDK,
/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libLLVM_android.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
/system/${LIB}/libRS.so,LL-NDK,
/system/${LIB}/libRSCacheDir.so,FWK-ONLY,
/system/${LIB}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/libRSDriver.so,VNDK-SP,
/system/${LIB}/libRS_internal.so,VNDK-SP,
/system/${LIB}/libRScpp.so,FWK-ONLY,
/system/${LIB}/libaaudio.so,FWK-ONLY,
/system/${LIB}/libaaudioservice.so,FWK-ONLY,
/system/${LIB}/libadbconnection.so,FWK-ONLY,
/system/${LIB}/libadbconnectiond.so,FWK-ONLY,
/system/${LIB}/libadf.so,VNDK,
/system/${LIB}/libandroid.so,FWK-ONLY,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libandroid_runtime.so,FWK-ONLY,
/system/${LIB}/libandroid_servers.so,FWK-ONLY,
/system/${LIB}/libandroidfw.so,FWK-ONLY,
/system/${LIB}/libappfuse.so,FWK-ONLY,
/system/${LIB}/libart-compiler.so,FWK-ONLY,
/system/${LIB}/libart-dexlayout.so,FWK-ONLY,
/system/${LIB}/libart-disassembler.so,FWK-ONLY,
/system/${LIB}/libart.so,FWK-ONLY,
/system/${LIB}/libartd-compiler.so,FWK-ONLY,
/system/${LIB}/libartd-dexlayout.so,FWK-ONLY,
/system/${LIB}/libartd.so,FWK-ONLY,
/system/${LIB}/libasyncio.so,FWK-ONLY,
/system/${LIB}/libaudioclient.so,FWK-ONLY,
/system/${LIB}/libaudioeffect_jni.so,FWK-ONLY,
/system/${LIB}/libaudioflinger.so,FWK-ONLY,
/system/${LIB}/libaudiohal.so,FWK-ONLY,
/system/${LIB}/libaudiohal@2.0.so,FWK-ONLY,
/system/${LIB}/libaudiohal_deathhandler.so,FWK-ONLY,
/system/${LIB}/libaudiomanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyenginedefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanagerdefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyservice.so,FWK-ONLY,
/system/${LIB}/libaudioprocessing.so,FWK-ONLY,
/system/${LIB}/libaudioroute.so,VNDK,
/system/${LIB}/libaudiospdif.so,FWK-ONLY,
/system/${LIB}/libaudioutils.so,VNDK,
/system/${LIB}/libavservices_minijail.so,FWK-ONLY,Vendor module should link libavservices_minijail_vendor.so
/system/${LIB}/libbacktrace.so,VNDK-SP-Private,
/system/${LIB}/libbase.so,VNDK-SP,
/system/${LIB}/libbcc.so,FWK-ONLY,
/system/${LIB}/libbcinfo.so,VNDK-SP,
/system/${LIB}/libbinder.so,VNDK,
/system/${LIB}/libbinderthreadstate.so,VNDK-SP-Private,
/system/${LIB}/libbinderwrapper.so,FWK-ONLY,
/system/${LIB}/libblas.so,VNDK-SP-Private,
/system/${LIB}/libbluetooth-binder.so,FWK-ONLY,
/system/${LIB}/libbluetooth.so,FWK-ONLY,
/system/${LIB}/libbluetooth_jni.so,FWK-ONLY,
/system/${LIB}/libbootanimation.so,FWK-ONLY,
/system/${LIB}/libbrillo-binder.so,FWK-ONLY,
/system/${LIB}/libbrillo-stream.so,FWK-ONLY,
/system/${LIB}/libbrillo.so,FWK-ONLY,
/system/${LIB}/libbrotli.so,FWK-ONLY,
/system/${LIB}/libbufferhub.so,FWK-ONLY,
/system/${LIB}/libbufferhubqueue.so,FWK-ONLY,
/system/${LIB}/libbz.so,FWK-ONLY,
/system/${LIB}/libc++.so,VNDK-SP,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libc_malloc_debug.so,LL-NDK-Private,
/system/${LIB}/libcamera2ndk.so,FWK-ONLY,
/system/${LIB}/libcamera_client.so,FWK-ONLY,
/system/${LIB}/libcamera_metadata.so,VNDK,
/system/${LIB}/libcameraservice.so,FWK-ONLY,
/system/${LIB}/libcap.so,VNDK,
/system/${LIB}/libcgrouprc.so,LL-NDK,
/system/${LIB}/libchrome.so,FWK-ONLY,
/system/${LIB}/libclang_rt.asan-aarch64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-arm-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-i686-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-mips-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-mips64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.asan-x86_64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.hwasan-aarch64-android.so,LL-NDK,
/system/${LIB}/libclang_rt.scudo-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo-x86_64-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo_minimal-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo_minimal-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo_minimal-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.scudo_minimal-x86_64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/libcn-cbor.so,VNDK,
/system/${LIB}/libcodec2.so,VNDK,
/system/${LIB}/libcodec2_hidl@1.0.so,VNDK,
/system/${LIB}/libcodec2_vndk.so,VNDK,
/system/${LIB}/libcompiler_rt.so,VNDK-SP-Private,
/system/${LIB}/libcrypto.so,VNDK,
/system/${LIB}/libcrypto_utils.so,VNDK,
/system/${LIB}/libcups.so,FWK-ONLY,
/system/${LIB}/libcurl.so,VNDK,
/system/${LIB}/libcutils.so,VNDK-SP,
/system/${LIB}/libdebuggerd_client.so,FWK-ONLY,
/system/${LIB}/libdefcontainer_jni.so,FWK-ONLY,
/system/${LIB}/libdiskconfig.so,VNDK,
/system/${LIB}/libdisplayservicehidl.so,FWK-ONLY,
/system/${LIB}/libdl.so,LL-NDK,
/system/${LIB}/libdl_android.so,LL-NDK-Private,
/system/${LIB}/libdng_sdk.so,FWK-ONLY,
/system/${LIB}/libdrmframework.so,FWK-ONLY,
/system/${LIB}/libdrmframework_jni.so,FWK-ONLY,
/system/${LIB}/libdt_fd_forward.so,FWK-ONLY,
/system/${LIB}/libdt_socket.so,FWK-ONLY,
/system/${LIB}/libdumpstateaidl.so,FWK-ONLY,
/system/${LIB}/libdumpstateutil.so,VNDK,
/system/${LIB}/libeffectsconfig.so,FWK-ONLY,
/system/${LIB}/libevent.so,VNDK,
/system/${LIB}/libexif.so,VNDK,
/system/${LIB}/libexpat.so,VNDK,
/system/${LIB}/libext2_blkid.so,FWK-ONLY,
/system/${LIB}/libext2_com_err.so,FWK-ONLY,
/system/${LIB}/libext2_e2p.so,FWK-ONLY,
/system/${LIB}/libext2_misc.so,FWK-ONLY,
/system/${LIB}/libext2_quota.so,FWK-ONLY,
/system/${LIB}/libext2_uuid.so,FWK-ONLY,
/system/${LIB}/libext2fs.so,FWK-ONLY,
/system/${LIB}/libext4_utils.so,FWK-ONLY,
/system/${LIB}/libf2fs_sparseblock.so,FWK-ONLY,
/system/${LIB}/libfilterfw.so,FWK-ONLY,
/system/${LIB}/libfilterpack_imageproc.so,FWK-ONLY,
/system/${LIB}/libfmq.so,VNDK,
/system/${LIB}/libframesequence.so,FWK-ONLY,
/system/${LIB}/libft2.so,FWK-ONLY-RS,
/system/${LIB}/libgatekeeper.so,VNDK,
/system/${LIB}/libgiftranscode.so,FWK-ONLY,
/system/${LIB}/libgraphicsenv.so,FWK-ONLY,
/system/${LIB}/libgtest_prod.so,FWK-ONLY,
/system/${LIB}/libgui.so,VNDK-Private,
/system/${LIB}/libhardware.so,VNDK-SP,
/system/${LIB}/libhardware_legacy.so,VNDK,
/system/${LIB}/libharfbuzz_ng.so,FWK-ONLY,
/system/${LIB}/libheif.so,FWK-ONLY,
/system/${LIB}/libhidcommand_jni.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-hash.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-utils.so,FWK-ONLY,
/system/${LIB}/libhidlallocatorutils.so,VNDK,
/system/${LIB}/libhidlbase.so,VNDK-SP,
/system/${LIB}/libhidlcache.so,VNDK,
/system/${LIB}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/libhidltransport.so,VNDK-SP,
/system/${LIB}/libhwbinder.so,VNDK-SP,
/system/${LIB}/libhwbinder_noltopgo.so,VNDK-SP,
/system/${LIB}/libhwui.so,FWK-ONLY,
/system/${LIB}/libicui18n.so,FWK-ONLY,
/system/${LIB}/libicuuc.so,FWK-ONLY,
/system/${LIB}/libimg_utils.so,FWK-ONLY,
/system/${LIB}/libincident.so,FWK-ONLY,
/system/${LIB}/libinput.so,FWK-ONLY,
/system/${LIB}/libinputflinger.so,FWK-ONLY,
/system/${LIB}/libinputservice.so,FWK-ONLY,
/system/${LIB}/libion.so,VNDK-SP,
/system/${LIB}/libiprouteutil.so,FWK-ONLY,
/system/${LIB}/libjavacore.so,FWK-ONLY,
/system/${LIB}/libjavacrypto.so,FWK-ONLY,
/system/${LIB}/libjdwp.so,FWK-ONLY,
/system/${LIB}/libjni_pacprocessor.so,FWK-ONLY,
/system/${LIB}/libjnigraphics.so,FWK-ONLY,
/system/${LIB}/libjpeg.so,VNDK,
/system/${LIB}/libjsoncpp.so,VNDK-SP,
/system/${LIB}/libkeymaster4support.so,FWK-ONLY,
/system/${LIB}/libkeymaster_messages.so,VNDK,
/system/${LIB}/libkeymaster_portable.so,VNDK,
/system/${LIB}/libkeystore-engine.so,FWK-ONLY,
/system/${LIB}/libkeystore_aidl.so,FWK-ONLY,
/system/${LIB}/libkeystore_binder.so,FWK-ONLY,
/system/${LIB}/libkeystore_parcelables.so,FWK-ONLY,
/system/${LIB}/libkeyutils.so,FWK-ONLY,
/system/${LIB}/liblayers_proto.so,FWK-ONLY,
/system/${LIB}/libldacBT_abr.so,VNDK,
/system/${LIB}/libldacBT_enc.so,VNDK,
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/liblogwrap.so,FWK-ONLY,
/system/${LIB}/liblshal.so,FWK-ONLY,
/system/${LIB}/liblz4.so,VNDK,
/system/${LIB}/liblzma.so,VNDK-SP,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmdnssd.so,FWK-ONLY,
/system/${LIB}/libmedia.so,FWK-ONLY,
/system/${LIB}/libmedia_helper.so,VNDK,
/system/${LIB}/libmedia_jni.so,FWK-ONLY,
/system/${LIB}/libmedia_omx.so,VNDK,
/system/${LIB}/libmediadrm.so,FWK-ONLY,
/system/${LIB}/libmediaextractorservice.so,FWK-ONLY,
/system/${LIB}/libmedialogservice.so,FWK-ONLY,
/system/${LIB}/libmediametrics.so,FWK-ONLY,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/libmediaplayerservice.so,FWK-ONLY,
/system/${LIB}/libmediautils.so,FWK-ONLY,
/system/${LIB}/libmemtrack.so,VNDK,
/system/${LIB}/libmemunreachable.so,FWK-ONLY,
/system/${LIB}/libmetricslogger.so,FWK-ONLY,
/system/${LIB}/libminijail.so,VNDK,
/system/${LIB}/libminikin.so,FWK-ONLY,
/system/${LIB}/libmkbootimg_abi_check.so,VNDK,
/system/${LIB}/libmtp.so,FWK-ONLY,
/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libnbaio.so,FWK-ONLY,Vendor module should link libnbaio_mono.so
/system/${LIB}/libnblog.so,FWK-ONLY,
/system/${LIB}/libnetd_client.so,LL-NDK-Private,
/system/${LIB}/libnetdutils.so,FWK-ONLY,
/system/${LIB}/libnetlink.so,FWK-ONLY,
/system/${LIB}/libnetutils.so,VNDK,
/system/${LIB}/libneuralnetworks.so,LL-NDK,
/system/${LIB}/libnfc-nci.so,FWK-ONLY,
/system/${LIB}/libnfc_nci_jni.so,FWK-ONLY,
/system/${LIB}/libnl.so,VNDK,
/system/${LIB}/libnpt.so,FWK-ONLY,
/system/${LIB}/libopenjdk.so,FWK-ONLY,
/system/${LIB}/libopenjdkd.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvm.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmd.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmti.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmtid.so,FWK-ONLY,
/system/${LIB}/libopus.so,VNDK,
/system/${LIB}/libpackagelistparser.so,FWK-ONLY,
/system/${LIB}/libpcap.so,FWK-ONLY,
/system/${LIB}/libpcre2.so,VNDK,
/system/${LIB}/libpcrecpp.so,FWK-ONLY,
/system/${LIB}/libpdfium.so,FWK-ONLY,
/system/${LIB}/libpdx_default_transport.so,FWK-ONLY,
/system/${LIB}/libpiex.so,VNDK,
/system/${LIB}/libpixelflinger.so,FWK-ONLY,
/system/${LIB}/libpng.so,VNDK,
/system/${LIB}/libpower.so,VNDK,
/system/${LIB}/libpowermanager.so,FWK-ONLY,
/system/${LIB}/libprintspooler_jni.so,FWK-ONLY,
/system/${LIB}/libprocessgroup.so,VNDK-SP,
/system/${LIB}/libprocinfo.so,VNDK,
/system/${LIB}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/libprotoutil.so,FWK-ONLY,
/system/${LIB}/libpuresoftkeymasterdevice.so,VNDK,
/system/${LIB}/libqtaguid.so,FWK-ONLY,
/system/${LIB}/libradio_metadata.so,VNDK,
/system/${LIB}/libresourcemanagerservice.so,FWK-ONLY,
/system/${LIB}/librs_jni.so,FWK-ONLY,
/system/${LIB}/librtp_jni.so,FWK-ONLY,
/system/${LIB}/libschedulerservicehidl.so,FWK-ONLY,
/system/${LIB}/libselinux.so,VNDK,
/system/${LIB}/libsensor.so,FWK-ONLY,
/system/${LIB}/libsensorservice.so,FWK-ONLY,
/system/${LIB}/libsensorservicehidl.so,FWK-ONLY,
/system/${LIB}/libsepol.so,FWK-ONLY,
/system/${LIB}/libservices.so,FWK-ONLY,
/system/${LIB}/libsigchain.so,FWK-ONLY,
/system/${LIB}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/libsonic.so,FWK-ONLY,
/system/${LIB}/libsonivox.so,FWK-ONLY,
/system/${LIB}/libsoundpool.so,FWK-ONLY,
/system/${LIB}/libsoundtrigger.so,FWK-ONLY,
/system/${LIB}/libsoundtriggerservice.so,FWK-ONLY,
/system/${LIB}/libsparse.so,FWK-ONLY,
/system/${LIB}/libspeexresampler.so,VNDK,
/system/${LIB}/libsqlite.so,VNDK,
/system/${LIB}/libssl.so,VNDK,
/system/${LIB}/libstagefright.so,FWK-ONLY,
/system/${LIB}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/libstagefright_bufferpool@2.0.so,VNDK,
/system/${LIB}/libstagefright_bufferqueue_helper.so,VNDK,
/system/${LIB}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/libstagefright_foundation.so,VNDK,
/system/${LIB}/libstagefright_http_support.so,FWK-ONLY,
/system/${LIB}/libstagefright_httplive.so,FWK-ONLY,
/system/${LIB}/libstagefright_omx.so,VNDK,
/system/${LIB}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/libstagefright_soft_aacdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_aacenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_amrdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_amrnbenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_amrwbenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_avcdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_avcenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_flacdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_flacenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_g711dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_gsmdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_hevcdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mp3dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mpeg2dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mpeg4dec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_mpeg4enc.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_opusdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_rawdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_vorbisdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_vpxdec.so,FWK-ONLY,
/system/${LIB}/libstagefright_soft_vpxenc.so,FWK-ONLY,
/system/${LIB}/libstagefright_softomx.so,VNDK,
/system/${LIB}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/libstatslog.so,FWK-ONLY,
/system/${LIB}/libstdc++.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,FWK-ONLY,
/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtextclassifier_hash.so,LL-NDK-Private,
/system/${LIB}/libtinyalsa.so,VNDK,
/system/${LIB}/libtinyxml2.so,VNDK,
/system/${LIB}/libtombstoned_client.so,FWK-ONLY,
/system/${LIB}/libui.so,VNDK,
/system/${LIB}/libunwind.so,FWK-ONLY,
/system/${LIB}/libunwindstack.so,VNDK-SP,
/system/${LIB}/libusbhost.so,VNDK,
/system/${LIB}/libutils.so,VNDK-SP,
/system/${LIB}/libutilscallstack.so,VNDK-SP,
/system/${LIB}/libvintf.so,FWK-ONLY,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,VNDK,
/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
/system/${LIB}/libwfds.so,FWK-ONLY,
/system/${LIB}/libwifi-service.so,FWK-ONLY,
/system/${LIB}/libwifi-system-iface.so,VNDK,
/system/${LIB}/libwifi-system.so,FWK-ONLY,
/system/${LIB}/libwifikeystorehal.so,FWK-ONLY,
/system/${LIB}/libwilhelm.so,FWK-ONLY,
/system/${LIB}/libxml2.so,VNDK,
/system/${LIB}/libyuv.so,VNDK,
/system/${LIB}/libz.so,VNDK-SP,
/system/${LIB}/libziparchive.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.cameraservice.common@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.cameraservice.device@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.cameraservice.service@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.stats@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.atrace@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0-util.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@5.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@5.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@5.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.authsecret@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.audiocontrol@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.face@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth.a2dp@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth.audio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.5.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.5.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui-support-lib.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.fastboot@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss.measurement_corrections@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss.visibility_control@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.allocator@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.allocator@3.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health.storage@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.health@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.input.classifier@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.input.common@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@4.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.bufferpool@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.bufferpool@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.c2@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power.stats@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.secure_element@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.secure_element@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0-core.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb.gadget@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.hostapd@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.hostapd@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.3.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.memory.block@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.1.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.suspend@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libadf.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioroute.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libaudioutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libbinder.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-aarch64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-arm-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-i686-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-x86_64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-aarch64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-arm-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-i686-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-x86_64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcn-cbor.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcodec2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcodec2_hidl@1.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcodec2_vndk.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libcurl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libevent.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexif.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libexpat.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libfmq.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libgui.so,VNDK-Private,
/system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libhidlallocatorutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libhidlcache.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libjpeg.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libkeymaster_portable.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/liblz4.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmemtrack.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libminijail.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libmkbootimg_abi_check.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnetutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libnl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libopus.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpagemap.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpcre2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpiex.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpng.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpower.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprocinfo.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libpuresoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libselinux.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsqlite.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libssl.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_bufferpool@2.0.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_bufferqueue_helper.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_softomx.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsuspend.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libsysutils.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libui.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libusbhost.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libvorbisidec.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libwifi-system-iface.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libxml2.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libyuv.so,VNDK,
/system/${LIB}/vndk${VNDK_VER}/libziparchive.so,VNDK,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.1.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.2.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.1.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@3.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory.token@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.safe_union@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libbinderthreadstate.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libblas.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libc++.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libdexfile.so,VNDK-SP-Private,Workaround for degenerated VDNK
/system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder_noltopgo.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libion.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libjsoncpp.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libprocessgroup.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so,VNDK-SP-Private,
/system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libutils.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libutilscallstack.so,VNDK-SP,
/system/${LIB}/vndk-sp${VNDK_VER}/libz.so,VNDK-SP,
/vendor/${LIB}/hidl.tests.vendor@1.0.so,VND-ONLY,
/vendor/${LIB}/hidl.tests.vendor@1.1.so,VND-ONLY,
/vendor/${LIB}/libavservices_minijail_vendor.so,VND-ONLY,Framework module should link libavservices_minijail.so
/vendor/${LIB}/libcld80211.so,VND-ONLY,
/vendor/${LIB}/libeffects.so,VND-ONLY,
/vendor/${LIB}/libhwc2on1adapter.so,VND-ONLY,
/vendor/${LIB}/libnbaio_mono.so,VND-ONLY,
/vendor/${LIB}/libreference-ril.so,VND-ONLY,
/vendor/${LIB}/libril.so,VND-ONLY,
/vendor/${LIB}/librilutils.so,VND-ONLY,
/vendor/${LIB}/libtinycompress.so,VND-ONLY,
/vendor/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libaudiopreprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libbundlewrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libdownmix.so,VND-ONLY,
/vendor/${LIB}/soundfx/libeffectproxy.so,VND-ONLY,
/vendor/${LIB}/soundfx/libldnhncr.so,VND-ONLY,
/vendor/${LIB}/soundfx/libreverbwrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libvisualizer.so,VND-ONLY,
[regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$,SP-HAL,
[regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$,SP-HAL,
[regex]^.*/gralloc\..*\.so$,SP-HAL,
[regex]^/vendor/.*/libEGL_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLES_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv1_CM_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv2_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv3_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libPVRRS\.so$,SP-HAL,
[regex]^/vendor/.*/libRSDriver.*\.so$,SP-HAL,
[regex]^/vendor/.*/vulkan.*\.so$,SP-HAL,
1 Path Tag Comments
2 /apex/com.android.runtime/${LIB}/bionic/libc.so LL-NDK
3 /apex/com.android.runtime/${LIB}/bionic/libdl.so LL-NDK
4 /apex/com.android.runtime/${LIB}/bionic/libm.so LL-NDK
5 /system/${LIB}/android.frameworks.cameraservice.common@2.0.so VNDK
6 /system/${LIB}/android.frameworks.cameraservice.device@2.0.so VNDK
7 /system/${LIB}/android.frameworks.cameraservice.service@2.0.so VNDK
8 /system/${LIB}/android.frameworks.displayservice@1.0.so VNDK
9 /system/${LIB}/android.frameworks.schedulerservice@1.0.so VNDK
10 /system/${LIB}/android.frameworks.sensorservice@1.0.so VNDK
11 /system/${LIB}/android.frameworks.stats@1.0.so VNDK
12 /system/${LIB}/android.frameworks.vr.composer@1.0.so VNDK
13 /system/${LIB}/android.hardware.atrace@1.0.so VNDK
14 /system/${LIB}/android.hardware.audio.common-util.so FWK-ONLY
15 /system/${LIB}/android.hardware.audio.common@2.0-util.so FWK-ONLY
16 /system/${LIB}/android.hardware.audio.common@2.0.so VNDK
17 /system/${LIB}/android.hardware.audio.common@4.0-util.so FWK-ONLY
18 /system/${LIB}/android.hardware.audio.common@4.0.so VNDK
19 /system/${LIB}/android.hardware.audio.common@5.0.so VNDK
20 /system/${LIB}/android.hardware.audio.effect@2.0.so VNDK
21 /system/${LIB}/android.hardware.audio.effect@4.0.so VNDK
22 /system/${LIB}/android.hardware.audio.effect@5.0.so VNDK
23 /system/${LIB}/android.hardware.audio@2.0.so VNDK
24 /system/${LIB}/android.hardware.audio@4.0.so VNDK
25 /system/${LIB}/android.hardware.audio@5.0.so VNDK
26 /system/${LIB}/android.hardware.authsecret@1.0.so VNDK
27 /system/${LIB}/android.hardware.automotive.audiocontrol@1.0.so VNDK
28 /system/${LIB}/android.hardware.automotive.evs@1.0.so VNDK
29 /system/${LIB}/android.hardware.automotive.vehicle@2.0.so VNDK
30 /system/${LIB}/android.hardware.biometrics.face@1.0.so VNDK
31 /system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so VNDK
32 /system/${LIB}/android.hardware.bluetooth.a2dp@1.0.so VNDK
33 /system/${LIB}/android.hardware.bluetooth.audio@2.0.so VNDK
34 /system/${LIB}/android.hardware.bluetooth@1.0.so VNDK
35 /system/${LIB}/android.hardware.boot@1.0.so VNDK
36 /system/${LIB}/android.hardware.broadcastradio@1.0.so VNDK
37 /system/${LIB}/android.hardware.broadcastradio@1.1.so VNDK
38 /system/${LIB}/android.hardware.broadcastradio@2.0.so VNDK
39 /system/${LIB}/android.hardware.camera.common@1.0.so VNDK
40 /system/${LIB}/android.hardware.camera.device@1.0.so VNDK
41 /system/${LIB}/android.hardware.camera.device@3.2.so VNDK
42 /system/${LIB}/android.hardware.camera.device@3.3.so VNDK
43 /system/${LIB}/android.hardware.camera.device@3.4.so VNDK
44 /system/${LIB}/android.hardware.camera.device@3.5.so VNDK
45 /system/${LIB}/android.hardware.camera.metadata@3.2.so VNDK
46 /system/${LIB}/android.hardware.camera.metadata@3.3.so VNDK
47 /system/${LIB}/android.hardware.camera.metadata@3.4.so VNDK
48 /system/${LIB}/android.hardware.camera.provider@2.4.so VNDK
49 /system/${LIB}/android.hardware.camera.provider@2.5.so VNDK
50 /system/${LIB}/android.hardware.cas.native@1.0.so VNDK
51 /system/${LIB}/android.hardware.cas@1.0.so VNDK
52 /system/${LIB}/android.hardware.cas@1.1.so VNDK
53 /system/${LIB}/android.hardware.configstore-utils.so VNDK
54 /system/${LIB}/android.hardware.configstore@1.0.so VNDK
55 /system/${LIB}/android.hardware.configstore@1.1.so VNDK
56 /system/${LIB}/android.hardware.confirmationui-support-lib.so VNDK
57 /system/${LIB}/android.hardware.confirmationui@1.0.so VNDK
58 /system/${LIB}/android.hardware.contexthub@1.0.so VNDK
59 /system/${LIB}/android.hardware.drm@1.0.so VNDK
60 /system/${LIB}/android.hardware.drm@1.1.so VNDK
61 /system/${LIB}/android.hardware.drm@1.2.so VNDK
62 /system/${LIB}/android.hardware.dumpstate@1.0.so VNDK
63 /system/${LIB}/android.hardware.fastboot@1.0.so VNDK
64 /system/${LIB}/android.hardware.gatekeeper@1.0.so VNDK
65 /system/${LIB}/android.hardware.gnss.measurement_corrections@1.0.so VNDK
66 /system/${LIB}/android.hardware.gnss.visibility_control@1.0.so VNDK
67 /system/${LIB}/android.hardware.gnss@1.0.so VNDK
68 /system/${LIB}/android.hardware.gnss@1.1.so VNDK
69 /system/${LIB}/android.hardware.gnss@2.0.so VNDK
70 /system/${LIB}/android.hardware.graphics.allocator@2.0.so VNDK
71 /system/${LIB}/android.hardware.graphics.allocator@3.0.so VNDK
72 /system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so VNDK
73 /system/${LIB}/android.hardware.graphics.bufferqueue@2.0.so VNDK
74 /system/${LIB}/android.hardware.graphics.common@1.0.so VNDK-SP
75 /system/${LIB}/android.hardware.graphics.common@1.1.so VNDK-SP
76 /system/${LIB}/android.hardware.graphics.common@1.2.so VNDK-SP
77 /system/${LIB}/android.hardware.graphics.composer@2.1.so VNDK
78 /system/${LIB}/android.hardware.graphics.composer@2.2.so VNDK
79 /system/${LIB}/android.hardware.graphics.composer@2.3.so VNDK
80 /system/${LIB}/android.hardware.graphics.mapper@2.0.so VNDK-SP
81 /system/${LIB}/android.hardware.graphics.mapper@2.1.so VNDK-SP
82 /system/${LIB}/android.hardware.graphics.mapper@3.0.so VNDK-SP
83 /system/${LIB}/android.hardware.health.storage@1.0.so VNDK
84 /system/${LIB}/android.hardware.health@1.0.so VNDK
85 /system/${LIB}/android.hardware.health@2.0.so VNDK
86 /system/${LIB}/android.hardware.input.classifier@1.0.so VNDK
87 /system/${LIB}/android.hardware.input.common@1.0.so VNDK
88 /system/${LIB}/android.hardware.ir@1.0.so VNDK
89 /system/${LIB}/android.hardware.keymaster@3.0.so VNDK
90 /system/${LIB}/android.hardware.keymaster@4.0.so VNDK
91 /system/${LIB}/android.hardware.light@2.0.so VNDK
92 /system/${LIB}/android.hardware.media.bufferpool@1.0.so VNDK
93 /system/${LIB}/android.hardware.media.bufferpool@2.0.so VNDK
94 /system/${LIB}/android.hardware.media.c2@1.0.so VNDK
95 /system/${LIB}/android.hardware.media.omx@1.0.so VNDK
96 /system/${LIB}/android.hardware.media@1.0.so VNDK
97 /system/${LIB}/android.hardware.memtrack@1.0.so VNDK
98 /system/${LIB}/android.hardware.neuralnetworks@1.0.so VNDK
99 /system/${LIB}/android.hardware.neuralnetworks@1.1.so VNDK
100 /system/${LIB}/android.hardware.neuralnetworks@1.2.so VNDK
101 /system/${LIB}/android.hardware.nfc@1.0.so VNDK
102 /system/${LIB}/android.hardware.nfc@1.1.so VNDK
103 /system/${LIB}/android.hardware.nfc@1.2.so VNDK
104 /system/${LIB}/android.hardware.oemlock@1.0.so VNDK
105 /system/${LIB}/android.hardware.power.stats@1.0.so VNDK
106 /system/${LIB}/android.hardware.power@1.0.so VNDK
107 /system/${LIB}/android.hardware.power@1.1.so VNDK
108 /system/${LIB}/android.hardware.power@1.2.so VNDK
109 /system/${LIB}/android.hardware.power@1.3.so VNDK
110 /system/${LIB}/android.hardware.radio.config@1.0.so VNDK
111 /system/${LIB}/android.hardware.radio.config@1.1.so VNDK
112 /system/${LIB}/android.hardware.radio.config@1.2.so VNDK
113 /system/${LIB}/android.hardware.radio.deprecated@1.0.so VNDK
114 /system/${LIB}/android.hardware.radio@1.0.so VNDK
115 /system/${LIB}/android.hardware.radio@1.1.so VNDK
116 /system/${LIB}/android.hardware.radio@1.2.so VNDK
117 /system/${LIB}/android.hardware.radio@1.3.so VNDK
118 /system/${LIB}/android.hardware.radio@1.4.so VNDK
119 /system/${LIB}/android.hardware.renderscript@1.0.so VNDK-SP
120 /system/${LIB}/android.hardware.secure_element@1.0.so VNDK
121 /system/${LIB}/android.hardware.secure_element@1.1.so VNDK
122 /system/${LIB}/android.hardware.sensors@1.0.so VNDK
123 /system/${LIB}/android.hardware.sensors@2.0.so VNDK
124 /system/${LIB}/android.hardware.soundtrigger@2.0-core.so VNDK
125 /system/${LIB}/android.hardware.soundtrigger@2.0.so VNDK
126 /system/${LIB}/android.hardware.soundtrigger@2.1.so VNDK
127 /system/${LIB}/android.hardware.soundtrigger@2.2.so VNDK
128 /system/${LIB}/android.hardware.tetheroffload.config@1.0.so VNDK
129 /system/${LIB}/android.hardware.tetheroffload.control@1.0.so VNDK
130 /system/${LIB}/android.hardware.thermal@1.0.so VNDK
131 /system/${LIB}/android.hardware.thermal@1.1.so VNDK
132 /system/${LIB}/android.hardware.thermal@2.0.so VNDK
133 /system/${LIB}/android.hardware.tv.cec@1.0.so VNDK
134 /system/${LIB}/android.hardware.tv.cec@2.0.so VNDK
135 /system/${LIB}/android.hardware.tv.input@1.0.so VNDK
136 /system/${LIB}/android.hardware.usb.gadget@1.0.so VNDK
137 /system/${LIB}/android.hardware.usb@1.0.so VNDK
138 /system/${LIB}/android.hardware.usb@1.1.so VNDK
139 /system/${LIB}/android.hardware.usb@1.2.so VNDK
140 /system/${LIB}/android.hardware.vibrator@1.0.so VNDK
141 /system/${LIB}/android.hardware.vibrator@1.1.so VNDK
142 /system/${LIB}/android.hardware.vibrator@1.2.so VNDK
143 /system/${LIB}/android.hardware.vibrator@1.3.so VNDK
144 /system/${LIB}/android.hardware.vr@1.0.so VNDK
145 /system/${LIB}/android.hardware.weaver@1.0.so VNDK
146 /system/${LIB}/android.hardware.wifi.hostapd@1.0.so VNDK
147 /system/${LIB}/android.hardware.wifi.hostapd@1.1.so VNDK
148 /system/${LIB}/android.hardware.wifi.offload@1.0.so VNDK
149 /system/${LIB}/android.hardware.wifi.supplicant@1.0.so VNDK
150 /system/${LIB}/android.hardware.wifi.supplicant@1.1.so VNDK
151 /system/${LIB}/android.hardware.wifi.supplicant@1.2.so VNDK
152 /system/${LIB}/android.hardware.wifi@1.0.so VNDK
153 /system/${LIB}/android.hardware.wifi@1.1.so VNDK
154 /system/${LIB}/android.hardware.wifi@1.2.so VNDK
155 /system/${LIB}/android.hardware.wifi@1.3.so VNDK
156 /system/${LIB}/android.hidl.allocator@1.0.so VNDK
157 /system/${LIB}/android.hidl.memory.block@1.0.so VNDK
158 /system/${LIB}/android.hidl.memory.token@1.0.so VNDK-SP
159 /system/${LIB}/android.hidl.memory@1.0.so VNDK-SP
160 /system/${LIB}/android.hidl.safe_union@1.0.so VNDK-SP
161 /system/${LIB}/android.hidl.token@1.0-utils.so VNDK
162 /system/${LIB}/android.hidl.token@1.0.so VNDK
163 /system/${LIB}/android.system.net.netd@1.0.so VNDK
164 /system/${LIB}/android.system.net.netd@1.1.so VNDK
165 /system/${LIB}/android.system.suspend@1.0.so VNDK
166 /system/${LIB}/android.system.wifi.keystore@1.0.so VNDK
167 /system/${LIB}/drm/libfwdlockengine.so FWK-ONLY
168 /system/${LIB}/extractors/libaacextractor.so FWK-ONLY
169 /system/${LIB}/extractors/libamrextractor.so FWK-ONLY
170 /system/${LIB}/extractors/libflacextractor.so FWK-ONLY
171 /system/${LIB}/extractors/libmidiextractor.so FWK-ONLY
172 /system/${LIB}/extractors/libmkvextractor.so FWK-ONLY
173 /system/${LIB}/extractors/libmp3extractor.so FWK-ONLY
174 /system/${LIB}/extractors/libmp4extractor.so FWK-ONLY
175 /system/${LIB}/extractors/libmpeg2extractor.so FWK-ONLY
176 /system/${LIB}/extractors/liboggextractor.so FWK-ONLY
177 /system/${LIB}/extractors/libwavextractor.so FWK-ONLY
178 /system/${LIB}/hw/android.hidl.memory@1.0-impl.so VNDK-SP
179 /system/${LIB}/hw/audio.a2dp.default.so FWK-ONLY
180 /system/${LIB}/ld-android.so LL-NDK-Private
181 /system/${LIB}/libEGL.so LL-NDK
182 /system/${LIB}/libETC1.so FWK-ONLY
183 /system/${LIB}/libFFTEm.so FWK-ONLY
184 /system/${LIB}/libGLESv1_CM.so LL-NDK
185 /system/${LIB}/libGLESv2.so LL-NDK
186 /system/${LIB}/libGLESv3.so LL-NDK
187 /system/${LIB}/libLLVM_android.so FWK-ONLY
188 /system/${LIB}/libOpenMAXAL.so FWK-ONLY
189 /system/${LIB}/libOpenSLES.so FWK-ONLY
190 /system/${LIB}/libRS.so LL-NDK
191 /system/${LIB}/libRSCacheDir.so FWK-ONLY
192 /system/${LIB}/libRSCpuRef.so VNDK-SP
193 /system/${LIB}/libRSDriver.so VNDK-SP
194 /system/${LIB}/libRS_internal.so VNDK-SP
195 /system/${LIB}/libRScpp.so FWK-ONLY
196 /system/${LIB}/libaaudio.so FWK-ONLY
197 /system/${LIB}/libaaudioservice.so FWK-ONLY
198 /system/${LIB}/libadbconnection.so FWK-ONLY
199 /system/${LIB}/libadbconnectiond.so FWK-ONLY
200 /system/${LIB}/libadf.so VNDK
201 /system/${LIB}/libandroid.so FWK-ONLY
202 /system/${LIB}/libandroid_net.so LL-NDK
203 /system/${LIB}/libandroid_runtime.so FWK-ONLY
204 /system/${LIB}/libandroid_servers.so FWK-ONLY
205 /system/${LIB}/libandroidfw.so FWK-ONLY
206 /system/${LIB}/libappfuse.so FWK-ONLY
207 /system/${LIB}/libart-compiler.so FWK-ONLY
208 /system/${LIB}/libart-dexlayout.so FWK-ONLY
209 /system/${LIB}/libart-disassembler.so FWK-ONLY
210 /system/${LIB}/libart.so FWK-ONLY
211 /system/${LIB}/libartd-compiler.so FWK-ONLY
212 /system/${LIB}/libartd-dexlayout.so FWK-ONLY
213 /system/${LIB}/libartd.so FWK-ONLY
214 /system/${LIB}/libasyncio.so FWK-ONLY
215 /system/${LIB}/libaudioclient.so FWK-ONLY
216 /system/${LIB}/libaudioeffect_jni.so FWK-ONLY
217 /system/${LIB}/libaudioflinger.so FWK-ONLY
218 /system/${LIB}/libaudiohal.so FWK-ONLY
219 /system/${LIB}/libaudiohal@2.0.so FWK-ONLY
220 /system/${LIB}/libaudiohal_deathhandler.so FWK-ONLY
221 /system/${LIB}/libaudiomanager.so FWK-ONLY
222 /system/${LIB}/libaudiopolicyenginedefault.so FWK-ONLY
223 /system/${LIB}/libaudiopolicymanager.so FWK-ONLY
224 /system/${LIB}/libaudiopolicymanagerdefault.so FWK-ONLY
225 /system/${LIB}/libaudiopolicyservice.so FWK-ONLY
226 /system/${LIB}/libaudioprocessing.so FWK-ONLY
227 /system/${LIB}/libaudioroute.so VNDK
228 /system/${LIB}/libaudiospdif.so FWK-ONLY
229 /system/${LIB}/libaudioutils.so VNDK
230 /system/${LIB}/libavservices_minijail.so FWK-ONLY Vendor module should link libavservices_minijail_vendor.so
231 /system/${LIB}/libbacktrace.so VNDK-SP-Private
232 /system/${LIB}/libbase.so VNDK-SP
233 /system/${LIB}/libbcc.so FWK-ONLY
234 /system/${LIB}/libbcinfo.so VNDK-SP
235 /system/${LIB}/libbinder.so VNDK
236 /system/${LIB}/libbinderthreadstate.so VNDK-SP-Private
237 /system/${LIB}/libbinderwrapper.so FWK-ONLY
238 /system/${LIB}/libblas.so VNDK-SP-Private
239 /system/${LIB}/libbluetooth-binder.so FWK-ONLY
240 /system/${LIB}/libbluetooth.so FWK-ONLY
241 /system/${LIB}/libbluetooth_jni.so FWK-ONLY
242 /system/${LIB}/libbootanimation.so FWK-ONLY
243 /system/${LIB}/libbrillo-binder.so FWK-ONLY
244 /system/${LIB}/libbrillo-stream.so FWK-ONLY
245 /system/${LIB}/libbrillo.so FWK-ONLY
246 /system/${LIB}/libbrotli.so FWK-ONLY
247 /system/${LIB}/libbufferhub.so FWK-ONLY
248 /system/${LIB}/libbufferhubqueue.so FWK-ONLY
249 /system/${LIB}/libbz.so FWK-ONLY
250 /system/${LIB}/libc++.so VNDK-SP
251 /system/${LIB}/libc.so LL-NDK
252 /system/${LIB}/libc_malloc_debug.so LL-NDK-Private
253 /system/${LIB}/libcamera2ndk.so FWK-ONLY
254 /system/${LIB}/libcamera_client.so FWK-ONLY
255 /system/${LIB}/libcamera_metadata.so VNDK
256 /system/${LIB}/libcameraservice.so FWK-ONLY
257 /system/${LIB}/libcap.so VNDK
258 /system/${LIB}/libcgrouprc.so LL-NDK
259 /system/${LIB}/libchrome.so FWK-ONLY
260 /system/${LIB}/libclang_rt.asan-aarch64-android.so LL-NDK
261 /system/${LIB}/libclang_rt.asan-arm-android.so LL-NDK
262 /system/${LIB}/libclang_rt.asan-i686-android.so LL-NDK
263 /system/${LIB}/libclang_rt.asan-mips-android.so LL-NDK
264 /system/${LIB}/libclang_rt.asan-mips64-android.so LL-NDK
265 /system/${LIB}/libclang_rt.asan-x86_64-android.so LL-NDK
266 /system/${LIB}/libclang_rt.hwasan-aarch64-android.so LL-NDK
267 /system/${LIB}/libclang_rt.scudo-aarch64-android.so VNDK
268 /system/${LIB}/libclang_rt.scudo-arm-android.so VNDK
269 /system/${LIB}/libclang_rt.scudo-i686-android.so VNDK
270 /system/${LIB}/libclang_rt.scudo-x86_64-android.so VNDK
271 /system/${LIB}/libclang_rt.scudo_minimal-aarch64-android.so VNDK
272 /system/${LIB}/libclang_rt.scudo_minimal-arm-android.so VNDK
273 /system/${LIB}/libclang_rt.scudo_minimal-i686-android.so VNDK
274 /system/${LIB}/libclang_rt.scudo_minimal-x86_64-android.so VNDK
275 /system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
276 /system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so VNDK
277 /system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so VNDK
278 /system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
279 /system/${LIB}/libcn-cbor.so VNDK
280 /system/${LIB}/libcodec2.so VNDK
281 /system/${LIB}/libcodec2_hidl@1.0.so VNDK
282 /system/${LIB}/libcodec2_vndk.so VNDK
283 /system/${LIB}/libcompiler_rt.so VNDK-SP-Private
284 /system/${LIB}/libcrypto.so VNDK
285 /system/${LIB}/libcrypto_utils.so VNDK
286 /system/${LIB}/libcups.so FWK-ONLY
287 /system/${LIB}/libcurl.so VNDK
288 /system/${LIB}/libcutils.so VNDK-SP
289 /system/${LIB}/libdebuggerd_client.so FWK-ONLY
290 /system/${LIB}/libdefcontainer_jni.so FWK-ONLY
291 /system/${LIB}/libdiskconfig.so VNDK
292 /system/${LIB}/libdisplayservicehidl.so FWK-ONLY
293 /system/${LIB}/libdl.so LL-NDK
294 /system/${LIB}/libdl_android.so LL-NDK-Private
295 /system/${LIB}/libdng_sdk.so FWK-ONLY
296 /system/${LIB}/libdrmframework.so FWK-ONLY
297 /system/${LIB}/libdrmframework_jni.so FWK-ONLY
298 /system/${LIB}/libdt_fd_forward.so FWK-ONLY
299 /system/${LIB}/libdt_socket.so FWK-ONLY
300 /system/${LIB}/libdumpstateaidl.so FWK-ONLY
301 /system/${LIB}/libdumpstateutil.so VNDK
302 /system/${LIB}/libeffectsconfig.so FWK-ONLY
303 /system/${LIB}/libevent.so VNDK
304 /system/${LIB}/libexif.so VNDK
305 /system/${LIB}/libexpat.so VNDK
306 /system/${LIB}/libext2_blkid.so FWK-ONLY
307 /system/${LIB}/libext2_com_err.so FWK-ONLY
308 /system/${LIB}/libext2_e2p.so FWK-ONLY
309 /system/${LIB}/libext2_misc.so FWK-ONLY
310 /system/${LIB}/libext2_quota.so FWK-ONLY
311 /system/${LIB}/libext2_uuid.so FWK-ONLY
312 /system/${LIB}/libext2fs.so FWK-ONLY
313 /system/${LIB}/libext4_utils.so FWK-ONLY
314 /system/${LIB}/libf2fs_sparseblock.so FWK-ONLY
315 /system/${LIB}/libfilterfw.so FWK-ONLY
316 /system/${LIB}/libfilterpack_imageproc.so FWK-ONLY
317 /system/${LIB}/libfmq.so VNDK
318 /system/${LIB}/libframesequence.so FWK-ONLY
319 /system/${LIB}/libft2.so FWK-ONLY-RS
320 /system/${LIB}/libgatekeeper.so VNDK
321 /system/${LIB}/libgiftranscode.so FWK-ONLY
322 /system/${LIB}/libgraphicsenv.so FWK-ONLY
323 /system/${LIB}/libgtest_prod.so FWK-ONLY
324 /system/${LIB}/libgui.so VNDK-Private
325 /system/${LIB}/libhardware.so VNDK-SP
326 /system/${LIB}/libhardware_legacy.so VNDK
327 /system/${LIB}/libharfbuzz_ng.so FWK-ONLY
328 /system/${LIB}/libheif.so FWK-ONLY
329 /system/${LIB}/libhidcommand_jni.so FWK-ONLY
330 /system/${LIB}/libhidl-gen-hash.so FWK-ONLY
331 /system/${LIB}/libhidl-gen-utils.so FWK-ONLY
332 /system/${LIB}/libhidlallocatorutils.so VNDK
333 /system/${LIB}/libhidlbase.so VNDK-SP
334 /system/${LIB}/libhidlcache.so VNDK
335 /system/${LIB}/libhidlmemory.so VNDK-SP
336 /system/${LIB}/libhidltransport.so VNDK-SP
337 /system/${LIB}/libhwbinder.so VNDK-SP
338 /system/${LIB}/libhwbinder_noltopgo.so VNDK-SP
339 /system/${LIB}/libhwui.so FWK-ONLY
340 /system/${LIB}/libicui18n.so FWK-ONLY
341 /system/${LIB}/libicuuc.so FWK-ONLY
342 /system/${LIB}/libimg_utils.so FWK-ONLY
343 /system/${LIB}/libincident.so FWK-ONLY
344 /system/${LIB}/libinput.so FWK-ONLY
345 /system/${LIB}/libinputflinger.so FWK-ONLY
346 /system/${LIB}/libinputservice.so FWK-ONLY
347 /system/${LIB}/libion.so VNDK-SP
348 /system/${LIB}/libiprouteutil.so FWK-ONLY
349 /system/${LIB}/libjavacore.so FWK-ONLY
350 /system/${LIB}/libjavacrypto.so FWK-ONLY
351 /system/${LIB}/libjdwp.so FWK-ONLY
352 /system/${LIB}/libjni_pacprocessor.so FWK-ONLY
353 /system/${LIB}/libjnigraphics.so FWK-ONLY
354 /system/${LIB}/libjpeg.so VNDK
355 /system/${LIB}/libjsoncpp.so VNDK-SP
356 /system/${LIB}/libkeymaster4support.so FWK-ONLY
357 /system/${LIB}/libkeymaster_messages.so VNDK
358 /system/${LIB}/libkeymaster_portable.so VNDK
359 /system/${LIB}/libkeystore-engine.so FWK-ONLY
360 /system/${LIB}/libkeystore_aidl.so FWK-ONLY
361 /system/${LIB}/libkeystore_binder.so FWK-ONLY
362 /system/${LIB}/libkeystore_parcelables.so FWK-ONLY
363 /system/${LIB}/libkeyutils.so FWK-ONLY
364 /system/${LIB}/liblayers_proto.so FWK-ONLY
365 /system/${LIB}/libldacBT_abr.so VNDK
366 /system/${LIB}/libldacBT_enc.so VNDK
367 /system/${LIB}/liblog.so LL-NDK
368 /system/${LIB}/liblogwrap.so FWK-ONLY
369 /system/${LIB}/liblshal.so FWK-ONLY
370 /system/${LIB}/liblz4.so VNDK
371 /system/${LIB}/liblzma.so VNDK-SP
372 /system/${LIB}/libm.so LL-NDK
373 /system/${LIB}/libmdnssd.so FWK-ONLY
374 /system/${LIB}/libmedia.so FWK-ONLY
375 /system/${LIB}/libmedia_helper.so VNDK
376 /system/${LIB}/libmedia_jni.so FWK-ONLY
377 /system/${LIB}/libmedia_omx.so VNDK
378 /system/${LIB}/libmediadrm.so FWK-ONLY
379 /system/${LIB}/libmediaextractorservice.so FWK-ONLY
380 /system/${LIB}/libmedialogservice.so FWK-ONLY
381 /system/${LIB}/libmediametrics.so FWK-ONLY
382 /system/${LIB}/libmediandk.so FWK-ONLY-RS
383 /system/${LIB}/libmediaplayerservice.so FWK-ONLY
384 /system/${LIB}/libmediautils.so FWK-ONLY
385 /system/${LIB}/libmemtrack.so VNDK
386 /system/${LIB}/libmemunreachable.so FWK-ONLY
387 /system/${LIB}/libmetricslogger.so FWK-ONLY
388 /system/${LIB}/libminijail.so VNDK
389 /system/${LIB}/libminikin.so FWK-ONLY
390 /system/${LIB}/libmkbootimg_abi_check.so VNDK
391 /system/${LIB}/libmtp.so FWK-ONLY
392 /system/${LIB}/libnativewindow.so LL-NDK
393 /system/${LIB}/libnbaio.so FWK-ONLY Vendor module should link libnbaio_mono.so
394 /system/${LIB}/libnblog.so FWK-ONLY
395 /system/${LIB}/libnetd_client.so LL-NDK-Private
396 /system/${LIB}/libnetdutils.so FWK-ONLY
397 /system/${LIB}/libnetlink.so FWK-ONLY
398 /system/${LIB}/libnetutils.so VNDK
399 /system/${LIB}/libneuralnetworks.so LL-NDK
400 /system/${LIB}/libnfc-nci.so FWK-ONLY
401 /system/${LIB}/libnfc_nci_jni.so FWK-ONLY
402 /system/${LIB}/libnl.so VNDK
403 /system/${LIB}/libnpt.so FWK-ONLY
404 /system/${LIB}/libopenjdk.so FWK-ONLY
405 /system/${LIB}/libopenjdkd.so FWK-ONLY
406 /system/${LIB}/libopenjdkjvm.so FWK-ONLY
407 /system/${LIB}/libopenjdkjvmd.so FWK-ONLY
408 /system/${LIB}/libopenjdkjvmti.so FWK-ONLY
409 /system/${LIB}/libopenjdkjvmtid.so FWK-ONLY
410 /system/${LIB}/libopus.so VNDK
411 /system/${LIB}/libpackagelistparser.so FWK-ONLY
412 /system/${LIB}/libpcap.so FWK-ONLY
413 /system/${LIB}/libpcre2.so VNDK
414 /system/${LIB}/libpcrecpp.so FWK-ONLY
415 /system/${LIB}/libpdfium.so FWK-ONLY
416 /system/${LIB}/libpdx_default_transport.so FWK-ONLY
417 /system/${LIB}/libpiex.so VNDK
418 /system/${LIB}/libpixelflinger.so FWK-ONLY
419 /system/${LIB}/libpng.so VNDK
420 /system/${LIB}/libpower.so VNDK
421 /system/${LIB}/libpowermanager.so FWK-ONLY
422 /system/${LIB}/libprintspooler_jni.so FWK-ONLY
423 /system/${LIB}/libprocessgroup.so VNDK-SP
424 /system/${LIB}/libprocinfo.so VNDK
425 /system/${LIB}/libprotobuf-cpp-full.so VNDK
426 /system/${LIB}/libprotobuf-cpp-lite.so VNDK
427 /system/${LIB}/libprotoutil.so FWK-ONLY
428 /system/${LIB}/libpuresoftkeymasterdevice.so VNDK
429 /system/${LIB}/libqtaguid.so FWK-ONLY
430 /system/${LIB}/libradio_metadata.so VNDK
431 /system/${LIB}/libresourcemanagerservice.so FWK-ONLY
432 /system/${LIB}/librs_jni.so FWK-ONLY
433 /system/${LIB}/librtp_jni.so FWK-ONLY
434 /system/${LIB}/libschedulerservicehidl.so FWK-ONLY
435 /system/${LIB}/libselinux.so VNDK
436 /system/${LIB}/libsensor.so FWK-ONLY
437 /system/${LIB}/libsensorservice.so FWK-ONLY
438 /system/${LIB}/libsensorservicehidl.so FWK-ONLY
439 /system/${LIB}/libsepol.so FWK-ONLY
440 /system/${LIB}/libservices.so FWK-ONLY
441 /system/${LIB}/libsigchain.so FWK-ONLY
442 /system/${LIB}/libsoftkeymasterdevice.so VNDK
443 /system/${LIB}/libsonic.so FWK-ONLY
444 /system/${LIB}/libsonivox.so FWK-ONLY
445 /system/${LIB}/libsoundpool.so FWK-ONLY
446 /system/${LIB}/libsoundtrigger.so FWK-ONLY
447 /system/${LIB}/libsoundtriggerservice.so FWK-ONLY
448 /system/${LIB}/libsparse.so FWK-ONLY
449 /system/${LIB}/libspeexresampler.so VNDK
450 /system/${LIB}/libsqlite.so VNDK
451 /system/${LIB}/libssl.so VNDK
452 /system/${LIB}/libstagefright.so FWK-ONLY
453 /system/${LIB}/libstagefright_amrnb_common.so VNDK
454 /system/${LIB}/libstagefright_bufferpool@2.0.so VNDK
455 /system/${LIB}/libstagefright_bufferqueue_helper.so VNDK
456 /system/${LIB}/libstagefright_enc_common.so VNDK
457 /system/${LIB}/libstagefright_flacdec.so VNDK
458 /system/${LIB}/libstagefright_foundation.so VNDK
459 /system/${LIB}/libstagefright_http_support.so FWK-ONLY
460 /system/${LIB}/libstagefright_httplive.so FWK-ONLY
461 /system/${LIB}/libstagefright_omx.so VNDK
462 /system/${LIB}/libstagefright_omx_utils.so VNDK
463 /system/${LIB}/libstagefright_soft_aacdec.so FWK-ONLY
464 /system/${LIB}/libstagefright_soft_aacenc.so FWK-ONLY
465 /system/${LIB}/libstagefright_soft_amrdec.so FWK-ONLY
466 /system/${LIB}/libstagefright_soft_amrnbenc.so FWK-ONLY
467 /system/${LIB}/libstagefright_soft_amrwbenc.so FWK-ONLY
468 /system/${LIB}/libstagefright_soft_avcdec.so FWK-ONLY
469 /system/${LIB}/libstagefright_soft_avcenc.so FWK-ONLY
470 /system/${LIB}/libstagefright_soft_flacdec.so FWK-ONLY
471 /system/${LIB}/libstagefright_soft_flacenc.so FWK-ONLY
472 /system/${LIB}/libstagefright_soft_g711dec.so FWK-ONLY
473 /system/${LIB}/libstagefright_soft_gsmdec.so FWK-ONLY
474 /system/${LIB}/libstagefright_soft_hevcdec.so FWK-ONLY
475 /system/${LIB}/libstagefright_soft_mp3dec.so FWK-ONLY
476 /system/${LIB}/libstagefright_soft_mpeg2dec.so FWK-ONLY
477 /system/${LIB}/libstagefright_soft_mpeg4dec.so FWK-ONLY
478 /system/${LIB}/libstagefright_soft_mpeg4enc.so FWK-ONLY
479 /system/${LIB}/libstagefright_soft_opusdec.so FWK-ONLY
480 /system/${LIB}/libstagefright_soft_rawdec.so FWK-ONLY
481 /system/${LIB}/libstagefright_soft_vorbisdec.so FWK-ONLY
482 /system/${LIB}/libstagefright_soft_vpxdec.so FWK-ONLY
483 /system/${LIB}/libstagefright_soft_vpxenc.so FWK-ONLY
484 /system/${LIB}/libstagefright_softomx.so VNDK
485 /system/${LIB}/libstagefright_xmlparser.so VNDK
486 /system/${LIB}/libstatslog.so FWK-ONLY
487 /system/${LIB}/libstdc++.so FWK-ONLY
488 /system/${LIB}/libsurfaceflinger.so FWK-ONLY
489 /system/${LIB}/libsuspend.so FWK-ONLY
490 /system/${LIB}/libsync.so LL-NDK
491 /system/${LIB}/libsysutils.so VNDK
492 /system/${LIB}/libtextclassifier.so FWK-ONLY
493 /system/${LIB}/libtextclassifier_hash.so LL-NDK-Private
494 /system/${LIB}/libtinyalsa.so VNDK
495 /system/${LIB}/libtinyxml2.so VNDK
496 /system/${LIB}/libtombstoned_client.so FWK-ONLY
497 /system/${LIB}/libui.so VNDK
498 /system/${LIB}/libunwind.so FWK-ONLY
499 /system/${LIB}/libunwindstack.so VNDK-SP
500 /system/${LIB}/libusbhost.so VNDK
501 /system/${LIB}/libutils.so VNDK-SP
502 /system/${LIB}/libutilscallstack.so VNDK-SP
503 /system/${LIB}/libvintf.so FWK-ONLY
504 /system/${LIB}/libvndksupport.so LL-NDK
505 /system/${LIB}/libvorbisidec.so VNDK
506 /system/${LIB}/libvulkan.so LL-NDK
507 /system/${LIB}/libwebviewchromium_loader.so FWK-ONLY
508 /system/${LIB}/libwebviewchromium_plat_support.so FWK-ONLY
509 /system/${LIB}/libwfds.so FWK-ONLY
510 /system/${LIB}/libwifi-service.so FWK-ONLY
511 /system/${LIB}/libwifi-system-iface.so VNDK
512 /system/${LIB}/libwifi-system.so FWK-ONLY
513 /system/${LIB}/libwifikeystorehal.so FWK-ONLY
514 /system/${LIB}/libwilhelm.so FWK-ONLY
515 /system/${LIB}/libxml2.so VNDK
516 /system/${LIB}/libyuv.so VNDK
517 /system/${LIB}/libz.so VNDK-SP
518 /system/${LIB}/libziparchive.so VNDK
519 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.cameraservice.common@2.0.so VNDK
520 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.cameraservice.device@2.0.so VNDK
521 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.cameraservice.service@2.0.so VNDK
522 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.displayservice@1.0.so VNDK
523 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.schedulerservice@1.0.so VNDK
524 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.sensorservice@1.0.so VNDK
525 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.stats@1.0.so VNDK
526 /system/${LIB}/vndk${VNDK_VER}/android.frameworks.vr.composer@1.0.so VNDK
527 /system/${LIB}/vndk${VNDK_VER}/android.hardware.atrace@1.0.so VNDK
528 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common-util.so VNDK
529 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0-util.so VNDK
530 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@2.0.so VNDK
531 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0-util.so VNDK
532 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@4.0.so VNDK
533 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.common@5.0.so VNDK
534 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@2.0.so VNDK
535 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@4.0.so VNDK
536 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio.effect@5.0.so VNDK
537 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@2.0.so VNDK
538 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@4.0.so VNDK
539 /system/${LIB}/vndk${VNDK_VER}/android.hardware.audio@5.0.so VNDK
540 /system/${LIB}/vndk${VNDK_VER}/android.hardware.authsecret@1.0.so VNDK
541 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.audiocontrol@1.0.so VNDK
542 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.evs@1.0.so VNDK
543 /system/${LIB}/vndk${VNDK_VER}/android.hardware.automotive.vehicle@2.0.so VNDK
544 /system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.face@1.0.so VNDK
545 /system/${LIB}/vndk${VNDK_VER}/android.hardware.biometrics.fingerprint@2.1.so VNDK
546 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth.a2dp@1.0.so VNDK
547 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth.audio@2.0.so VNDK
548 /system/${LIB}/vndk${VNDK_VER}/android.hardware.bluetooth@1.0.so VNDK
549 /system/${LIB}/vndk${VNDK_VER}/android.hardware.boot@1.0.so VNDK
550 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.0.so VNDK
551 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@1.1.so VNDK
552 /system/${LIB}/vndk${VNDK_VER}/android.hardware.broadcastradio@2.0.so VNDK
553 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.common@1.0.so VNDK
554 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@1.0.so VNDK
555 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.2.so VNDK
556 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.3.so VNDK
557 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.4.so VNDK
558 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.device@3.5.so VNDK
559 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.2.so VNDK
560 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.3.so VNDK
561 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.metadata@3.4.so VNDK
562 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.4.so VNDK
563 /system/${LIB}/vndk${VNDK_VER}/android.hardware.camera.provider@2.5.so VNDK
564 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas.native@1.0.so VNDK
565 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.0.so VNDK
566 /system/${LIB}/vndk${VNDK_VER}/android.hardware.cas@1.1.so VNDK
567 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore-utils.so VNDK
568 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.0.so VNDK
569 /system/${LIB}/vndk${VNDK_VER}/android.hardware.configstore@1.1.so VNDK
570 /system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui-support-lib.so VNDK
571 /system/${LIB}/vndk${VNDK_VER}/android.hardware.confirmationui@1.0.so VNDK
572 /system/${LIB}/vndk${VNDK_VER}/android.hardware.contexthub@1.0.so VNDK
573 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.0.so VNDK
574 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.1.so VNDK
575 /system/${LIB}/vndk${VNDK_VER}/android.hardware.drm@1.2.so VNDK
576 /system/${LIB}/vndk${VNDK_VER}/android.hardware.dumpstate@1.0.so VNDK
577 /system/${LIB}/vndk${VNDK_VER}/android.hardware.fastboot@1.0.so VNDK
578 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gatekeeper@1.0.so VNDK
579 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss.measurement_corrections@1.0.so VNDK
580 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss.visibility_control@1.0.so VNDK
581 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.0.so VNDK
582 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@1.1.so VNDK
583 /system/${LIB}/vndk${VNDK_VER}/android.hardware.gnss@2.0.so VNDK
584 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.allocator@2.0.so VNDK
585 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.allocator@3.0.so VNDK
586 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@1.0.so VNDK
587 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.bufferqueue@2.0.so VNDK
588 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.1.so VNDK
589 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.2.so VNDK
590 /system/${LIB}/vndk${VNDK_VER}/android.hardware.graphics.composer@2.3.so VNDK
591 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health.storage@1.0.so VNDK
592 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health@1.0.so VNDK
593 /system/${LIB}/vndk${VNDK_VER}/android.hardware.health@2.0.so VNDK
594 /system/${LIB}/vndk${VNDK_VER}/android.hardware.input.classifier@1.0.so VNDK
595 /system/${LIB}/vndk${VNDK_VER}/android.hardware.input.common@1.0.so VNDK
596 /system/${LIB}/vndk${VNDK_VER}/android.hardware.ir@1.0.so VNDK
597 /system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@3.0.so VNDK
598 /system/${LIB}/vndk${VNDK_VER}/android.hardware.keymaster@4.0.so VNDK
599 /system/${LIB}/vndk${VNDK_VER}/android.hardware.light@2.0.so VNDK
600 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.bufferpool@1.0.so VNDK
601 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.bufferpool@2.0.so VNDK
602 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.c2@1.0.so VNDK
603 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media.omx@1.0.so VNDK
604 /system/${LIB}/vndk${VNDK_VER}/android.hardware.media@1.0.so VNDK
605 /system/${LIB}/vndk${VNDK_VER}/android.hardware.memtrack@1.0.so VNDK
606 /system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.0.so VNDK
607 /system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.1.so VNDK
608 /system/${LIB}/vndk${VNDK_VER}/android.hardware.neuralnetworks@1.2.so VNDK
609 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.0.so VNDK
610 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.1.so VNDK
611 /system/${LIB}/vndk${VNDK_VER}/android.hardware.nfc@1.2.so VNDK
612 /system/${LIB}/vndk${VNDK_VER}/android.hardware.oemlock@1.0.so VNDK
613 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power.stats@1.0.so VNDK
614 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.0.so VNDK
615 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.1.so VNDK
616 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.2.so VNDK
617 /system/${LIB}/vndk${VNDK_VER}/android.hardware.power@1.3.so VNDK
618 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.0.so VNDK
619 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.1.so VNDK
620 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.config@1.2.so VNDK
621 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio.deprecated@1.0.so VNDK
622 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.0.so VNDK
623 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.1.so VNDK
624 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.2.so VNDK
625 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.3.so VNDK
626 /system/${LIB}/vndk${VNDK_VER}/android.hardware.radio@1.4.so VNDK
627 /system/${LIB}/vndk${VNDK_VER}/android.hardware.secure_element@1.0.so VNDK
628 /system/${LIB}/vndk${VNDK_VER}/android.hardware.secure_element@1.1.so VNDK
629 /system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@1.0.so VNDK
630 /system/${LIB}/vndk${VNDK_VER}/android.hardware.sensors@2.0.so VNDK
631 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0-core.so VNDK
632 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.0.so VNDK
633 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.1.so VNDK
634 /system/${LIB}/vndk${VNDK_VER}/android.hardware.soundtrigger@2.2.so VNDK
635 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.config@1.0.so VNDK
636 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tetheroffload.control@1.0.so VNDK
637 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.0.so VNDK
638 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@1.1.so VNDK
639 /system/${LIB}/vndk${VNDK_VER}/android.hardware.thermal@2.0.so VNDK
640 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@1.0.so VNDK
641 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.cec@2.0.so VNDK
642 /system/${LIB}/vndk${VNDK_VER}/android.hardware.tv.input@1.0.so VNDK
643 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb.gadget@1.0.so VNDK
644 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.0.so VNDK
645 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.1.so VNDK
646 /system/${LIB}/vndk${VNDK_VER}/android.hardware.usb@1.2.so VNDK
647 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.0.so VNDK
648 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.1.so VNDK
649 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.2.so VNDK
650 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vibrator@1.3.so VNDK
651 /system/${LIB}/vndk${VNDK_VER}/android.hardware.vr@1.0.so VNDK
652 /system/${LIB}/vndk${VNDK_VER}/android.hardware.weaver@1.0.so VNDK
653 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.hostapd@1.0.so VNDK
654 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.hostapd@1.1.so VNDK
655 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.offload@1.0.so VNDK
656 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.0.so VNDK
657 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.1.so VNDK
658 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi.supplicant@1.2.so VNDK
659 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.0.so VNDK
660 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.1.so VNDK
661 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.2.so VNDK
662 /system/${LIB}/vndk${VNDK_VER}/android.hardware.wifi@1.3.so VNDK
663 /system/${LIB}/vndk${VNDK_VER}/android.hidl.allocator@1.0.so VNDK
664 /system/${LIB}/vndk${VNDK_VER}/android.hidl.memory.block@1.0.so VNDK
665 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0-utils.so VNDK
666 /system/${LIB}/vndk${VNDK_VER}/android.hidl.token@1.0.so VNDK
667 /system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.0.so VNDK
668 /system/${LIB}/vndk${VNDK_VER}/android.system.net.netd@1.1.so VNDK
669 /system/${LIB}/vndk${VNDK_VER}/android.system.suspend@1.0.so VNDK
670 /system/${LIB}/vndk${VNDK_VER}/android.system.wifi.keystore@1.0.so VNDK
671 /system/${LIB}/vndk${VNDK_VER}/libadf.so VNDK
672 /system/${LIB}/vndk${VNDK_VER}/libaudioroute.so VNDK
673 /system/${LIB}/vndk${VNDK_VER}/libaudioutils.so VNDK
674 /system/${LIB}/vndk${VNDK_VER}/libbinder.so VNDK
675 /system/${LIB}/vndk${VNDK_VER}/libcamera_metadata.so VNDK
676 /system/${LIB}/vndk${VNDK_VER}/libcap.so VNDK
677 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-aarch64-android.so VNDK
678 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-arm-android.so VNDK
679 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-i686-android.so VNDK
680 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo-x86_64-android.so VNDK
681 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-aarch64-android.so VNDK
682 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-arm-android.so VNDK
683 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-i686-android.so VNDK
684 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.scudo_minimal-x86_64-android.so VNDK
685 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
686 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-arm-android.so VNDK
687 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-i686-android.so VNDK
688 /system/${LIB}/vndk${VNDK_VER}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
689 /system/${LIB}/vndk${VNDK_VER}/libcn-cbor.so VNDK
690 /system/${LIB}/vndk${VNDK_VER}/libcodec2.so VNDK
691 /system/${LIB}/vndk${VNDK_VER}/libcodec2_hidl@1.0.so VNDK
692 /system/${LIB}/vndk${VNDK_VER}/libcodec2_vndk.so VNDK
693 /system/${LIB}/vndk${VNDK_VER}/libcrypto.so VNDK
694 /system/${LIB}/vndk${VNDK_VER}/libcrypto_utils.so VNDK
695 /system/${LIB}/vndk${VNDK_VER}/libcurl.so VNDK
696 /system/${LIB}/vndk${VNDK_VER}/libdiskconfig.so VNDK
697 /system/${LIB}/vndk${VNDK_VER}/libdumpstateutil.so VNDK
698 /system/${LIB}/vndk${VNDK_VER}/libevent.so VNDK
699 /system/${LIB}/vndk${VNDK_VER}/libexif.so VNDK
700 /system/${LIB}/vndk${VNDK_VER}/libexpat.so VNDK
701 /system/${LIB}/vndk${VNDK_VER}/libfmq.so VNDK
702 /system/${LIB}/vndk${VNDK_VER}/libgatekeeper.so VNDK
703 /system/${LIB}/vndk${VNDK_VER}/libgui.so VNDK-Private
704 /system/${LIB}/vndk${VNDK_VER}/libhardware_legacy.so VNDK
705 /system/${LIB}/vndk${VNDK_VER}/libhidlallocatorutils.so VNDK
706 /system/${LIB}/vndk${VNDK_VER}/libhidlcache.so VNDK
707 /system/${LIB}/vndk${VNDK_VER}/libjpeg.so VNDK
708 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_messages.so VNDK
709 /system/${LIB}/vndk${VNDK_VER}/libkeymaster_portable.so VNDK
710 /system/${LIB}/vndk${VNDK_VER}/libldacBT_abr.so VNDK
711 /system/${LIB}/vndk${VNDK_VER}/libldacBT_enc.so VNDK
712 /system/${LIB}/vndk${VNDK_VER}/liblz4.so VNDK
713 /system/${LIB}/vndk${VNDK_VER}/libmedia_helper.so VNDK
714 /system/${LIB}/vndk${VNDK_VER}/libmedia_omx.so VNDK
715 /system/${LIB}/vndk${VNDK_VER}/libmemtrack.so VNDK
716 /system/${LIB}/vndk${VNDK_VER}/libminijail.so VNDK
717 /system/${LIB}/vndk${VNDK_VER}/libmkbootimg_abi_check.so VNDK
718 /system/${LIB}/vndk${VNDK_VER}/libnetutils.so VNDK
719 /system/${LIB}/vndk${VNDK_VER}/libnl.so VNDK
720 /system/${LIB}/vndk${VNDK_VER}/libopus.so VNDK
721 /system/${LIB}/vndk${VNDK_VER}/libpagemap.so VNDK
722 /system/${LIB}/vndk${VNDK_VER}/libpcre2.so VNDK
723 /system/${LIB}/vndk${VNDK_VER}/libpiex.so VNDK
724 /system/${LIB}/vndk${VNDK_VER}/libpng.so VNDK
725 /system/${LIB}/vndk${VNDK_VER}/libpower.so VNDK
726 /system/${LIB}/vndk${VNDK_VER}/libprocinfo.so VNDK
727 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-full.so VNDK
728 /system/${LIB}/vndk${VNDK_VER}/libprotobuf-cpp-lite.so VNDK
729 /system/${LIB}/vndk${VNDK_VER}/libpuresoftkeymasterdevice.so VNDK
730 /system/${LIB}/vndk${VNDK_VER}/libradio_metadata.so VNDK
731 /system/${LIB}/vndk${VNDK_VER}/libselinux.so VNDK
732 /system/${LIB}/vndk${VNDK_VER}/libsoftkeymasterdevice.so VNDK
733 /system/${LIB}/vndk${VNDK_VER}/libspeexresampler.so VNDK
734 /system/${LIB}/vndk${VNDK_VER}/libsqlite.so VNDK
735 /system/${LIB}/vndk${VNDK_VER}/libssl.so VNDK
736 /system/${LIB}/vndk${VNDK_VER}/libstagefright_amrnb_common.so VNDK
737 /system/${LIB}/vndk${VNDK_VER}/libstagefright_bufferpool@2.0.so VNDK
738 /system/${LIB}/vndk${VNDK_VER}/libstagefright_bufferqueue_helper.so VNDK
739 /system/${LIB}/vndk${VNDK_VER}/libstagefright_enc_common.so VNDK
740 /system/${LIB}/vndk${VNDK_VER}/libstagefright_flacdec.so VNDK
741 /system/${LIB}/vndk${VNDK_VER}/libstagefright_foundation.so VNDK
742 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx.so VNDK
743 /system/${LIB}/vndk${VNDK_VER}/libstagefright_omx_utils.so VNDK
744 /system/${LIB}/vndk${VNDK_VER}/libstagefright_softomx.so VNDK
745 /system/${LIB}/vndk${VNDK_VER}/libstagefright_xmlparser.so VNDK
746 /system/${LIB}/vndk${VNDK_VER}/libsuspend.so VNDK
747 /system/${LIB}/vndk${VNDK_VER}/libsysutils.so VNDK
748 /system/${LIB}/vndk${VNDK_VER}/libtinyalsa.so VNDK
749 /system/${LIB}/vndk${VNDK_VER}/libtinyxml2.so VNDK
750 /system/${LIB}/vndk${VNDK_VER}/libui.so VNDK
751 /system/${LIB}/vndk${VNDK_VER}/libusbhost.so VNDK
752 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm.so VNDK
753 /system/${LIB}/vndk${VNDK_VER}/libvixl-arm64.so VNDK
754 /system/${LIB}/vndk${VNDK_VER}/libvorbisidec.so VNDK
755 /system/${LIB}/vndk${VNDK_VER}/libwifi-system-iface.so VNDK
756 /system/${LIB}/vndk${VNDK_VER}/libxml2.so VNDK
757 /system/${LIB}/vndk${VNDK_VER}/libyuv.so VNDK
758 /system/${LIB}/vndk${VNDK_VER}/libziparchive.so VNDK
759 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.0.so VNDK-SP
760 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.1.so VNDK-SP
761 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.common@1.2.so VNDK-SP
762 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.0.so VNDK-SP
763 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@2.1.so VNDK-SP
764 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.graphics.mapper@3.0.so VNDK-SP
765 /system/${LIB}/vndk-sp${VNDK_VER}/android.hardware.renderscript@1.0.so VNDK-SP
766 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory.token@1.0.so VNDK-SP
767 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.memory@1.0.so VNDK-SP
768 /system/${LIB}/vndk-sp${VNDK_VER}/android.hidl.safe_union@1.0.so VNDK-SP
769 /system/${LIB}/vndk-sp${VNDK_VER}/hw/android.hidl.memory@1.0-impl.so VNDK-SP
770 /system/${LIB}/vndk-sp${VNDK_VER}/libRSCpuRef.so VNDK-SP
771 /system/${LIB}/vndk-sp${VNDK_VER}/libRSDriver.so VNDK-SP
772 /system/${LIB}/vndk-sp${VNDK_VER}/libRS_internal.so VNDK-SP
773 /system/${LIB}/vndk-sp${VNDK_VER}/libbacktrace.so VNDK-SP-Private
774 /system/${LIB}/vndk-sp${VNDK_VER}/libbase.so VNDK-SP
775 /system/${LIB}/vndk-sp${VNDK_VER}/libbcinfo.so VNDK-SP
776 /system/${LIB}/vndk-sp${VNDK_VER}/libbinderthreadstate.so VNDK-SP-Private
777 /system/${LIB}/vndk-sp${VNDK_VER}/libblas.so VNDK-SP-Private
778 /system/${LIB}/vndk-sp${VNDK_VER}/libc++.so VNDK-SP
779 /system/${LIB}/vndk-sp${VNDK_VER}/libcompiler_rt.so VNDK-SP-Private
780 /system/${LIB}/vndk-sp${VNDK_VER}/libcutils.so VNDK-SP
781 /system/${LIB}/vndk-sp${VNDK_VER}/libdexfile.so VNDK-SP-Private Workaround for degenerated VDNK
782 /system/${LIB}/vndk-sp${VNDK_VER}/libhardware.so VNDK-SP
783 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlbase.so VNDK-SP
784 /system/${LIB}/vndk-sp${VNDK_VER}/libhidlmemory.so VNDK-SP
785 /system/${LIB}/vndk-sp${VNDK_VER}/libhidltransport.so VNDK-SP
786 /system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder.so VNDK-SP
787 /system/${LIB}/vndk-sp${VNDK_VER}/libhwbinder_noltopgo.so VNDK-SP
788 /system/${LIB}/vndk-sp${VNDK_VER}/libion.so VNDK-SP
789 /system/${LIB}/vndk-sp${VNDK_VER}/libjsoncpp.so VNDK-SP
790 /system/${LIB}/vndk-sp${VNDK_VER}/liblzma.so VNDK-SP
791 /system/${LIB}/vndk-sp${VNDK_VER}/libprocessgroup.so VNDK-SP
792 /system/${LIB}/vndk-sp${VNDK_VER}/libunwind.so VNDK-SP-Private
793 /system/${LIB}/vndk-sp${VNDK_VER}/libunwindstack.so VNDK-SP
794 /system/${LIB}/vndk-sp${VNDK_VER}/libutils.so VNDK-SP
795 /system/${LIB}/vndk-sp${VNDK_VER}/libutilscallstack.so VNDK-SP
796 /system/${LIB}/vndk-sp${VNDK_VER}/libz.so VNDK-SP
797 /vendor/${LIB}/hidl.tests.vendor@1.0.so VND-ONLY
798 /vendor/${LIB}/hidl.tests.vendor@1.1.so VND-ONLY
799 /vendor/${LIB}/libavservices_minijail_vendor.so VND-ONLY Framework module should link libavservices_minijail.so
800 /vendor/${LIB}/libcld80211.so VND-ONLY
801 /vendor/${LIB}/libeffects.so VND-ONLY
802 /vendor/${LIB}/libhwc2on1adapter.so VND-ONLY
803 /vendor/${LIB}/libnbaio_mono.so VND-ONLY
804 /vendor/${LIB}/libreference-ril.so VND-ONLY
805 /vendor/${LIB}/libril.so VND-ONLY
806 /vendor/${LIB}/librilutils.so VND-ONLY
807 /vendor/${LIB}/libtinycompress.so VND-ONLY
808 /vendor/${LIB}/libwebrtc_audio_preprocessing.so VND-ONLY
809 /vendor/${LIB}/soundfx/libaudiopreprocessing.so VND-ONLY
810 /vendor/${LIB}/soundfx/libbundlewrapper.so VND-ONLY
811 /vendor/${LIB}/soundfx/libdownmix.so VND-ONLY
812 /vendor/${LIB}/soundfx/libeffectproxy.so VND-ONLY
813 /vendor/${LIB}/soundfx/libldnhncr.so VND-ONLY
814 /vendor/${LIB}/soundfx/libreverbwrapper.so VND-ONLY
815 /vendor/${LIB}/soundfx/libvisualizer.so VND-ONLY
816 [regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$ SP-HAL
817 [regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$ SP-HAL
818 [regex]^.*/gralloc\..*\.so$ SP-HAL
819 [regex]^/vendor/.*/libEGL_.*\.so$ SP-HAL
820 [regex]^/vendor/.*/libGLES_.*\.so$ SP-HAL
821 [regex]^/vendor/.*/libGLESv1_CM_.*\.so$ SP-HAL
822 [regex]^/vendor/.*/libGLESv2_.*\.so$ SP-HAL
823 [regex]^/vendor/.*/libGLESv3_.*\.so$ SP-HAL
824 [regex]^/vendor/.*/libPVRRS\.so$ SP-HAL
825 [regex]^/vendor/.*/libRSDriver.*\.so$ SP-HAL
826 [regex]^/vendor/.*/vulkan.*\.so$ SP-HAL

View File

@@ -1,5 +0,0 @@
/system/${LIB}/libEGL.so:[regex]/vendor/${LIB}/egl/libEGL[A-Za-z0-9_-]*\.so
/system/${LIB}/libEGL.so:[regex]/vendor/${LIB}/egl/libGLES[A-Za-z0-9_-]*\.so
/apex/com.android.runtime/${LIB}/bionic/libc.so:/apex/com.android.runtime/${LIB}/libc_malloc_debug.so
/apex/com.android.runtime/${LIB}/bionic/libc.so:/apex/com.android.runtime/${LIB}/libicuuc.so
/apex/com.android.runtime/${LIB}/bionic/libc.so:/system/${LIB}/libnetd_client.so

View File

@@ -1,59 +0,0 @@
Path,Tag,Comments
/apex/com.android.runtime/${LIB}/bionic/libc.so,LL-NDK,
/apex/com.android.runtime/${LIB}/bionic/libdl.so,LL-NDK,
/apex/com.android.runtime/${LIB}/bionic/libm.so,LL-NDK,
/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libGLESv1_CM.so,LL-NDK,
/system/${LIB}/libGLESv2.so,LL-NDK,
/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libdl.so,LL-NDK,
/system/${LIB}/libft2.so,FWK-ONLY-RS,
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libstdc++.so,LL-NDK,
/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libz.so,LL-NDK,
/system/${LIB}/vndk-sp/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hidl.base@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/vndk-sp/libRSDriver.so,VNDK-SP,
/system/${LIB}/vndk-sp/libRS_internal.so,VNDK-SP,
/system/${LIB}/vndk-sp/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libbase.so,VNDK-SP,
/system/${LIB}/vndk-sp/libbcinfo.so,VNDK-SP,
/system/${LIB}/vndk-sp/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp/libc++.so,VNDK-SP,
/system/${LIB}/vndk-sp/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp/libcutils.so,VNDK-SP,
/system/${LIB}/vndk-sp/libft2.so,FWK-ONLY-RS,
/system/${LIB}/vndk-sp/libhardware.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhidlbase.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhidlmemory.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhidltransport.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhwbinder.so,VNDK-SP,
/system/${LIB}/vndk-sp/libion.so,VNDK-SP,
/system/${LIB}/vndk-sp/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/vndk-sp/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libutils.so,VNDK-SP,
[regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$,SP-HAL,
[regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$,SP-HAL,
[regex]^.*/gralloc\..*\.so$,SP-HAL,
[regex]^/vendor/.*/libEGL_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLES_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv1_CM_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv2_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libGLESv3_.*\.so$,SP-HAL,
[regex]^/vendor/.*/libPVRRS\.so$,SP-HAL,
[regex]^/vendor/.*/libRSDriver.*\.so$,SP-HAL,
[regex]^/vendor/.*/vulkan.*\.so$,SP-HAL,
1 Path Tag Comments
2 /apex/com.android.runtime/${LIB}/bionic/libc.so LL-NDK
3 /apex/com.android.runtime/${LIB}/bionic/libdl.so LL-NDK
4 /apex/com.android.runtime/${LIB}/bionic/libm.so LL-NDK
5 /system/${LIB}/libEGL.so LL-NDK
6 /system/${LIB}/libGLESv1_CM.so LL-NDK
7 /system/${LIB}/libGLESv2.so LL-NDK
8 /system/${LIB}/libGLESv3.so LL-NDK
9 /system/${LIB}/libandroid_net.so LL-NDK
10 /system/${LIB}/libc.so LL-NDK
11 /system/${LIB}/libdl.so LL-NDK
12 /system/${LIB}/libft2.so FWK-ONLY-RS
13 /system/${LIB}/liblog.so LL-NDK
14 /system/${LIB}/libm.so LL-NDK
15 /system/${LIB}/libmediandk.so FWK-ONLY-RS
16 /system/${LIB}/libnativewindow.so LL-NDK
17 /system/${LIB}/libstdc++.so LL-NDK
18 /system/${LIB}/libsync.so LL-NDK
19 /system/${LIB}/libvndksupport.so LL-NDK
20 /system/${LIB}/libvulkan.so LL-NDK
21 /system/${LIB}/libz.so LL-NDK
22 /system/${LIB}/vndk-sp/android.hardware.graphics.allocator@2.0.so VNDK-SP
23 /system/${LIB}/vndk-sp/android.hardware.graphics.common@1.0.so VNDK-SP
24 /system/${LIB}/vndk-sp/android.hardware.graphics.mapper@2.0.so VNDK-SP
25 /system/${LIB}/vndk-sp/android.hardware.renderscript@1.0.so VNDK-SP
26 /system/${LIB}/vndk-sp/android.hidl.base@1.0.so VNDK-SP
27 /system/${LIB}/vndk-sp/android.hidl.memory@1.0.so VNDK-SP
28 /system/${LIB}/vndk-sp/libRSCpuRef.so VNDK-SP
29 /system/${LIB}/vndk-sp/libRSDriver.so VNDK-SP
30 /system/${LIB}/vndk-sp/libRS_internal.so VNDK-SP
31 /system/${LIB}/vndk-sp/libbacktrace.so VNDK-SP-Indirect
32 /system/${LIB}/vndk-sp/libbase.so VNDK-SP
33 /system/${LIB}/vndk-sp/libbcinfo.so VNDK-SP
34 /system/${LIB}/vndk-sp/libblas.so VNDK-SP-Indirect-Private
35 /system/${LIB}/vndk-sp/libc++.so VNDK-SP
36 /system/${LIB}/vndk-sp/libcompiler_rt.so VNDK-SP-Indirect-Private
37 /system/${LIB}/vndk-sp/libcutils.so VNDK-SP
38 /system/${LIB}/vndk-sp/libft2.so FWK-ONLY-RS
39 /system/${LIB}/vndk-sp/libhardware.so VNDK-SP
40 /system/${LIB}/vndk-sp/libhidlbase.so VNDK-SP
41 /system/${LIB}/vndk-sp/libhidlmemory.so VNDK-SP
42 /system/${LIB}/vndk-sp/libhidltransport.so VNDK-SP
43 /system/${LIB}/vndk-sp/libhwbinder.so VNDK-SP
44 /system/${LIB}/vndk-sp/libion.so VNDK-SP
45 /system/${LIB}/vndk-sp/liblzma.so VNDK-SP-Indirect
46 /system/${LIB}/vndk-sp/libmediandk.so FWK-ONLY-RS
47 /system/${LIB}/vndk-sp/libunwind.so VNDK-SP-Indirect
48 /system/${LIB}/vndk-sp/libutils.so VNDK-SP
49 [regex]^.*/android\.hardware\.graphics\.mapper@\d+\.\d+-impl\.so$ SP-HAL
50 [regex]^.*/android\.hardware\.renderscript@1\.0-impl\.so$ SP-HAL
51 [regex]^.*/gralloc\..*\.so$ SP-HAL
52 [regex]^/vendor/.*/libEGL_.*\.so$ SP-HAL
53 [regex]^/vendor/.*/libGLES_.*\.so$ SP-HAL
54 [regex]^/vendor/.*/libGLESv1_CM_.*\.so$ SP-HAL
55 [regex]^/vendor/.*/libGLESv2_.*\.so$ SP-HAL
56 [regex]^/vendor/.*/libGLESv3_.*\.so$ SP-HAL
57 [regex]^/vendor/.*/libPVRRS\.so$ SP-HAL
58 [regex]^/vendor/.*/libRSDriver.*\.so$ SP-HAL
59 [regex]^/vendor/.*/vulkan.*\.so$ SP-HAL

View File

@@ -1,88 +0,0 @@
ifneq ($(filter $(YOUR_DEVICE_NAME),$(TARGET_DEVICE)),)
VNDK_SP_LIBRARIES := ##_VNDK_SP_##
VNDK_SP_EXT_LIBRARIES := ##_VNDK_SP_EXT_##
EXTRA_VENDOR_LIBRARIES := ##_EXTRA_VENDOR_LIBS_##
# FIXME: Generate INSTALL_IN_HW_SUBDIR automatically
INSTALL_IN_HW_SUBDIR := android.hidl.memory@1.0-impl
#-------------------------------------------------------------------------------
# VNDK Modules
#-------------------------------------------------------------------------------
# Start from Android P, VNDK directory will always be versioned.
ifdef PLATFORM_VNDK_VERSION
VNDK_SP_DIR := vndk-sp-$(PLATFORM_VNDK_VERSION)
else
VNDK_SP_DIR := vndk-sp
endif
LOCAL_PATH := $(call my-dir)
define define-vndk-lib
include $$(CLEAR_VARS)
LOCAL_MODULE := $1.$2
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so
LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := first
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_RELATIVE_PATH := $3$(if $(filter $1,$(INSTALL_IN_HW_SUBDIR)),/hw)
LOCAL_VENDOR_MODULE := $4
include $$(BUILD_PREBUILT)
ifneq ($$(TARGET_2ND_ARCH),)
ifneq ($$(TARGET_TRANSLATE_2ND_ARCH),true)
include $$(CLEAR_VARS)
LOCAL_MODULE := $1.$2
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PREBUILT_MODULE_FILE := $$($$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so
LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := 32
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_RELATIVE_PATH := $3$(if $(filter $1,$(INSTALL_IN_HW_SUBDIR)),/hw)
LOCAL_VENDOR_MODULE := $4
include $$(BUILD_PREBUILT)
endif # TARGET_TRANSLATE_2ND_ARCH is not true
endif # TARGET_2ND_ARCH is not empty
endef
$(foreach lib,$(VNDK_SP_LIBRARIES),\
$(eval $(call define-vndk-lib,$(lib),vndk-sp-gen,$(VNDK_SP_DIR),)))
$(foreach lib,$(VNDK_SP_EXT_LIBRARIES),\
$(eval $(call define-vndk-lib,$(lib),vndk-sp-ext-gen,$(VNDK_SP_DIR),true)))
$(foreach lib,$(EXTRA_VENDOR_LIBRARIES),\
$(eval $(call define-vndk-lib,$(lib),vndk-ext-gen,,true)))
VNDK_SP_DIR :=
#-------------------------------------------------------------------------------
# Phony Package
#-------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := $(YOUR_DEVICE_NAME)-vndk
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := \
$(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES)) \
$(addsuffix .vndk-sp-ext-gen,$(VNDK_SP_EXT_LIBRARIES)) \
$(addsuffix .vndk-ext-gen,$(EXTRA_VENDOR_LIBRARIES))
include $(BUILD_PHONY_PACKAGE)
# Unset variables
VNDK_SP_LIBRARIES :=
VNDK_SP_EXT_LIBRARIES :=
EXTRA_VENDOR_LIBRARIES :=
INSTALL_IN_HW_SUBDIR :=
endif # ifneq ($(filter $(YOUR_DEVICE_NAME),$(TARGET_DEVICE)),)

View File

@@ -1,89 +0,0 @@
#!/usr/bin/env python3
# pylint: disable=unused-import,import-error
import sys
try:
from tempfile import TemporaryDirectory
except ImportError:
import shutil
import tempfile
class TemporaryDirectory(object):
def __init__(self, suffix='', prefix='tmp', dir=None):
# pylint: disable=redefined-builtin
self.name = tempfile.mkdtemp(suffix, prefix, dir)
def __del__(self):
self.cleanup()
def __enter__(self):
return self.name
def __exit__(self, exc, value, tb):
self.cleanup()
def cleanup(self):
if self.name:
shutil.rmtree(self.name)
self.name = None
if sys.version_info >= (3, 0):
from os import makedirs
else:
import os
def makedirs(path, exist_ok):
if exist_ok and os.path.exists(path):
return
os.makedirs(path)
if sys.version_info >= (3, 0):
from io import StringIO
else:
from StringIO import StringIO
try:
from unittest.mock import patch
except ImportError:
import contextlib
@contextlib.contextmanager
def patch(target, mock):
obj, attr = target.rsplit('.')
obj = __import__(obj)
original_value = getattr(obj, attr)
setattr(obj, attr, mock)
try:
yield
finally:
setattr(obj, attr, original_value)
if sys.version_info >= (3, 2):
from unittest import TestCase
else:
import unittest
class TestCase(unittest.TestCase):
def assertRegex(self, text, expected_regex, msg=None):
# pylint: disable=deprecated-method
self.assertRegexpMatches(text, expected_regex, msg)
def assertNotRegex(self, text, unexpected_regex, msg=None):
# pylint: disable=deprecated-method
self.assertNotRegexpMatches(text, unexpected_regex, msg)

View File

@@ -1,191 +0,0 @@
#!/usr/bin/env python
from __future__ import print_function
import collections
import os
import re
import subprocess
import sys
def detect_ndk_dir():
ndk_dir = os.getenv('NDK')
if not ndk_dir:
error_msg = '''error: NDK toolchain is required for this test case.
error:
error: Steps:
error: 1. Download NDK from https://developer.android.com/ndk/downloads/
error: 2. Unzip the archive (android-ndk-r15c-linux-x86_64.zip)
error: 3. Set environment variable NDK to the extracted directory
error: (export NDK=android-ndk-r15c)
error:'''
print(error_msg, file=sys.stderr)
raise ValueError('NDK toolchain not specified')
if not os.path.exists(ndk_dir):
raise ValueError('NDK toolchain not found')
return ndk_dir
def detect_api_level(ndk_dir):
try:
apis = []
pattern = re.compile('android-(\\d+)')
for name in os.listdir(os.path.join(ndk_dir, 'platforms')):
match = pattern.match(name)
if match:
apis.append(int(match.group(1)))
if not apis:
raise ValueError('failed to find latest api')
return 'android-{}'.format(max(apis))
except IOError:
raise ValueError('failed to find latest api')
def detect_host():
if sys.platform.startswith('linux'):
return 'linux-x86_64'
if sys.platform.startswith('darwin'):
return 'darwin-x86_64'
raise NotImplementedError('unknown host platform')
def get_gcc_dir(ndk_dir, arch, host):
return os.path.join(ndk_dir, 'toolchains', arch, 'prebuilt', host)
def get_clang_dir(ndk_dir, host):
return os.path.join(ndk_dir, 'toolchains', 'llvm', 'prebuilt', host)
def get_platform_dir(ndk_dir, api, subdirs):
return os.path.join(ndk_dir, 'platforms', api, *subdirs)
class Target(object):
def __init__(self, name, triple, cflags, ldflags, gcc_toolchain_dir,
clang_dir, ndk_include, ndk_lib):
self.name = name
self.target_triple = triple
self.target_cflags = cflags
self.target_ldflags = ldflags
self.gcc_toolchain_dir = gcc_toolchain_dir
self.clang_dir = clang_dir
self.ndk_include = ndk_include
self.ndk_lib = ndk_lib
def check_paths(self):
def check_path(path):
if os.path.exists(path):
return True
print('error: File not found:', path, file=sys.stderr)
return False
ld_exeutable = os.path.join(
self.gcc_toolchain_dir, 'bin', self.target_triple + '-ld')
success = check_path(self.gcc_toolchain_dir)
success &= check_path(ld_exeutable)
success &= check_path(self.clang_dir)
success &= check_path(self.ndk_include)
success &= check_path(self.ndk_lib)
return success
def compile(self, obj_file, src_file, cflags):
clang = os.path.join(self.clang_dir, 'bin', 'clang')
cmd = [clang, '-o', obj_file, '-c', src_file]
cmd.extend(['-fPIE', '-fPIC'])
cmd.extend(['-gcc-toolchain', self.gcc_toolchain_dir])
cmd.extend(['-target', self.target_triple])
cmd.extend(['-isystem', self.ndk_include])
cmd.extend(cflags)
cmd.extend(self.target_cflags)
subprocess.check_call(cmd)
def link(self, out_file, obj_files, ldflags):
if '-shared' in ldflags:
crtbegin = os.path.join(self.ndk_lib, 'crtbegin_so.o')
crtend = os.path.join(self.ndk_lib, 'crtend_so.o')
else:
crtbegin = os.path.join(self.ndk_lib, 'crtbegin_static.o')
crtend = os.path.join(self.ndk_lib, 'crtend_android.o')
clang = os.path.join(self.clang_dir, 'bin', 'clang')
cmd = [clang, '-o', out_file]
cmd.extend(['-fPIE', '-fPIC', '-Wl,--no-undefined', '-nostdlib'])
cmd.append('-L' + self.ndk_lib)
cmd.extend(['-gcc-toolchain', self.gcc_toolchain_dir])
cmd.extend(['-target', self.target_triple])
cmd.append(crtbegin)
cmd.extend(obj_files)
cmd.append(crtend)
cmd.extend(ldflags)
cmd.extend(self.target_ldflags)
if '-shared' not in ldflags:
cmd.append('-Wl,-pie')
subprocess.check_call(cmd)
def create_targets(ndk_dir=None, api=None, host=None):
if ndk_dir is None:
ndk_dir = detect_ndk_dir()
if api is None:
api = detect_api_level(ndk_dir)
if host is None:
host = detect_host()
targets = collections.OrderedDict()
targets['arm'] = Target(
'arm', 'arm-linux-androideabi', [], [],
get_gcc_dir(ndk_dir, 'arm-linux-androideabi-4.9', host),
get_clang_dir(ndk_dir, host),
get_platform_dir(ndk_dir, api, ['arch-arm', 'usr', 'include']),
get_platform_dir(ndk_dir, api, ['arch-arm', 'usr', 'lib']))
targets['arm64'] = Target(
'arm64', 'aarch64-linux-android', [], [],
get_gcc_dir(ndk_dir, 'aarch64-linux-android-4.9', host),
get_clang_dir(ndk_dir, host),
get_platform_dir(ndk_dir, api, ['arch-arm64', 'usr', 'include']),
get_platform_dir(ndk_dir, api, ['arch-arm64', 'usr', 'lib']))
targets['x86'] = Target(
'x86', 'i686-linux-android', ['-m32'], ['-m32'],
get_gcc_dir(ndk_dir, 'x86-4.9', host),
get_clang_dir(ndk_dir, host),
get_platform_dir(ndk_dir, api, ['arch-x86', 'usr', 'include']),
get_platform_dir(ndk_dir, api, ['arch-x86', 'usr', 'lib']))
targets['x86_64'] = Target(
'x86_64', 'x86_64-linux-android', ['-m64'], ['-m64'],
get_gcc_dir(ndk_dir, 'x86_64-4.9', host),
get_clang_dir(ndk_dir, host),
get_platform_dir(ndk_dir, api, ['arch-x86_64', 'usr', 'include']),
get_platform_dir(ndk_dir, api, ['arch-x86_64', 'usr', 'lib64']))
targets['mips'] = Target(
'mips', 'mipsel-linux-android', [], [],
get_gcc_dir(ndk_dir, 'mipsel-linux-android-4.9', host),
get_clang_dir(ndk_dir, host),
get_platform_dir(ndk_dir, api, ['arch-mips', 'usr', 'include']),
get_platform_dir(ndk_dir, api, ['arch-mips', 'usr', 'lib']))
targets['mips64'] = Target(
'mips64', 'mips64el-linux-android',
['-march=mips64el', '-mcpu=mips64r6'],
['-march=mips64el', '-mcpu=mips64r6'],
get_gcc_dir(ndk_dir, 'mips64el-linux-android-4.9', host),
get_clang_dir(ndk_dir, host),
get_platform_dir(ndk_dir, api, ['arch-mips64', 'usr', 'include']),
get_platform_dir(ndk_dir, api, ['arch-mips64', 'usr', 'lib64']))
return targets

View File

@@ -1,22 +0,0 @@
#!/bin/bash -ex
#
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
cd "$(dirname "$0")/.."
python3 -m unittest discover "$@"
python -m unittest discover "$@"

View File

@@ -1,107 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import unittest
from vndk_definition_tool import (
DepsInsightCommand, ModuleInfo, PT_SYSTEM, PT_VENDOR)
from .compat import StringIO, patch
from .utils import GraphBuilder
class DepsInsightCommandTest(unittest.TestCase):
_PATH_FIELD = 0
_ELF_CLASS_FIELD = 1
_TAGS_FIELD = 2
_DEPS_FIELD = 3
_USERS_FIELD = 4
_SOURCE_DIRS_FIELD = 5
@classmethod
def _get_module(cls, strs, mods, path):
for mod in mods:
if strs[mod[cls._PATH_FIELD]] == path:
return mod
return None
@classmethod
def _get_module_deps(cls, strs, mods, path):
mod = cls._get_module(strs, mods, path)
result = set()
for deps in mod[cls._DEPS_FIELD]:
result.update(strs[mods[x][cls._PATH_FIELD]] for x in deps)
return result
@classmethod
def _get_module_users(cls, strs, mods, path):
mod = cls._get_module(strs, mods, path)
users = mod[cls._USERS_FIELD]
return set(strs[mods[x][cls._PATH_FIELD]] for x in users)
def test_serialize_data_with_all_deps(self):
# compute_degenerated_vndk() should not remove bad dependencies from
# the output of deps-insight. This test checks the existance of bad
# dependencies.
gb = GraphBuilder()
libsystem = gb.add_lib32(PT_SYSTEM, 'libsystem')
libsystem2 = gb.add_lib32(
PT_SYSTEM, 'libsystem2', dt_needed=['libsystem.so'])
libvndk = gb.add_lib32(
PT_SYSTEM, 'libvndk', dt_needed=['libvendor_bad.so'],
extra_dir='vndk')
libvendor = gb.add_lib32(
PT_VENDOR, 'libvendor', dt_needed=['libvndk.so'])
libvendor_bad = gb.add_lib32(
PT_VENDOR, 'libvendor_bad', extra_dir='vndk')
gb.resolve()
with patch('sys.stderr', StringIO()):
vndk_sets = gb.graph.compute_degenerated_vndk(set(), None)
self.assertNotIn(libvendor_bad, libvndk.deps_good)
strs, mods = DepsInsightCommand.serialize_data(
list(gb.graph.all_libs()), vndk_sets, ModuleInfo())
# libsystem
deps = self._get_module_deps(strs, mods, libsystem.path)
self.assertFalse(deps)
users = self._get_module_users(strs, mods, libsystem.path)
self.assertIn(libsystem2.path, users)
# libsystem2
deps = self._get_module_deps(strs, mods, libsystem2.path)
self.assertIn(libsystem.path, deps)
users = self._get_module_users(strs, mods, libsystem2.path)
self.assertFalse(users)
# libvndk
deps = self._get_module_deps(strs, mods, libvndk.path)
self.assertIn(libvendor_bad.path, deps)
users = self._get_module_users(strs, mods, libvndk.path)
self.assertIn(libvendor.path, users)
# libvendor
deps = self._get_module_deps(strs, mods, libvendor.path)
self.assertIn(libvndk.path, deps)
users = self._get_module_users(strs, mods, libvendor.path)
self.assertFalse(users)
# libvendor_bad
deps = self._get_module_deps(strs, mods, libvendor_bad.path)
self.assertFalse(deps)
users = self._get_module_users(strs, mods, libvendor_bad.path)
self.assertIn(libvndk.path, users)

View File

@@ -1,122 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import os
import subprocess
import unittest
import zipfile
from vndk_definition_tool import DexFileReader, UnicodeSurrogateDecodeError
from .compat import TemporaryDirectory
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
INPUT_DIR = os.path.join(SCRIPT_DIR, 'testdata', 'test_dex_file')
class ModifiedUTF8Test(unittest.TestCase):
def test_encode(self):
self.assertEqual(b'\xc0\x80', u'\u0000'.encode('mutf-8'))
self.assertEqual(b'\x09', u'\u0009'.encode('mutf-8'))
self.assertEqual(b'\x7f', u'\u007f'.encode('mutf-8'))
self.assertEqual(b'\xc2\x80', u'\u0080'.encode('mutf-8'))
self.assertEqual(b'\xdf\xbf', u'\u07ff'.encode('mutf-8'))
self.assertEqual(b'\xe0\xa0\x80', u'\u0800'.encode('mutf-8'))
self.assertEqual(b'\xe7\xbf\xbf', u'\u7fff'.encode('mutf-8'))
self.assertEqual(b'\xed\xa0\x81\xed\xb0\x80',
u'\U00010400'.encode('mutf-8'))
def test_decode(self):
self.assertEqual(u'\u0000', b'\xc0\x80'.decode('mutf-8'))
self.assertEqual(u'\u0009', b'\x09'.decode('mutf-8'))
self.assertEqual(u'\u007f', b'\x7f'.decode('mutf-8'))
self.assertEqual(u'\u0080', b'\xc2\x80'.decode('mutf-8'))
self.assertEqual(u'\u07ff', b'\xdf\xbf'.decode('mutf-8'))
self.assertEqual(u'\u0800', b'\xe0\xa0\x80'.decode('mutf-8'))
self.assertEqual(u'\u7fff', b'\xe7\xbf\xbf'.decode('mutf-8'))
self.assertEqual(u'\U00010400',
b'\xed\xa0\x81\xed\xb0\x80'.decode('mutf-8'))
def test_decode_exception(self):
# Low surrogate does not come after high surrogate
with self.assertRaises(UnicodeSurrogateDecodeError):
b'\xed\xa0\x81\x40'.decode('mutf-8')
# Low surrogate without prior high surrogate
with self.assertRaises(UnicodeSurrogateDecodeError):
b'\xed\xb0\x80\x40'.decode('mutf-8')
# Unexpected end after high surrogate
with self.assertRaises(UnicodeSurrogateDecodeError):
b'\xed\xa0\x81'.decode('mutf-8')
# Unexpected end after low surrogate
with self.assertRaises(UnicodeSurrogateDecodeError):
b'\xed\xb0\x80'.decode('mutf-8')
# Out-of-order surrogate
with self.assertRaises(UnicodeSurrogateDecodeError):
b'\xed\xb0\x80\xed\xa0\x81'.decode('mutf-8')
class DexFileTest(unittest.TestCase):
def _assemble_smali(self, dest, source):
"""Assemble a smali source file. Skip the test if the smali command is
unavailable."""
try:
subprocess.check_call(['smali', 'a', source, '-o', dest])
except EnvironmentError:
self.skipTest('smali not available')
def _create_zip_file(self, dest, paths):
"""Create a zip file from several input files."""
with zipfile.ZipFile(dest, 'w') as zip_file:
for path in paths:
zip_file.write(path, os.path.basename(path))
def test_generate_classes_dex_names(self):
seq = DexFileReader.generate_classes_dex_names()
self.assertEqual('classes.dex', next(seq))
self.assertEqual('classes2.dex', next(seq))
self.assertEqual('classes3.dex', next(seq))
def test_enumerate_dex_strings_buf(self):
with TemporaryDirectory() as tmp_dir:
smali_file = os.path.join(INPUT_DIR, 'Hello.smali')
classes_dex = os.path.join(tmp_dir, 'classes.dex')
self._assemble_smali(classes_dex, smali_file)
with open(classes_dex, 'rb') as classes_dex:
buf = classes_dex.read()
strs = set(DexFileReader.enumerate_dex_strings_buf(buf))
self.assertIn(b'hello', strs)
self.assertIn(b'world', strs)
def test_enumerate_dex_strings_apk(self):
with TemporaryDirectory() as tmp_dir:
smali_file = os.path.join(INPUT_DIR, 'Hello.smali')
classes_dex = os.path.join(tmp_dir, 'classes.dex')
self._assemble_smali(classes_dex, smali_file)
smali_file = os.path.join(INPUT_DIR, 'Example.smali')
classes2_dex = os.path.join(tmp_dir, 'classes2.dex')
self._assemble_smali(classes2_dex, smali_file)
zip_file = os.path.join(tmp_dir, 'example.apk')
self._create_zip_file(zip_file, [classes_dex, classes2_dex])
strs = set(DexFileReader.enumerate_dex_strings_apk(zip_file))
self.assertIn(b'hello', strs)
self.assertIn(b'world', strs)
self.assertIn(b'foo', strs)
self.assertIn(b'bar', strs)

View File

@@ -1,222 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import tempfile
import unittest
from vndk_definition_tool import Elf_Sym, ELF
from .compat import StringIO
class ElfSymTest(unittest.TestCase):
def setUp(self):
self.sym_local = Elf_Sym(0, 0, 4, 0, 0, 1)
self.sym_global = Elf_Sym(0, 0, 4, 17, 0, 1)
self.sym_weak = Elf_Sym(0, 0, 4, 33, 0, 1)
self.sym_undef = Elf_Sym(0, 0, 4, 16, 0, 0)
def test_is_local(self):
self.assertTrue(self.sym_local.is_local)
self.assertFalse(self.sym_global.is_local)
self.assertFalse(self.sym_weak.is_local)
def test_is_global(self):
self.assertFalse(self.sym_local.is_global)
self.assertTrue(self.sym_global.is_global)
self.assertFalse(self.sym_weak.is_global)
def test_is_weak(self):
self.assertFalse(self.sym_local.is_weak)
self.assertFalse(self.sym_global.is_weak)
self.assertTrue(self.sym_weak.is_weak)
def test_is_undef(self):
self.assertFalse(self.sym_global.is_undef)
self.assertTrue(self.sym_undef.is_undef)
class ELFTest(unittest.TestCase):
def test_get_ei_class_from_name(self):
self.assertEqual(ELF.ELFCLASS32, ELF.get_ei_class_from_name('32'))
self.assertEqual(ELF.ELFCLASS64, ELF.get_ei_class_from_name('64'))
def test_get_ei_data_from_name(self):
self.assertEqual(ELF.ELFDATA2LSB,
ELF.get_ei_data_from_name('Little-Endian'))
self.assertEqual(ELF.ELFDATA2MSB,
ELF.get_ei_data_from_name('Big-Endian'))
def test_get_e_machine_from_name(self):
self.assertEqual(0, ELF.get_e_machine_from_name('EM_NONE'))
self.assertEqual(3, ELF.get_e_machine_from_name('EM_386'))
self.assertEqual(8, ELF.get_e_machine_from_name('EM_MIPS'))
self.assertEqual(40, ELF.get_e_machine_from_name('EM_ARM'))
self.assertEqual(62, ELF.get_e_machine_from_name('EM_X86_64'))
self.assertEqual(183, ELF.get_e_machine_from_name('EM_AARCH64'))
def test_repr(self):
elf = ELF()
self.assertEqual(elf, eval(repr(elf)))
elf = ELF(ei_class=ELF.ELFCLASS32, ei_data=ELF.ELFDATA2LSB,
e_machine=183, dt_rpath=['a'], dt_runpath=['b'],
dt_needed=['c', 'd'], exported_symbols={'e', 'f', 'g'})
self.assertEqual(elf, eval(repr(elf)))
def test_class_name(self):
self.assertEqual('None', ELF().elf_class_name)
elf = ELF(ELF.ELFCLASS32)
self.assertEqual('32', elf.elf_class_name)
self.assertTrue(elf.is_32bit)
self.assertFalse(elf.is_64bit)
elf = ELF(ELF.ELFCLASS64)
self.assertEqual('64', elf.elf_class_name)
self.assertFalse(elf.is_32bit)
self.assertTrue(elf.is_64bit)
def test_endianness(self):
self.assertEqual('None', ELF().elf_data_name)
self.assertEqual('Little-Endian',
ELF(None, ELF.ELFDATA2LSB).elf_data_name)
self.assertEqual('Big-Endian',
ELF(None, ELF.ELFDATA2MSB).elf_data_name)
def test_machine_name(self):
self.assertEqual('EM_NONE', ELF(e_machine=0).elf_machine_name)
self.assertEqual('EM_386', ELF(e_machine=3).elf_machine_name)
self.assertEqual('EM_MIPS', ELF(e_machine=8).elf_machine_name)
self.assertEqual('EM_ARM', ELF(e_machine=40).elf_machine_name)
self.assertEqual('EM_X86_64', ELF(e_machine=62).elf_machine_name)
self.assertEqual('EM_AARCH64', ELF(e_machine=183).elf_machine_name)
def test_dt_rpath_runpath(self):
elf = ELF()
self.assertEqual([], elf.dt_rpath)
self.assertEqual([], elf.dt_runpath)
elf = ELF(None, None, 0, ['a'], ['b'])
self.assertEqual(['a'], elf.dt_rpath)
self.assertEqual(['b'], elf.dt_runpath)
def test_dump(self):
elf = ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB, 183, ['a'], ['b'],
['libc.so', 'libm.so'], {'hello', 'world'}, {'d', 'e'})
f = StringIO()
elf.dump(f)
actual_output = f.getvalue()
self.assertEqual('EI_CLASS\t32\n'
'EI_DATA\t\tLittle-Endian\n'
'E_MACHINE\tEM_AARCH64\n'
'FILE_SIZE\t0\n'
'RO_SEG_FILE_SIZE\t0\n'
'RO_SEG_MEM_SIZE\t0\n'
'RW_SEG_FILE_SIZE\t0\n'
'RW_SEG_MEM_SIZE\t0\n'
'DT_RPATH\ta\n'
'DT_RUNPATH\tb\n'
'DT_NEEDED\tlibc.so\n'
'DT_NEEDED\tlibm.so\n'
'EXP_SYMBOL\thello\n'
'EXP_SYMBOL\tworld\n'
'IMP_SYMBOL\td\n'
'IMP_SYMBOL\te\n',
actual_output)
def test_parse_dump_file(self):
data = ('EI_CLASS\t64\n'
'EI_DATA\t\tLittle-Endian\n'
'E_MACHINE\tEM_AARCH64\n'
'FILE_SIZE\t90\n'
'RO_SEG_FILE_SIZE\t18\n'
'RO_SEG_MEM_SIZE\t24\n'
'RW_SEG_FILE_SIZE\t42\n'
'RW_SEG_MEM_SIZE\t81\n'
'DT_RPATH\trpath_1\n'
'DT_RPATH\trpath_2\n'
'DT_RUNPATH\trunpath_1\n'
'DT_RUNPATH\trunpath_2\n'
'DT_NEEDED\tlibc.so\n'
'DT_NEEDED\tlibm.so\n'
'EXP_SYMBOL\texported_1\n'
'EXP_SYMBOL\texported_2\n'
'IMP_SYMBOL\timported_1\n'
'IMP_SYMBOL\timported_2\n')
def check_parse_dump_file_result(res):
self.assertEqual(ELF.ELFCLASS64, res.ei_class)
self.assertEqual(ELF.ELFDATA2LSB, res.ei_data)
self.assertEqual(183, res.e_machine)
self.assertEqual(90, res.file_size)
self.assertEqual(18, res.ro_seg_file_size)
self.assertEqual(24, res.ro_seg_mem_size)
self.assertEqual(42, res.rw_seg_file_size)
self.assertEqual(81, res.rw_seg_mem_size)
self.assertEqual(['rpath_1', 'rpath_2'], res.dt_rpath)
self.assertEqual(['runpath_1', 'runpath_2'], res.dt_runpath)
self.assertEqual(['libc.so', 'libm.so'], res.dt_needed)
self.assertSetEqual({'exported_1', 'exported_2'},
res.exported_symbols)
self.assertSetEqual({'imported_1', 'imported_2'},
res.imported_symbols)
# Parse ELF dump from the string buffer.
check_parse_dump_file_result(ELF.load_dumps(data))
# Parse ELF dump from the given file path.
with tempfile.NamedTemporaryFile('w+') as f:
f.write(data)
f.flush()
f.seek(0)
check_parse_dump_file_result(ELF.load_dump(f.name))
class ELFJniLibTest(unittest.TestCase):
def test_lib_deps(self):
elf = ELF(dt_needed=['libnativehelper.so'])
self.assertTrue(elf.is_jni_lib())
elf = ELF(dt_needed=['libandroid_runtime.so'])
self.assertTrue(elf.is_jni_lib())
elf = ELF(dt_needed=['libc.so'])
self.assertFalse(elf.is_jni_lib())
def test_jni_symbols(self):
elf = ELF(imported_symbols={'JNI_CreateJavaVM'})
self.assertTrue(elf.is_jni_lib())
elf = ELF(exported_symbols={'JNI_CreateJavaVM'})
self.assertTrue(elf.is_jni_lib())
elf = ELF(imported_symbols={'Java_com_example_Example_test'})
self.assertTrue(elf.is_jni_lib())
elf = ELF(exported_symbols={'Java_com_example_Example_test'})
self.assertTrue(elf.is_jni_lib())
elf = ELF(imported_symbols={'printf'})
self.assertFalse(elf.is_jni_lib())
elf = ELF(exported_symbols={'printf'})
self.assertFalse(elf.is_jni_lib())

View File

@@ -1,106 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import unittest
from vndk_definition_tool import ELFLinkData, PT_SYSTEM, PT_VENDOR
class ELFLinkDataTest(unittest.TestCase):
def setUp(self):
self.x = ELFLinkData(PT_SYSTEM, '/system/lib/libx.so', None, 0)
self.y = ELFLinkData(PT_SYSTEM, '/system/lib/liby.so', None, 0)
self.z = ELFLinkData(PT_SYSTEM, '/system/lib/libz.so', None, 0)
self.w = ELFLinkData(PT_SYSTEM, '/system/lib/libw.so', None, 0)
self.v = ELFLinkData(PT_VENDOR, '/vendor/lib/libv.so', None, 0)
self.x.add_needed_dep(self.y)
self.x.add_dlopen_dep(self.z)
self.z.add_needed_dep(self.w)
self.z.add_dlopen_dep(self.w)
def test_add_dep_and_accessors(self):
self.assertIn(self.y, self.x.deps_needed_all)
self.assertIn(self.x, self.y.users_needed_all)
self.assertNotIn(self.y, self.x.deps_dlopen_all)
self.assertNotIn(self.x, self.y.users_dlopen_all)
self.assertIn(self.z, self.x.deps_dlopen_all)
self.assertIn(self.x, self.z.users_dlopen_all)
self.assertNotIn(self.z, self.x.deps_needed_all)
self.assertNotIn(self.x, self.z.users_needed_all)
def test_remove_dep(self):
self.assertIn(self.y, self.x.deps_needed_all)
self.assertIn(self.x, self.y.users_needed_all)
with self.assertRaises(KeyError):
self.x.hide_dlopen_dep(self.y)
self.assertIn(self.y, self.x.deps_needed_all)
self.assertIn(self.x, self.y.users_needed_all)
self.x.hide_needed_dep(self.y)
self.assertIn(self.y, self.x.deps_needed_hidden)
self.assertIn(self.x, self.y.users_needed_hidden)
self.assertNotIn(self.y, self.x.deps_needed)
self.assertNotIn(self.x, self.y.users_needed)
def test_num_deps(self):
self.assertEqual(2, self.x.num_deps)
self.assertEqual(0, self.y.num_deps)
self.assertEqual(0, self.w.num_deps)
self.assertEqual(0, self.v.num_deps)
# NEEDED and DLOPEN are counted twice.
self.assertEqual(2, self.z.num_deps)
def test_num_users(self):
self.assertEqual(0, self.x.num_users)
self.assertEqual(1, self.y.num_users)
self.assertEqual(1, self.z.num_users)
self.assertEqual(0, self.v.num_users)
# NEEDED and DLOPEN are counted twice.
self.assertEqual(2, self.w.num_users)
def test_has_dep(self):
self.assertTrue(self.x.has_dep(self.y))
self.assertTrue(self.x.has_dep(self.z))
self.assertFalse(self.x.has_dep(self.x))
self.assertFalse(self.x.has_dep(self.w))
def test_has_user(self):
self.assertTrue(self.y.has_user(self.x))
self.assertTrue(self.z.has_user(self.x))
self.assertFalse(self.x.has_user(self.x))
self.assertFalse(self.w.has_user(self.x))
def test_is_system_lib(self):
self.assertTrue(self.x.is_system_lib())
self.assertFalse(self.v.is_system_lib())
def test_get_dep_linked_symbols(self):
self.x.linked_symbols['c'] = self.y
self.x.linked_symbols['b'] = self.y
self.x.linked_symbols['a'] = self.y
self.x.linked_symbols['w'] = self.z
self.x.linked_symbols['z'] = self.z
self.x.linked_symbols['y'] = self.z
self.x.linked_symbols['x'] = self.z
self.assertEqual(['a', 'b', 'c'],
self.x.get_dep_linked_symbols(self.y))
self.assertEqual(['w', 'x', 'y', 'z'],
self.x.get_dep_linked_symbols(self.z))

View File

@@ -1,604 +0,0 @@
#!/usr/bin/env python3
import re
import tempfile
from vndk_definition_tool import (
ELF, ELFLinker, GenericRefs, PT_SYSTEM, PT_VENDOR, VNDKLibDir)
from .compat import StringIO, TestCase, patch
from .utils import GraphBuilder
class ELFLinkerTest(TestCase):
def _create_normal_graph(self):
gb = GraphBuilder()
gb.add_multilib(PT_SYSTEM, 'libdl',
exported_symbols={'dlclose', 'dlopen', 'dlsym'})
gb.add_multilib(PT_SYSTEM, 'libm', exported_symbols={'cos', 'sin'})
gb.add_multilib(PT_SYSTEM, 'libc', dt_needed=['libdl.so', 'libm.so'],
exported_symbols={'fclose', 'fopen', 'fread'},
imported_symbols={'dlclose', 'dlopen', 'cos', 'sin'})
gb.add_multilib(PT_SYSTEM, 'libRS', dt_needed=['libdl.so'],
exported_symbols={'rsContextCreate'},
imported_symbols={'dlclose', 'dlopen', 'dlsym'})
gb.add_multilib(PT_SYSTEM, 'libcutils',
dt_needed=['libc.so', 'libdl.so'],
imported_symbols={'dlclose', 'dlopen', 'fclose',
'fopen'})
gb.add_multilib(PT_VENDOR, 'libEGL',
dt_needed=['libc.so', 'libcutils.so', 'libdl.so'],
exported_symbols={'eglGetDisplay'},
imported_symbols={'fclose', 'fopen'})
gb.resolve()
return gb
def _get_paths_from_nodes(self, nodes):
return sorted([node.path for node in nodes])
def test_get_lib(self):
gb = self._create_normal_graph()
graph = gb.graph
node = graph.get_lib('/system/lib/libc.so')
self.assertEqual(gb.libc_32, node)
self.assertEqual('/system/lib/libc.so', node.path)
node = graph.get_lib('/system/lib64/libdl.so')
self.assertEqual(gb.libdl_64, node)
self.assertEqual('/system/lib64/libdl.so', node.path)
node = graph.get_lib('/vendor/lib64/libEGL.so')
self.assertEqual(gb.libEGL_64, node)
self.assertEqual('/vendor/lib64/libEGL.so', node.path)
self.assertEqual(None, graph.get_lib('/no/such/path.so'))
def test_map_paths_to_libs(self):
gb = self._create_normal_graph()
graph = gb.graph
bad = []
paths = ['/system/lib/libc.so', '/system/lib/libdl.so']
nodes = graph.get_libs(paths, bad.append)
self.assertEqual([], bad)
self.assertEqual(2, len(nodes))
self.assertEqual(paths, self._get_paths_from_nodes(nodes))
bad = []
paths = ['/no/such/path.so', '/system/lib64/libdl.so']
nodes = graph.get_libs(paths, bad.append)
self.assertEqual(['/no/such/path.so'], bad)
self.assertEqual(['/system/lib64/libdl.so'],
self._get_paths_from_nodes(nodes))
def test_elf_class_and_partitions(self):
gb = self._create_normal_graph()
graph = gb.graph
self.assertEqual(5, len(graph.lib_pt[PT_SYSTEM].lib32))
self.assertEqual(5, len(graph.lib_pt[PT_SYSTEM].lib64))
self.assertEqual(1, len(graph.lib_pt[PT_VENDOR].lib32))
self.assertEqual(1, len(graph.lib_pt[PT_VENDOR].lib64))
def test_deps(self):
gb = self._create_normal_graph()
# Check the dependencies of libc.so.
node = gb.graph.get_lib('/system/lib/libc.so')
self.assertEqual(['/system/lib/libdl.so', '/system/lib/libm.so'],
self._get_paths_from_nodes(node.deps_all))
# Check the dependencies of libRS.so.
node = gb.graph.get_lib('/system/lib64/libRS.so')
self.assertEqual(['/system/lib64/libdl.so'],
self._get_paths_from_nodes(node.deps_all))
# Check the dependencies of libEGL.so.
node = gb.graph.get_lib('/vendor/lib64/libEGL.so')
self.assertEqual(['/system/lib64/libc.so', '/system/lib64/libcutils.so',
'/system/lib64/libdl.so'],
self._get_paths_from_nodes(node.deps_all))
def test_linked_symbols(self):
gb = self._create_normal_graph()
graph = gb.graph
# Check the unresolved symbols.
for lib_set in graph.lib_pt:
for lib in lib_set.values():
self.assertEqual(set(), lib.unresolved_symbols)
# Check the linked symbols.
for lib in ('lib', 'lib64'):
libdl = graph.get_lib('/system/' + lib + '/libdl.so')
libm = graph.get_lib('/system/' + lib + '/libm.so')
libc = graph.get_lib('/system/' + lib + '/libc.so')
libRS = graph.get_lib('/system/' + lib + '/libRS.so')
libcutils = \
graph.get_lib('/system/' + lib + '/libcutils.so')
libEGL = graph.get_lib('/vendor/' + lib + '/libEGL.so')
# Check the linked symbols for libc.so.
self.assertIs(libdl, libc.linked_symbols['dlclose'])
self.assertIs(libdl, libc.linked_symbols['dlopen'])
self.assertIs(libm, libc.linked_symbols['cos'])
self.assertIs(libm, libc.linked_symbols['sin'])
# Check the linked symbols for libRS.so.
self.assertIs(libdl, libRS.linked_symbols['dlclose'])
self.assertIs(libdl, libRS.linked_symbols['dlopen'])
self.assertIs(libdl, libRS.linked_symbols['dlsym'])
# Check the linked symbols for libcutils.so.
self.assertIs(libdl, libcutils.linked_symbols['dlclose'])
self.assertIs(libdl, libcutils.linked_symbols['dlopen'])
self.assertIs(libc, libcutils.linked_symbols['fclose'])
self.assertIs(libc, libcutils.linked_symbols['fopen'])
# Check the linked symbols for libEGL.so.
self.assertIs(libc, libEGL.linked_symbols['fclose'])
self.assertIs(libc, libEGL.linked_symbols['fopen'])
def test_unresolved_symbols(self):
gb = GraphBuilder()
gb.add_lib(PT_SYSTEM, ELF.ELFCLASS64, 'libfoo', dt_needed=[],
exported_symbols={'foo', 'bar'},
imported_symbols={'__does_not_exist'})
gb.resolve()
lib = gb.graph.get_lib('/system/lib64/libfoo.so')
self.assertEqual({'__does_not_exist'}, lib.unresolved_symbols)
def test_users(self):
gb = self._create_normal_graph()
graph = gb.graph
# Check the users of libc.so.
node = graph.get_lib('/system/lib/libc.so')
self.assertEqual(['/system/lib/libcutils.so', '/vendor/lib/libEGL.so'],
self._get_paths_from_nodes(node.users_all))
# Check the users of libdl.so.
node = graph.get_lib('/system/lib/libdl.so')
self.assertEqual(['/system/lib/libRS.so', '/system/lib/libc.so',
'/system/lib/libcutils.so', '/vendor/lib/libEGL.so'],
self._get_paths_from_nodes(node.users_all))
# Check the users of libRS.so.
node = graph.get_lib('/system/lib64/libRS.so')
self.assertEqual([], self._get_paths_from_nodes(node.users_all))
# Check the users of libEGL.so.
node = graph.get_lib('/vendor/lib64/libEGL.so')
self.assertEqual([], self._get_paths_from_nodes(node.users_all))
def test_compute_predefined_sp_hal(self):
gb = GraphBuilder()
# HIDL SP-HAL implementation.
gb.add_multilib(PT_SYSTEM, 'gralloc.default', extra_dir='hw')
gb.add_multilib(PT_SYSTEM, 'gralloc.chipset', extra_dir='hw')
gb.add_multilib(PT_SYSTEM, 'android.hardware.graphics.mapper@2.0-impl',
extra_dir='hw')
# NDK loader libraries should not be considered as SP-HALs.
gb.add_multilib(PT_SYSTEM, 'libvulkan')
gb.add_multilib(PT_SYSTEM, 'libEGL')
gb.add_multilib(PT_SYSTEM, 'libGLESv1_CM')
gb.add_multilib(PT_SYSTEM, 'libGLESv2')
gb.add_multilib(PT_SYSTEM, 'libGLESv3')
# OpenGL implementation.
gb.add_multilib(PT_VENDOR, 'libEGL_chipset', extra_dir='egl')
gb.add_multilib(PT_VENDOR, 'libGLES_chipset', extra_dir='egl')
gb.add_multilib(PT_VENDOR, 'libGLESv1_CM_chipset', extra_dir='egl')
gb.add_multilib(PT_VENDOR, 'libGLESv2_chipset', extra_dir='egl')
gb.add_multilib(PT_VENDOR, 'libGLESv3_chipset', extra_dir='egl')
# Renderscript implementation.
gb.add_multilib(PT_VENDOR, 'libRSDriver_chipset')
gb.add_multilib(PT_VENDOR, 'libPVRRS')
# Vulkan implementation.
gb.add_multilib(PT_VENDOR, 'vulkan.chipset', extra_dir='hw')
# Some un-related libraries.
gb.add_multilib(PT_SYSTEM, 'libfoo')
gb.add_multilib(PT_VENDOR, 'libfoo')
gb.resolve()
# Compute SP-HAL.
sp_hals = set(lib.path for lib in gb.graph.compute_predefined_sp_hal())
for lib in ('lib', 'lib64'):
# Check HIDL SP-HAL implementation.
self.assertIn('/system/' + lib + '/hw/gralloc.default.so', sp_hals)
self.assertIn('/system/' + lib + '/hw/gralloc.chipset.so', sp_hals)
self.assertIn('/system/' + lib + '/hw/'
'android.hardware.graphics.mapper@2.0-impl.so',
sp_hals)
# Check that NDK loaders are not SP-HALs.
self.assertNotIn('/system/' + lib + '/libvulkan.so', sp_hals)
self.assertNotIn('/system/' + lib + '/libEGL.so', sp_hals)
self.assertNotIn('/system/' + lib + '/libGLESv1_CM.so', sp_hals)
self.assertNotIn('/system/' + lib + '/libGLESv2.so', sp_hals)
self.assertNotIn('/system/' + lib + '/libGLESv3.so', sp_hals)
# Check that OpenGL implementations are SP-HALs.
self.assertIn('/vendor/' + lib + '/egl/libEGL_chipset.so', sp_hals)
self.assertIn('/vendor/' + lib + '/egl/libGLES_chipset.so',
sp_hals)
self.assertIn('/vendor/' + lib + '/egl/libGLESv1_CM_chipset.so',
sp_hals)
self.assertIn('/vendor/' + lib + '/egl/libGLESv2_chipset.so',
sp_hals)
self.assertIn('/vendor/' + lib + '/egl/libGLESv3_chipset.so',
sp_hals)
# Check that Renderscript implementations are SP-HALs.
self.assertIn('/vendor/' + lib + '/libRSDriver_chipset.so', sp_hals)
self.assertIn('/vendor/' + lib + '/libPVRRS.so', sp_hals)
# Check that vulkan implementation are SP-HALs.
self.assertIn('/vendor/' + lib + '/libPVRRS.so', sp_hals)
# Check that un-related libraries are not SP-HALs.
self.assertNotIn('/system/' + lib + '/libfoo.so', sp_hals)
self.assertNotIn('/vendor/' + lib + '/libfoo.so', sp_hals)
def test_compute_sp_lib(self):
# Create graph.
gb = GraphBuilder()
# LL-NDK (should be excluded from result)
gb.add_multilib(PT_SYSTEM, 'libc')
libEGL_32, libEGL_64 = \
gb.add_multilib(PT_SYSTEM, 'libEGL',
dt_needed=['libc.so', 'libutils.so'])
# LL-NDK dependencies
gb.add_multilib(PT_SYSTEM, 'libutils',
dt_needed=['libc.so', 'libcutils.so'])
# VNDK-SP used by both LL-NDK and SP-HAL
gb.add_multilib(PT_SYSTEM, 'libsp_both_vs')
# VNDK-SP used by LL-NDK
gb.add_multilib(PT_SYSTEM, 'libcutils_dep', dt_needed=['libc.so'])
gb.add_multilib(PT_SYSTEM, 'libcutils',
dt_needed=['libc.so', 'libcutils_dep.so',
'libsp_both_vs.so'])
# VNDK-SP used by SP-HAL
gb.add_multilib(PT_SYSTEM, 'libhidlbase')
gb.add_multilib(PT_SYSTEM, 'libhidlmemory',
dt_needed=['libhidlbase.so', 'libsp_both_vs.so'])
# SP-HAL dependencies
gb.add_multilib(PT_VENDOR, 'libllvm_vendor_dep')
gb.add_multilib(PT_VENDOR, 'libllvm_vendor',
dt_needed=['libc.so', 'libllvm_vendor_dep.so'])
# SP-HAL
libEGL_chipset_32, libEGL_chipset_64 = \
gb.add_multilib(PT_VENDOR, 'libEGL_chipset', extra_dir='egl',
dt_needed=['libc.so', 'libllvm_vendor.so',
'libhidlmemory.so'])
gb.resolve()
# Add dlopen() dependencies from libEGL to libEGL_chipset.
libEGL_32.add_dlopen_dep(libEGL_chipset_32)
libEGL_64.add_dlopen_dep(libEGL_chipset_64)
# Create generic reference.
class MockGenericRefs(object):
# pylint: disable=too-few-public-methods
def classify_lib(self, lib):
if 'libllvm_vendor' in lib.path:
return GenericRefs.NEW_LIB
return GenericRefs.EXPORT_EQUAL
sp_lib = gb.graph.compute_sp_lib(MockGenericRefs())
self.assertEqual(2 * 1, len(sp_lib.sp_hal))
self.assertEqual(2 * 2, len(sp_lib.sp_hal_dep))
self.assertEqual(2 * 2, len(sp_lib.vndk_sp_hal))
self.assertEqual(2 * 2, len(sp_lib.ll_ndk))
self.assertEqual(2 * 3, len(sp_lib.ll_ndk_private))
self.assertEqual(2 * 1, len(sp_lib.vndk_sp_both))
sp_hal = self._get_paths_from_nodes(sp_lib.sp_hal)
sp_hal_dep = self._get_paths_from_nodes(sp_lib.sp_hal_dep)
vndk_sp_hal = self._get_paths_from_nodes(sp_lib.vndk_sp_hal)
ll_ndk = self._get_paths_from_nodes(sp_lib.ll_ndk)
ll_ndk_private = self._get_paths_from_nodes(sp_lib.ll_ndk_private)
vndk_sp_both = self._get_paths_from_nodes(sp_lib.vndk_sp_both)
for lib_dir in ('lib', 'lib64'):
# VNDK-SP used by both LL-NDK and SP-HAL
self.assertIn('/system/{}/libsp_both_vs.so'.format(lib_dir),
vndk_sp_both)
# VNDK-SP used by LL-NDK
self.assertIn('/system/{}/libcutils.so'.format(lib_dir),
ll_ndk_private)
self.assertIn('/system/{}/libcutils_dep.so'.format(lib_dir),
ll_ndk_private)
self.assertIn('/system/{}/libutils.so'.format(lib_dir),
ll_ndk_private)
# VNDK-SP used by SP-HAL
self.assertIn('/system/{}/libhidlbase.so'.format(lib_dir),
vndk_sp_hal)
self.assertIn('/system/{}/libhidlmemory.so'.format(lib_dir),
vndk_sp_hal)
# SP-HAL dependencies
self.assertIn('/vendor/{}/libllvm_vendor.so'.format(lib_dir),
sp_hal_dep)
self.assertIn('/vendor/{}/libllvm_vendor_dep.so'.format(lib_dir),
sp_hal_dep)
# SP-HAL
self.assertIn('/vendor/{}/egl/libEGL_chipset.so'.format(lib_dir),
sp_hal)
# LL-NDK
self.assertIn('/system/{}/libEGL.so'.format(lib_dir), ll_ndk)
self.assertIn('/system/{}/libc.so'.format(lib_dir), ll_ndk)
# LL-NDK must not in sp_hal, sp_hal_dep, and vndk_sp_hal.
libc_path = '/system/{}/libc.so'.format(lib_dir)
self.assertNotIn(libc_path, sp_hal)
self.assertNotIn(libc_path, sp_hal_dep)
self.assertNotIn(libc_path, vndk_sp_hal)
self.assertNotIn(libc_path, ll_ndk_private)
def test_link_vndk_ver_dirs(self):
gb = GraphBuilder()
libc_32, libc_64 = gb.add_multilib(PT_SYSTEM, 'libc')
libvndk_a_32, libvndk_a_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_a', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_b.so', 'libvndk_sp_b.so'])
libvndk_b_32, libvndk_b_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_b', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_sp_b.so'])
libvndk_c_32, libvndk_c_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_c', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_d.so', 'libvndk_sp_d.so'])
libvndk_d_32, libvndk_d_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_d', extra_dir='vndk-28',
dt_needed=['libc.so', 'libvndk_sp_d.so'])
libvndk_sp_a_32, libvndk_sp_a_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_sp_a', extra_dir='vndk-sp-28',
dt_needed=['libc.so', 'libvndk_sp_b.so'])
libvndk_sp_b_32, libvndk_sp_b_64 = gb.add_multilib(
PT_SYSTEM, 'libvndk_sp_b', extra_dir='vndk-sp-28',
dt_needed=['libc.so'])
libvndk_sp_c_32, libvndk_sp_c_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_sp_c', extra_dir='vndk-sp-28',
dt_needed=['libc.so', 'libvndk_sp_d.so'])
libvndk_sp_d_32, libvndk_sp_d_64 = gb.add_multilib(
PT_VENDOR, 'libvndk_sp_d', extra_dir='vndk-sp-28',
dt_needed=['libc.so'])
gb.resolve(VNDKLibDir.create_from_version('28'), '28')
# 32-bit shared libraries
self.assertIn(libc_32, libvndk_a_32.deps_all)
self.assertIn(libc_32, libvndk_b_32.deps_all)
self.assertIn(libc_32, libvndk_c_32.deps_all)
self.assertIn(libc_32, libvndk_d_32.deps_all)
self.assertIn(libc_32, libvndk_sp_a_32.deps_all)
self.assertIn(libc_32, libvndk_sp_b_32.deps_all)
self.assertIn(libc_32, libvndk_sp_c_32.deps_all)
self.assertIn(libc_32, libvndk_sp_d_32.deps_all)
self.assertIn(libvndk_b_32, libvndk_a_32.deps_all)
self.assertIn(libvndk_sp_b_32, libvndk_a_32.deps_all)
self.assertIn(libvndk_sp_b_32, libvndk_b_32.deps_all)
self.assertIn(libvndk_sp_b_32, libvndk_sp_a_32.deps_all)
self.assertIn(libvndk_d_32, libvndk_c_32.deps_all)
self.assertIn(libvndk_sp_d_32, libvndk_c_32.deps_all)
self.assertIn(libvndk_sp_d_32, libvndk_d_32.deps_all)
self.assertIn(libvndk_sp_d_32, libvndk_sp_c_32.deps_all)
# 64-bit shared libraries
self.assertIn(libc_64, libvndk_a_64.deps_all)
self.assertIn(libc_64, libvndk_b_64.deps_all)
self.assertIn(libc_64, libvndk_c_64.deps_all)
self.assertIn(libc_64, libvndk_d_64.deps_all)
self.assertIn(libc_64, libvndk_sp_a_64.deps_all)
self.assertIn(libc_64, libvndk_sp_b_64.deps_all)
self.assertIn(libc_64, libvndk_sp_c_64.deps_all)
self.assertIn(libc_64, libvndk_sp_d_64.deps_all)
self.assertIn(libvndk_b_64, libvndk_a_64.deps_all)
self.assertIn(libvndk_sp_b_64, libvndk_a_64.deps_all)
self.assertIn(libvndk_sp_b_64, libvndk_b_64.deps_all)
self.assertIn(libvndk_sp_b_64, libvndk_sp_a_64.deps_all)
self.assertIn(libvndk_d_64, libvndk_c_64.deps_all)
self.assertIn(libvndk_sp_d_64, libvndk_c_64.deps_all)
self.assertIn(libvndk_sp_d_64, libvndk_d_64.deps_all)
self.assertIn(libvndk_sp_d_64, libvndk_sp_c_64.deps_all)
def test_rewrite_apex_modules(self):
graph = ELFLinker()
libfoo = graph.add_lib(PT_SYSTEM, '/system/apex/foo/lib/libfoo.so',
ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB))
libbar = graph.add_lib(PT_SYSTEM, '/system/apex/bar/lib/libbar.so',
ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB))
graph.rewrite_apex_modules()
self.assertEqual(libfoo.path, '/apex/foo/lib/libfoo.so')
self.assertEqual(libbar.path, '/apex/bar/lib/libbar.so')
def test_link_apex_modules(self):
graph = ELFLinker()
libfoo = graph.add_lib(PT_SYSTEM, '/system/apex/foo/lib/libfoo.so',
ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB))
libbar = graph.add_lib(PT_SYSTEM, '/system/lib/libbar.so',
ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB,
dt_needed=['libfoo.so']))
graph.rewrite_apex_modules()
graph.resolve_deps()
self.assertIn(libfoo, libbar.deps_all)
def test_link_apex_bionic(self):
graph = ELFLinker()
libc = graph.add_lib(
PT_SYSTEM, '/system/apex/com.android.runtime/lib/bionic/libc.so',
ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB))
libbar = graph.add_lib(
PT_SYSTEM, '/system/lib/libbar.so',
ELF(ELF.ELFCLASS32, ELF.ELFDATA2LSB, dt_needed=['libc.so']))
graph.rewrite_apex_modules()
graph.resolve_deps()
self.assertIn(libc, libbar.deps_all)
class ELFLinkerDlopenDepsTest(TestCase):
def test_add_dlopen_deps(self):
gb = GraphBuilder()
liba = gb.add_lib32(PT_SYSTEM, 'liba')
libb = gb.add_lib32(PT_SYSTEM, 'libb')
gb.resolve()
with tempfile.NamedTemporaryFile(mode='w') as tmp_file:
tmp_file.write('/system/lib/liba.so: /system/lib/libb.so')
tmp_file.seek(0)
gb.graph.add_dlopen_deps(tmp_file.name)
self.assertIn(libb, liba.deps_dlopen)
self.assertIn(liba, libb.users_dlopen)
self.assertNotIn(libb, liba.deps_needed)
self.assertNotIn(liba, libb.users_needed)
def test_add_dlopen_deps_lib_subst(self):
gb = GraphBuilder()
liba_32, liba_64 = gb.add_multilib(PT_SYSTEM, 'liba')
libb_32, libb_64 = gb.add_multilib(PT_SYSTEM, 'libb')
gb.resolve()
with tempfile.NamedTemporaryFile(mode='w') as tmp_file:
tmp_file.write('/system/${LIB}/liba.so: /system/${LIB}/libb.so')
tmp_file.seek(0)
gb.graph.add_dlopen_deps(tmp_file.name)
self.assertIn(libb_32, liba_32.deps_dlopen)
self.assertIn(liba_32, libb_32.users_dlopen)
self.assertIn(libb_64, liba_64.deps_dlopen)
self.assertIn(liba_64, libb_64.users_dlopen)
def test_add_dlopen_deps_lib_subset_single_bitness(self):
gb = GraphBuilder()
liba_32, liba_64 = gb.add_multilib(PT_SYSTEM, 'liba')
libb_32 = gb.add_lib32(PT_SYSTEM, 'libb')
gb.resolve()
with tempfile.NamedTemporaryFile(mode='w') as tmp_file:
tmp_file.write('/system/${LIB}/libb.so: /system/${LIB}/liba.so')
tmp_file.seek(0)
stderr = StringIO()
with patch('sys.stderr', stderr):
gb.graph.add_dlopen_deps(tmp_file.name)
self.assertEqual('', stderr.getvalue())
self.assertIn(liba_32, libb_32.deps_dlopen)
self.assertIn(libb_32, liba_32.users_dlopen)
self.assertEqual(0, len(liba_64.users_dlopen))
def test_add_dlopen_deps_regex(self):
gb = GraphBuilder()
liba = gb.add_lib32(PT_SYSTEM, 'liba')
libb = gb.add_lib32(PT_SYSTEM, 'libb')
gb.resolve()
with tempfile.NamedTemporaryFile(mode='w') as tmp_file:
tmp_file.write('[regex].*libb\\.so: [regex].*/${LIB}/liba\\.so')
tmp_file.seek(0)
stderr = StringIO()
with patch('sys.stderr', stderr):
gb.graph.add_dlopen_deps(tmp_file.name)
self.assertEqual('', stderr.getvalue())
self.assertIn(liba, libb.deps_dlopen)
self.assertIn(libb, liba.users_dlopen)
def test_add_dlopen_deps_error(self):
gb = GraphBuilder()
gb.add_lib32(PT_SYSTEM, 'liba')
gb.add_lib32(PT_SYSTEM, 'libb')
gb.resolve()
with tempfile.NamedTemporaryFile(mode='w') as tmp_file:
tmp_file.write('/system/lib/libc.so: /system/lib/libd.so')
tmp_file.seek(0)
stderr = StringIO()
with patch('sys.stderr', stderr):
gb.graph.add_dlopen_deps(tmp_file.name)
self.assertRegex(
stderr.getvalue(),
'error:' + re.escape(tmp_file.name) + ':1: ' +
'Failed to add dlopen dependency from .* to .*\\.\n')

View File

@@ -1,92 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import unittest
from vndk_definition_tool import ELFResolver
class ELFResolverTest(unittest.TestCase):
def setUp(self):
lib_set = {
'/system/lib/liba.so': 'a',
'/system/lib/libb.so': 'b',
'/vendor/lib/liba.so': 'a2',
'/vendor/lib/libc.so': 'c',
'/vendor/lib/libd.so': 'd',
'/system/lib/hw/libe.so': 'e',
'/vendor/lib/hw/libf.so': 'f',
}
self.resolver = ELFResolver(lib_set, ['/system/lib', '/vendor/lib'])
def test_get_candidates(self):
r = self.resolver
self.assertEqual(
['/system/lib/libx.so', '/vendor/lib/libx.so'],
list(r.get_candidates('/system/lib/libreq.so', 'libx.so')))
self.assertEqual(
['/C/libx.so', '/system/lib/libx.so', '/vendor/lib/libx.so'],
list(r.get_candidates('/system/lib/libreq.so', 'libx.so', ['/C'])))
self.assertEqual(
['/C/libx.so', '/D/libx.so', '/system/lib/libx.so',
'/vendor/lib/libx.so'],
list(r.get_candidates('/system/lib/libreq.so', 'libx.so',
['/C', '/D'])))
self.assertEqual(
['/E/libx.so', '/system/lib/libx.so', '/vendor/lib/libx.so'],
list(r.get_candidates('/system/lib/libreq.so', 'libx.so', None,
['/E'])))
self.assertEqual(
['/E/libx.so', '/F/libx.so', '/system/lib/libx.so',
'/vendor/lib/libx.so'],
list(r.get_candidates('/system/lib/libreq.so', 'libx.so', None,
['/E', '/F'])))
self.assertEqual(
['/C/libx.so', '/D/libx.so', '/E/libx.so', '/F/libx.so',
'/system/lib/libx.so', '/vendor/lib/libx.so'],
list(r.get_candidates('/system/lib/libreq.so', 'libx.so',
['/C', '/D'], ['/E', '/F'])))
# Test app-specific search paths.
self.assertEqual(
['/system/app/example/lib/armeabi-v7a/libx.so',
'/C/libx.so', '/D/libx.so', '/E/libx.so', '/F/libx.so',
'/system/lib/libx.so', '/vendor/lib/libx.so'],
list(r.get_candidates(
'/system/app/example/lib/armeabi-v7a/libreq.so',
'libx.so',
['/C', '/D'], ['/E', '/F'])))
def test_resolve(self):
r = self.resolver
self.assertEqual('a', r.resolve('/system/lib/libreq.so', 'liba.so'))
self.assertEqual('c', r.resolve('/system/lib/libreq.so', 'libc.so'))
self.assertEqual(None, r.resolve('/system/lib/libreq.so', 'libe.so'))
self.assertEqual(
'e',
r.resolve('/system/lib/libreq.so', 'libe.so',
dt_rpath=['/system/lib/hw']))
self.assertEqual(
'e',
r.resolve('/system/lib/libreq.so', 'libe.so',
dt_runpath=['/system/lib/hw']))
self.assertEqual(
'a2',
r.resolve('/system/lib/libreq.so', 'liba.so',
dt_rpath=['/vendor/lib']))
self.assertEqual(
'a2',
r.resolve('/system/lib/libreq.so', 'liba.so',
dt_runpath=['/vendor/lib']))

View File

@@ -1,166 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import os
import re
import subprocess
import sys
import unittest
from .compat import TemporaryDirectory, makedirs
from .ndk_toolchain import create_targets
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
VNDK_DEF_TOOL = os.path.join(SCRIPT_DIR, '..', 'vndk_definition_tool.py')
INPUT_DIR = os.path.join(SCRIPT_DIR, 'testdata', 'test_elfdump', 'input')
EXPECTED_DIR = os.path.join(SCRIPT_DIR, 'testdata', 'test_elfdump', 'expected')
test_dir_base = None
def run_elf_dump(path):
cmd = [sys.executable, VNDK_DEF_TOOL, 'elfdump', path]
return subprocess.check_output(cmd, universal_newlines=True)
class ELFDumpTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.targets = create_targets()
if test_dir_base:
cls.test_dir_base = test_dir_base
else:
cls.tmp_dir = TemporaryDirectory()
cls.test_dir_base = cls.tmp_dir.name
cls._build_fixtures(cls.target_name)
@classmethod
def tearDownClass(cls):
if not test_dir_base:
cls.tmp_dir.cleanup()
@classmethod
def _build_fixtures(cls, target_name):
target = cls.targets[target_name]
cls.expected_dir = os.path.join(EXPECTED_DIR, target_name)
cls.test_dir = os.path.join(cls.test_dir_base, target_name)
makedirs(cls.test_dir, exist_ok=True)
# Compile main.o.
src_file = os.path.join(INPUT_DIR, 'main.c')
obj_file = os.path.join(cls.test_dir, 'main.o')
target.compile(obj_file, src_file, [])
# Link main.out.
out_file = os.path.join(cls.test_dir, 'main.out')
target.link(out_file, [obj_file], ['-ldl', '-lc', '-lstdc++'])
# Compile test.o.
src_file = os.path.join(INPUT_DIR, 'test.c')
obj_file = os.path.join(cls.test_dir, 'test.o')
target.compile(obj_file, src_file, [])
# Link libtest.so.
out_file = os.path.join(cls.test_dir, 'libtest.so')
target.link(out_file, [obj_file], ['-shared', '-lc'])
# Link libtest-rpath.so.
out_file = os.path.join(cls.test_dir, 'libtest-rpath.so')
target.link(out_file, [obj_file],
['-shared', '-lc', '-Wl,-rpath,$ORIGIN/../lib',
'-Wl,--disable-new-dtags'])
# Link libtest-rpath-multi.so.
out_file = os.path.join(cls.test_dir, 'libtest-rpath-multi.so')
target.link(out_file, [obj_file],
['-shared', '-lc', '-Wl,-rpath,/system/lib:/vendor/lib',
'-Wl,--disable-new-dtags'])
# Link libtest-runpath.so.
out_file = os.path.join(cls.test_dir, 'libtest-runpath.so')
target.link(out_file, [obj_file],
['-shared', '-lc', '-Wl,-rpath,$ORIGIN/../lib',
'-Wl,--enable-new-dtags'])
# Link libtest-runpath-multi.so.
out_file = os.path.join(cls.test_dir, 'libtest-runpath-multi.so')
target.link(out_file, [obj_file],
['-shared', '-lc', '-Wl,-rpath,/system/lib:/vendor/lib',
'-Wl,--enable-new-dtags'])
def _remove_size_lines(self, lines):
"""Remove file size information because they may vary."""
prefixes = (
'FILE_SIZE\t',
'RO_SEG_FILE_SIZE\t',
'RO_SEG_MEM_SIZE\t',
'RW_SEG_FILE_SIZE\t',
'RW_SEG_MEM_SIZE\t',
)
patt = re.compile('|'.join('(?:' + re.escape(x) +')' for x in prefixes))
return [line for line in lines if not patt.match(line)]
def _assert_equal_to_file(self, expected_file_name, actual):
actual = actual.splitlines(True)
expected_file_path = os.path.join(self.expected_dir, expected_file_name)
with open(expected_file_path, 'r') as f:
expected = f.readlines()
self.assertEqual(self._remove_size_lines(expected),
self._remove_size_lines(actual))
def _test_main_out(self):
out_file = os.path.join(self.test_dir, 'main.out')
self._assert_equal_to_file('main.out.txt', run_elf_dump(out_file))
def _test_libtest(self, expected_file_name, lib_name):
lib_file = os.path.join(self.test_dir, lib_name)
self._assert_equal_to_file(expected_file_name, run_elf_dump(lib_file))
def create_target_test(target_name):
def test_main(self):
self._test_main_out()
def test_libtest(self):
self._test_libtest('libtest.so.txt', 'libtest.so')
def test_libtest_rpath(self):
self._test_libtest('libtest-rpath.so.txt', 'libtest-rpath.so')
def test_libtest_rpath_multi(self):
self._test_libtest('libtest-rpath-multi.so.txt',
'libtest-rpath-multi.so')
def test_libtest_runpath(self):
self._test_libtest('libtest-runpath.so.txt', 'libtest-runpath.so')
def test_libtest_runpath_multi(self):
self._test_libtest('libtest-runpath-multi.so.txt',
'libtest-runpath-multi.so')
class_name = 'ELFDumpTest_' + target_name
globals()[class_name] = type(
class_name, (ELFDumpTest,),
dict(test_main=test_main,
test_libtest=test_libtest,
test_libtest_rpath=test_libtest_rpath,
test_libtest_rpath_multi=test_libtest_rpath_multi,
test_libtest_runpath=test_libtest_runpath,
test_libtest_runpath_multi=test_libtest_runpath_multi,
target_name=target_name))
for target in ('arm', 'arm64', 'mips', 'mips64', 'x86', 'x86_64'):
create_target_test(target)

View File

@@ -1,95 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import os
import unittest
from vndk_definition_tool import GenericRefs
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
class MockELF(object):
# pylint: disable=too-few-public-methods
def __init__(self, exported_symbols):
self.exported_symbols = exported_symbols
class MockLib(object):
# pylint: disable=too-few-public-methods
def __init__(self, path, exported_symbols):
self.path = path
self.elf = MockELF(exported_symbols)
class GenericRefsTest(unittest.TestCase):
def setUp(self):
self.ref = GenericRefs()
self.ref.add('/system/lib/libc.so',
MockELF({'fclose', 'fopen', 'fread', 'fwrite'}))
self.ref.add('/system/lib/libm.so',
MockELF({'cos', 'sin', 'tan'}))
self.ref.add('/system/lib64/libc.so',
MockELF({'fclose', 'fopen', 'fread', 'fwrite'}))
self.ref.add('/system/lib64/libm.so',
MockELF({'cos', 'sin', 'tan'}))
def test_create_from_sym_dir(self):
input_dir = os.path.join(SCRIPT_DIR, 'testdata', 'test_generic_refs')
g = GenericRefs.create_from_sym_dir(input_dir)
self.assertEqual(4, len(g.refs))
self.assertIn('/system/lib/libc.so', g.refs)
self.assertIn('/system/lib/libm.so', g.refs)
self.assertIn('/system/lib64/libc.so', g.refs)
self.assertIn('/system/lib64/libm.so', g.refs)
self.assertEqual({'fclose', 'fopen', 'fread', 'fwrite'},
g.refs['/system/lib/libc.so'].exported_symbols)
self.assertEqual({'fclose', 'fopen', 'fread', 'fwrite'},
g.refs['/system/lib64/libc.so'].exported_symbols)
self.assertEqual({'cos', 'sin', 'tan'},
g.refs['/system/lib/libm.so'].exported_symbols)
self.assertEqual({'cos', 'sin', 'tan'},
g.refs['/system/lib64/libm.so'].exported_symbols)
def test_classify_lib(self):
libc_sub = MockLib('/system/lib/libc.so', {'fclose', 'fopen', 'fread'})
libc_sup = MockLib('/system/lib/libc.so',
{'fclose', 'fopen', 'fread', 'fwrite', 'open'})
libc_eq = MockLib('/system/lib/libc.so',
{'fclose', 'fopen', 'fread', 'fwrite'})
libfoo = MockLib('/system/lib/libfoo.so', {})
self.assertEqual(GenericRefs.MODIFIED, self.ref.classify_lib(libc_sub))
self.assertEqual(GenericRefs.EXPORT_SUPER_SET,
self.ref.classify_lib(libc_sup))
self.assertEqual(GenericRefs.EXPORT_EQUAL,
self.ref.classify_lib(libc_eq))
self.assertEqual(GenericRefs.NEW_LIB, self.ref.classify_lib(libfoo))
def test_is_equivalent_lib(self):
libc_sub = MockLib('/system/lib/libc.so', {'fclose', 'fopen', 'fread'})
libc_sup = MockLib('/system/lib/libc.so',
{'fclose', 'fopen', 'fread', 'fwrite', 'open'})
libc_eq = MockLib('/system/lib/libc.so',
{'fclose', 'fopen', 'fread', 'fwrite'})
self.assertFalse(self.ref.is_equivalent_lib(libc_sub))
self.assertFalse(self.ref.is_equivalent_lib(libc_sup))
self.assertTrue(self.ref.is_equivalent_lib(libc_eq))
def test_has_same_name_lib(self):
self.assertTrue(self.ref.has_same_name_lib(
MockLib('/vendor/lib/libc.so', {})))
self.assertFalse(self.ref.has_same_name_lib(
MockLib('/vendor/lib/lib_does_not_exist.so', {})))

View File

@@ -1,34 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import os
import unittest
from vndk_definition_tool import ModuleInfo
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
class ModuleInfoTest(unittest.TestCase):
def test_default(self):
m = ModuleInfo.load_from_path_or_default(None)
self.assertEqual([], m.get_module_path('/system/lib64/libA.so'))
def test_get_module_path(self):
json_path = os.path.join(SCRIPT_DIR, 'testdata', 'test_module_info',
'module-info.json')
m = ModuleInfo.load_from_path_or_default(json_path)
self.assertEqual(['system/core/libA'],
m.get_module_path('/system/lib64/libA.so'))
self.assertEqual(['frameworks/base/libB'],
m.get_module_path('/system/lib64/libB.so'))
self.assertEqual(['frameworks/base/libC'],
m.get_module_path('/system/lib64/libC.so'))
self.assertEqual(['frameworks/base/libC'],
m.get_module_path('/system/lib64/hw/libC.so'))
self.assertEqual(
[], m.get_module_path('/system/lib64/libdoes_not_exist.so'))

View File

@@ -1,49 +0,0 @@
#!/usr/bin/env python3
import os
import unittest
from vndk_definition_tool import scandir
class ScanDirTest(unittest.TestCase):
def test_scandir(self):
testdata_dir = os.path.join(
os.path.dirname(__file__), 'testdata', 'test_scandir')
num_entries = 0
for ent in scandir(testdata_dir):
num_entries += 1
self.assertEqual(ent.path, os.path.join(testdata_dir, ent.name))
if ent.name == 'test_file':
self.assertTrue(ent.is_file())
self.assertFalse(ent.is_dir())
self.assertFalse(ent.is_symlink())
elif ent.name == 'test_dir':
self.assertFalse(ent.is_file())
self.assertTrue(ent.is_dir())
self.assertFalse(ent.is_symlink())
elif ent.name == 'link_test_file':
self.assertTrue(ent.is_file())
self.assertFalse(ent.is_file(follow_symlinks=False))
self.assertFalse(ent.is_dir())
self.assertFalse(ent.is_dir(follow_symlinks=False))
self.assertTrue(ent.is_symlink())
elif ent.name == 'link_test_dir':
self.assertFalse(ent.is_file())
self.assertFalse(ent.is_file(follow_symlinks=False))
self.assertTrue(ent.is_dir())
self.assertFalse(ent.is_dir(follow_symlinks=False))
self.assertTrue(ent.is_symlink())
elif ent.name == 'link_does_not_exist':
self.assertFalse(ent.is_file())
self.assertFalse(ent.is_file(follow_symlinks=False))
self.assertFalse(ent.is_dir())
self.assertFalse(ent.is_dir(follow_symlinks=False))
self.assertTrue(ent.is_symlink())
else:
self.fail('unexpected filename: ' + ent.name)
self.assertEqual(num_entries, 5)

View File

@@ -1,497 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
import tempfile
import unittest
from vndk_definition_tool import TaggedDict, TaggedPathDict, TaggedLibDict, \
NUM_PARTITIONS, PT_SYSTEM, PT_VENDOR
from .compat import StringIO
_TEST_DATA = '''Path,Tag
/system/lib/lib_ll_ndk.so,ll-ndk
/system/lib/lib_ll_ndk_private.so,ll-ndk-private
/system/lib/lib_vndk_sp.so,vndk-sp
/system/lib/lib_vndk_sp_private.so,vndk-sp-private
/system/lib/lib_vndk.so,vndk
/system/lib/lib_system_only.so,system-only
/system/lib/lib_system_only_rs.so,system-only-rs
/vendor/lib/lib_sp_hal.so,sp-hal
/vendor/lib/lib_sp_hal_dep.so,sp-hal-dep
/vendor/lib/lib_vendor_only.so,vendor-only
/product/lib/lib_product_only.so,product-only
/system_ext/lib/lib_system_ext_only.so,system_ext-only
/system/lib/lib_remove.so,remove
/system/lib/lib_hl_ndk.so,hl-ndk
/system/lib/lib_vndk_private.so,vndk-private
/system/lib/lib_vndk_sp_both.so,vndk-sp-both
/system/lib/lib_vndk_sp_hal.so,vndk-sp-hal
/system/lib/lib_vndk_indirect.so,vndk-private
/system/lib/lib_vndk_sp_indirect.so,vndk-sp
/system/lib/lib_vndk_sp_indirect_private.so,vndk-sp-private
/system/lib/lib_fwk_only.so,system-only
/system/lib/lib_fwk_only_rs.so,system-only-rs
/vendor/lib/lib_vnd_only.so,vendor-only
'''
_TEST_DATA_ALIAS_PATHS = {
'/system/lib/lib_hl_ndk.so',
'/system/lib/lib_vndk_indirect.so',
'/system/lib/lib_vndk_sp_both.so',
'/system/lib/lib_vndk_sp_hal.so',
'/system/lib/lib_vndk_sp_indirect.so',
'/system/lib/lib_vndk_sp_indirect_private.so',
'/system/lib/lib_fwk_only.so',
'/system/lib/lib_fwk_only_rs.so',
'/vendor/lib/lib_vnd_only.so',
}
class TaggedDictTest(unittest.TestCase):
def test_normalize_tag(self):
self.assertEqual('ll_ndk', TaggedDict._normalize_tag('ll-ndk'))
self.assertEqual('ll_ndk', TaggedDict._normalize_tag('LL-NDK'))
self.assertEqual('ll_ndk', TaggedDict._normalize_tag('LL_NDK'))
with self.assertRaises(ValueError):
TaggedDict._normalize_tag('unknown-lib-tag')
def _check_tag_visibility(self, d, from_tag, visible_tags):
for to_tag in visible_tags:
self.assertTrue(d.is_tag_visible(from_tag, to_tag))
for to_tag in TaggedDict.TAGS:
self.assertEqual(d.is_tag_visible(from_tag, to_tag),
to_tag in visible_tags)
def test_is_tag_visible(self):
d = TaggedDict()
# LL-NDK
visible_tags = {'ll_ndk', 'll_ndk_private'}
self._check_tag_visibility(d, 'll_ndk', visible_tags)
self._check_tag_visibility(d, 'll_ndk_private', visible_tags)
# VNDK-SP
visible_tags = {
'll_ndk', 'vndk_sp', 'vndk_sp_private', 'system_only_rs',
}
self._check_tag_visibility(d, 'vndk_sp', visible_tags)
self._check_tag_visibility(d, 'vndk_sp_private', visible_tags)
# VNDK
visible_tags = {
'll_ndk', 'vndk_sp', 'vndk_sp_private', 'vndk', 'vndk_private',
}
self._check_tag_visibility(d, 'vndk', visible_tags)
# SYSTEM-ONLY and SYSTEM_EXT-ONLY
visible_tags = {
'll_ndk', 'll_ndk_private',
'vndk_sp', 'vndk_sp_private',
'vndk', 'vndk_private',
'system_only', 'system_only_rs',
'system_ext_only',
'sp_hal'
}
self._check_tag_visibility(d, 'system_only', visible_tags)
self._check_tag_visibility(d, 'system_only_rs', visible_tags)
self._check_tag_visibility(d, 'system_ext_only', visible_tags)
# SP-HAL
visible_tags = {'ll_ndk', 'vndk_sp', 'sp_hal', 'sp_hal_dep'}
self._check_tag_visibility(d, 'sp_hal', visible_tags)
self._check_tag_visibility(d, 'sp_hal_dep', visible_tags)
# VENDOR-ONLY
visible_tags = {
'll_ndk', 'vndk_sp', 'vndk', 'sp_hal', 'sp_hal_dep', 'vendor_only',
}
self._check_tag_visibility(d, 'vendor_only', visible_tags)
# PRODUCT-ONLY
visible_tags = {
'll_ndk', 'vndk_sp', 'vndk', 'sp_hal',
# Remove the following after VNDK-ext can be checked separately.
'sp_hal_dep', 'vendor_only',
}
self._check_tag_visibility(d, 'vendor_only', visible_tags)
# Remove
self._check_tag_visibility(d, 'remove', set())
class TaggedPathDictTest(unittest.TestCase):
def test_enumerate_paths(self):
tagged_paths = TaggedPathDict()
self.assertEqual(
['/system/lib/libc.so'],
list(tagged_paths._enumerate_paths('/system/lib/libc.so')))
self.assertEqual(
['/system/lib/libc.so', '/system/lib64/libc.so'],
list(tagged_paths._enumerate_paths('/system/${LIB}/libc.so')))
self.assertEqual(
['/system/lib/vndk/libutils.so',
'/system/lib64/vndk/libutils.so'],
list(tagged_paths._enumerate_paths(
'/system/${LIB}/vndk${VNDK_VER}/libutils.so')))
tagged_paths = TaggedPathDict(['current', '27', '28'])
self.assertEqual(
['/system/lib/vndk/libutils.so',
'/system/lib64/vndk/libutils.so',
'/system/lib/vndk-27/libutils.so',
'/system/lib64/vndk-27/libutils.so',
'/system/lib/vndk-28/libutils.so',
'/system/lib64/vndk-28/libutils.so'],
list(tagged_paths._enumerate_paths(
'/system/${LIB}/vndk${VNDK_VER}/libutils.so')))
self.assertEqual(
['/system/lib/vndk/libutils.so',
'/system/lib/vndk-27/libutils.so',
'/system/lib/vndk-28/libutils.so'],
list(tagged_paths._enumerate_paths(
'/system/lib/vndk${VNDK_VER}/libutils.so')))
def test_load_from_csv_empty(self):
try:
TaggedPathDict().load_from_csv(StringIO(''))
except StopIteration:
self.fail('empty file should be considered as a valid input')
def test_load_from_csv_with_header(self):
fp = StringIO('Path,Tag\nliba.so,system-only\n')
d = TaggedPathDict()
d.load_from_csv(fp)
self.assertIn('liba.so', d.system_only)
fp = StringIO('Tag,Path\nsystem-only,liba.so\n')
d = TaggedPathDict()
d.load_from_csv(fp)
self.assertIn('liba.so', d.system_only)
def test_load_from_csv_without_header(self):
fp = StringIO('liba.so,system-only\n')
d = TaggedPathDict()
d.load_from_csv(fp)
self.assertIn('liba.so', d.system_only)
def _check_test_data_loaded(self, d):
# Paths
self.assertIn('/system/lib/lib_ll_ndk.so', d.ll_ndk)
self.assertIn('/system/lib/lib_ll_ndk_private.so', d.ll_ndk_private)
self.assertIn('/system/lib/lib_vndk_sp.so', d.vndk_sp)
self.assertIn('/system/lib/lib_vndk_sp_private.so', d.vndk_sp_private)
self.assertIn('/system/lib/lib_vndk.so', d.vndk)
self.assertIn('/system/lib/lib_vndk_private.so', d.vndk_private)
self.assertIn('/system/lib/lib_system_only.so', d.system_only)
self.assertIn('/system/lib/lib_system_only_rs.so', d.system_only_rs)
self.assertIn('/vendor/lib/lib_sp_hal.so', d.sp_hal)
self.assertIn('/vendor/lib/lib_sp_hal_dep.so', d.sp_hal_dep)
self.assertIn('/vendor/lib/lib_vendor_only.so', d.vendor_only)
self.assertIn('/system_ext/lib/lib_system_ext_only.so',
d.system_ext_only)
self.assertIn('/product/lib/lib_product_only.so', d.product_only)
self.assertIn('/system/lib/lib_remove.so', d.remove)
# Aliases
self.assertIn('/system/lib/lib_hl_ndk.so', d.system_only)
self.assertIn('/system/lib/lib_vndk_sp_both.so', d.vndk_sp)
self.assertIn('/system/lib/lib_vndk_sp_hal.so', d.vndk_sp)
def test_load_from_csv_tags(self):
fp = StringIO(_TEST_DATA)
d = TaggedPathDict()
d.load_from_csv(fp)
self._check_test_data_loaded(d)
def test_create_from_csv(self):
d = TaggedPathDict.create_from_csv(StringIO(_TEST_DATA))
self._check_test_data_loaded(d)
def test_create_from_csv_path(self):
with tempfile.NamedTemporaryFile('w+') as f:
f.write(_TEST_DATA)
f.flush()
d = TaggedPathDict.create_from_csv_path(f.name)
self._check_test_data_loaded(d)
def test_get_path_tag(self):
fp = StringIO(_TEST_DATA)
d = TaggedPathDict()
d.load_from_csv(fp)
self.assertEqual('ll_ndk', d.get_path_tag('/system/lib/lib_ll_ndk.so'))
self.assertEqual('ll_ndk_private',
d.get_path_tag('/system/lib/lib_ll_ndk_private.so'))
self.assertEqual('vndk_sp',
d.get_path_tag('/system/lib/lib_vndk_sp.so'))
self.assertEqual('vndk_sp_private',
d.get_path_tag('/system/lib/lib_vndk_sp_private.so'))
self.assertEqual('vndk', d.get_path_tag('/system/lib/lib_vndk.so'))
self.assertEqual('vndk_private',
d.get_path_tag('/system/lib/lib_vndk_private.so'))
self.assertEqual('system_only',
d.get_path_tag('/system/lib/lib_system_only.so'))
self.assertEqual('system_only_rs',
d.get_path_tag('/system/lib/lib_system_only_rs.so'))
self.assertEqual('sp_hal',
d.get_path_tag('/vendor/lib/lib_sp_hal.so'))
self.assertEqual('sp_hal_dep',
d.get_path_tag('/vendor/lib/lib_sp_hal_dep.so'))
self.assertEqual('vendor_only',
d.get_path_tag('/vendor/lib/lib_vendor_only.so'))
self.assertEqual('remove',
d.get_path_tag('/system/lib/lib_remove.so'))
# Aliases
self.assertEqual('system_only',
d.get_path_tag('/system/lib/lib_hl_ndk.so'))
self.assertEqual('vndk_sp',
d.get_path_tag('/system/lib/lib_vndk_sp_hal.so'))
self.assertEqual('vndk_sp',
d.get_path_tag('/system/lib/lib_vndk_sp_both.so'))
self.assertEqual('vndk_private',
d.get_path_tag('/system/lib/lib_vndk_indirect.so'))
self.assertEqual('vndk_sp',
d.get_path_tag('/system/lib/lib_vndk_sp_indirect.so'))
self.assertEqual('vndk_sp_private',
d.get_path_tag('/system/lib/' +
'lib_vndk_sp_indirect_private.so'))
self.assertEqual('system_only',
d.get_path_tag('/system/lib/lib_fwk_only.so'))
self.assertEqual('system_only_rs',
d.get_path_tag('/system/lib/lib_fwk_only_rs.so'))
self.assertEqual('vendor_only',
d.get_path_tag('/vendor/lib/lib_vendor_only.so'))
# Unmatched paths
self.assertEqual('system_only',
d.get_path_tag('/system/lib/unknown.so'))
self.assertEqual('system_only',
d.get_path_tag('/data/lib/unknown.so'))
self.assertEqual('vendor_only',
d.get_path_tag('/vendor/lib/unknown.so'))
def _check_path_visibility(self, d, all_paths, from_paths, visible_paths):
for from_path in from_paths:
for to_path in all_paths:
self.assertEqual(d.is_path_visible(from_path, to_path),
to_path in visible_paths)
def test_is_path_visible(self):
fp = StringIO(_TEST_DATA)
d = TaggedPathDict()
d.load_from_csv(fp)
# Collect path universe set.
all_paths = set()
for tag in TaggedPathDict.TAGS:
all_paths |= getattr(d, tag)
all_paths -= _TEST_DATA_ALIAS_PATHS
# LL-NDK
from_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_ll_ndk_private.so',
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_ll_ndk_private.so',
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
# VNDK-SP
from_paths = {
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_private.so',
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_private.so',
'/system/lib/lib_system_only_rs.so',
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
# VNDK
from_paths = {
'/system/lib/lib_vndk.so',
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_private.so',
'/system/lib/lib_vndk.so',
'/system/lib/lib_vndk_private.so',
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
# SYSTEM-ONLY
from_paths = {
'/system/lib/lib_system_only.so',
'/system/lib/lib_system_only_rs.so',
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_ll_ndk_private.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_private.so',
'/system/lib/lib_vndk.so',
'/system/lib/lib_vndk_private.so',
'/system/lib/lib_system_only.so',
'/system/lib/lib_system_only_rs.so',
'/vendor/lib/lib_sp_hal.so',
'/system_ext/lib/lib_system_ext_only.so',
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
# SP-HAL
from_paths = {
'/vendor/lib/lib_sp_hal.so',
'/vendor/lib/lib_sp_hal_dep.so',
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/vendor/lib/lib_sp_hal.so',
'/vendor/lib/lib_sp_hal_dep.so',
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
# VENDOR-ONLY
from_paths = {
'/vendor/lib/lib_vendor_only.so',
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk.so',
'/vendor/lib/lib_sp_hal.so',
'/vendor/lib/lib_sp_hal_dep.so',
'/vendor/lib/lib_vendor_only.so',
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
class MockSPLibResult(object):
def __init__(self, sp_hal, sp_hal_dep):
self.sp_hal = sp_hal
self.sp_hal_dep = sp_hal_dep
class MockELFLinkData(object):
def __init__(self, path):
self.path = path
class MockELFGraph(object):
def __init__(self):
self.lib_pt = [dict() for i in range(NUM_PARTITIONS)]
def add(self, path):
partition = PT_VENDOR if path.startswith('/vendor') else PT_SYSTEM
lib = MockELFLinkData(path)
self.lib_pt[partition][path] = lib
return lib
def compute_sp_lib(self, generic_refs=None):
vendor_libs = self.lib_pt[PT_VENDOR].values()
return MockSPLibResult(
set(v for v in vendor_libs if 'lib_sp_hal.so' in v.path),
set(v for v in vendor_libs if 'lib_sp_hal_dep.so' in v.path))
class TaggedLibDictTest(unittest.TestCase):
def setUp(self):
self.tagged_paths = TaggedPathDict.create_from_csv(StringIO(_TEST_DATA))
self.graph = MockELFGraph()
self.lib_ll_ndk = self.graph.add('/system/lib/lib_ll_ndk.so')
self.lib_ll_ndk_private = \
self.graph.add('/system/lib/lib_ll_ndk_private.so')
self.lib_vndk_sp = self.graph.add('/system/lib/lib_vndk_sp.so')
self.lib_vndk_sp_private = \
self.graph.add('/system/lib/lib_vndk_sp_private.so')
self.lib_vndk = self.graph.add('/system/lib/lib_vndk.so')
self.lib_system_only = \
self.graph.add('/system/lib/lib_system_only.so')
self.lib_system_only_rs = \
self.graph.add('/system/lib/lib_system_only_rs.so')
self.lib_sp_hal = self.graph.add('/vendor/lib/lib_sp_hal.so')
self.lib_sp_hal_dep = self.graph.add('/vendor/lib/lib_sp_hal_dep.so')
self.lib_vendor_only = self.graph.add('/vendor/lib/lib_vendor_only.so')
self.tagged_libs = TaggedLibDict.create_from_graph(
self.graph, self.tagged_paths)
def test_create_from_graph(self):
self.assertIn(self.lib_ll_ndk, self.tagged_libs.ll_ndk)
self.assertIn(self.lib_ll_ndk_private,
self.tagged_libs.ll_ndk_private)
self.assertIn(self.lib_vndk_sp, self.tagged_libs.vndk_sp)
self.assertIn(self.lib_vndk_sp_private,
self.tagged_libs.vndk_sp_private)
self.assertIn(self.lib_vndk, self.tagged_libs.vndk)
self.assertIn(self.lib_system_only, self.tagged_libs.system_only)
self.assertIn(self.lib_system_only_rs, self.tagged_libs.system_only_rs)
self.assertIn(self.lib_sp_hal, self.tagged_libs.sp_hal)
self.assertIn(self.lib_sp_hal_dep, self.tagged_libs.sp_hal_dep)
self.assertIn(self.lib_vendor_only, self.tagged_libs.vendor_only)
def test_get_path_tag(self):
d = self.tagged_libs
self.assertEqual('ll_ndk', d.get_path_tag(self.lib_ll_ndk))
self.assertEqual('ll_ndk_private',
d.get_path_tag(self.lib_ll_ndk_private))
self.assertEqual('vndk_sp', d.get_path_tag(self.lib_vndk_sp))
self.assertEqual('vndk_sp_private',
d.get_path_tag(self.lib_vndk_sp_private))
self.assertEqual('vndk', d.get_path_tag(self.lib_vndk))
self.assertEqual('system_only', d.get_path_tag(self.lib_system_only))
self.assertEqual('system_only_rs',
d.get_path_tag(self.lib_system_only_rs))
self.assertEqual('sp_hal', d.get_path_tag(self.lib_sp_hal))
self.assertEqual('sp_hal_dep', d.get_path_tag(self.lib_sp_hal_dep))
self.assertEqual('vendor_only', d.get_path_tag(self.lib_vendor_only))
# Unmatched paths
tag = d.get_path_tag(MockELFLinkData('/system/lib/unknown.so'))
self.assertEqual('system_only', tag)
tag = d.get_path_tag(MockELFLinkData('/data/lib/unknown.so'))
self.assertEqual('system_only', tag)
tag = d.get_path_tag(MockELFLinkData('/vendor/lib/unknown.so'))
self.assertEqual('vendor_only', tag)

View File

@@ -1,135 +0,0 @@
#!/usr/bin/env python3
from __future__ import print_function
from vndk_definition_tool import (PT_SYSTEM, PT_VENDOR)
from .compat import StringIO, TestCase, patch
from .utils import GraphBuilder
class ELFLinkerVNDKTest(TestCase):
def test_normalize_partition_tags_bad_vendor_deps(self):
"""Check whether normalize_partition_tags() hides the dependencies from
the system partition to the vendor partition if the dependencies are
not SP-HAL libraries."""
gb = GraphBuilder()
libfwk = gb.add_lib32(PT_SYSTEM, 'libfwk', dt_needed=['libvnd.so'])
libvnd = gb.add_lib32(PT_VENDOR, 'libvnd')
gb.resolve()
self.assertIn(libvnd, libfwk.deps_needed)
self.assertIn(libfwk, libvnd.users_needed)
stderr = StringIO()
with patch('sys.stderr', stderr):
gb.graph.normalize_partition_tags(set(), None)
self.assertRegex(
stderr.getvalue(),
'error: .*: system exe/lib must not depend on vendor lib .*. '
'Assume such dependency does not exist.')
self.assertNotIn(libvnd, libfwk.deps_needed)
self.assertNotIn(libfwk, libvnd.users_needed)
self.assertIn(libvnd, libfwk.deps_needed_hidden)
self.assertIn(libfwk, libvnd.users_needed_hidden)
self.assertIn(libvnd, libfwk.deps_all)
self.assertIn(libvnd, libfwk.deps_needed_all)
self.assertNotIn(libvnd, libfwk.deps_good)
self.assertIn(libfwk, libvnd.users_all)
self.assertIn(libfwk, libvnd.users_needed_all)
self.assertNotIn(libfwk, libvnd.users_good)
def test_normalize_partition_tags_sp_hal(self):
"""Check whether normalize_partition_tags() keep dependencies to SP-HAL
libraries as-is."""
gb = GraphBuilder()
libfwk = gb.add_lib32(PT_SYSTEM, 'libfwk', dt_needed=['libsphal.so'])
libsphal = gb.add_lib32(PT_VENDOR, 'libsphal')
gb.resolve()
self.assertIn(libsphal, libfwk.deps_needed)
self.assertIn(libfwk, libsphal.users_needed)
gb.graph.normalize_partition_tags({libsphal}, None)
# SP-HALs should be kept as-is.
self.assertIn(libsphal, libfwk.deps_needed)
self.assertIn(libfwk, libsphal.users_needed)
def test_vndk(self):
"""Check the computation of vndk without generic references."""
gb = GraphBuilder()
gb.add_lib32(PT_SYSTEM, 'libfwk')
libvndk = gb.add_lib32(PT_SYSTEM, 'libvndk', extra_dir='vndk')
libvndk_sp = gb.add_lib32(PT_SYSTEM, 'libutils', extra_dir='vndk-sp')
libvnd = gb.add_lib32(PT_VENDOR, 'libvnd',
dt_needed=['libvndk.so', 'libutils.so'])
gb.resolve()
self.assertIn(libvndk, libvnd.deps_all)
self.assertIn(libvndk_sp, libvnd.deps_all)
vndk_sets = gb.graph.compute_degenerated_vndk(None)
self.assertIn(libvndk, vndk_sets.vndk)
self.assertIn(libvndk_sp, vndk_sets.vndk_sp)
def test_vndk_bad_vendor_deps(self):
"""Check the computation of vndk without generic references."""
gb = GraphBuilder()
libvndk = gb.add_lib32(
PT_SYSTEM, 'libvndk', dt_needed=['libvnd_bad.so'],
extra_dir='vndk')
libvndk_sp = gb.add_lib32(
PT_SYSTEM, 'libutils', dt_needed=['libvnd_bad.so'],
extra_dir='vndk-sp')
libvnd_bad = gb.add_lib32(PT_VENDOR, 'libvnd_bad', extra_dir='vndk-sp')
gb.resolve()
self.assertIn(libvnd_bad, libvndk.deps_all)
self.assertIn(libvnd_bad, libvndk_sp.deps_all)
with patch('sys.stderr', StringIO()):
vndk_sets = gb.graph.compute_degenerated_vndk(None)
self.assertNotIn(libvnd_bad, vndk_sets.vndk)
self.assertNotIn(libvnd_bad, vndk_sets.vndk_sp)
def test_ll_ndk_private_without_sp_hal(self):
"""Check the computation of ll_ndk_private excludes sp_hal."""
gb = GraphBuilder()
libEGL = gb.add_lib32(PT_SYSTEM, 'libEGL',
dt_needed=['libEGL_dep.so'])
libEGL_dep = gb.add_lib32(PT_SYSTEM, 'libEGL_dep')
libEGL_chipset = gb.add_lib32(PT_VENDOR, 'libEGL_chipset',
extra_dir='egl',
dt_needed=['libEGL.so'])
gb.resolve()
libEGL.add_dlopen_dep(libEGL_chipset)
vndk_sets = gb.graph.compute_degenerated_vndk(None)
self.assertIn(libEGL, vndk_sets.ll_ndk)
self.assertIn(libEGL_dep, vndk_sets.ll_ndk_private)
self.assertIn(libEGL_chipset, vndk_sets.sp_hal)
self.assertNotIn(libEGL_chipset, vndk_sets.ll_ndk_private)

View File

@@ -1,219 +0,0 @@
#!/usr/bin/env python3
import os
import posixpath
import unittest
from vndk_definition_tool import VNDKLibDir
from .compat import StringIO
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
class VNDKLibDirTest(unittest.TestCase):
def test_create_vndk_dir_suffix(self):
self.assertEqual('', VNDKLibDir.create_vndk_dir_suffix('current'))
self.assertEqual('-28', VNDKLibDir.create_vndk_dir_suffix('28'))
def test_create_vndk_sp_dir_name(self):
self.assertEqual(
'vndk-sp', VNDKLibDir.create_vndk_sp_dir_name('current'))
self.assertEqual(
'vndk-sp-28', VNDKLibDir.create_vndk_sp_dir_name('28'))
def test_create_vndk_dir_name(self):
self.assertEqual(
'vndk', VNDKLibDir.create_vndk_dir_name('current'))
self.assertEqual(
'vndk-28', VNDKLibDir.create_vndk_dir_name('28'))
def test_extract_vndk_version_from_name(self):
self.assertEqual(
'current', VNDKLibDir.extract_version_from_name('vndk'))
self.assertEqual(
'current', VNDKLibDir.extract_version_from_name('vndk-sp'))
self.assertEqual(
'28', VNDKLibDir.extract_version_from_name('vndk-28'))
self.assertEqual(
'28', VNDKLibDir.extract_version_from_name('vndk-sp-28'))
self.assertEqual(
'p', VNDKLibDir.extract_version_from_name('vndk-p'))
self.assertEqual(
'p', VNDKLibDir.extract_version_from_name('vndk-sp-p'))
def test_extract_vndk_version_from_path(self):
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk/libexample.so')
self.assertEqual('current', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp/libexample.so')
self.assertEqual('current', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-28/libexample.so')
self.assertEqual('28', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp-28/libexample.so')
self.assertEqual('28', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-p/libexample.so')
self.assertEqual('p', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp-p/libexample.so')
self.assertEqual('p', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/vndk-sp-p/hw/libexample.so')
self.assertEqual('p', ans)
ans = VNDKLibDir.extract_version_from_path(
'/system/lib64/libexample.so')
self.assertEqual(None, ans)
def test_is_in_vndk_sp_dir(self):
self.assertFalse(VNDKLibDir.is_in_vndk_sp_dir('/system/lib/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-28/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-spec/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-sp/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_sp_dir('/system/lib/vndk-sp-28/liba.so'))
def test_is_in_vndk_dir(self):
self.assertFalse(VNDKLibDir.is_in_vndk_dir('/system/lib/liba.so'))
self.assertTrue(VNDKLibDir.is_in_vndk_dir('/system/lib/vndk/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-28/liba.so'))
self.assertTrue(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-spec/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-sp/liba.so'))
self.assertFalse(
VNDKLibDir.is_in_vndk_dir('/system/lib/vndk-sp-28/liba.so'))
def test_get_vndk_lib_dirs(self):
for version in ('current', '28'):
for lib_dir in ('lib', 'lib64'):
vndk_sp_name = VNDKLibDir.create_vndk_sp_dir_name(version)
vndk_name = VNDKLibDir.create_vndk_dir_name(version)
expected_vndk_sp = [
posixpath.join('/vendor', lib_dir, vndk_sp_name),
posixpath.join('/system', lib_dir, vndk_sp_name),
]
expected_vndk = [
posixpath.join('/vendor', lib_dir, vndk_name),
posixpath.join('/system', lib_dir, vndk_name),
]
vndk_sp_dirs, vndk_dirs = \
VNDKLibDir.get_vndk_lib_dirs(lib_dir, version)
self.assertEqual(expected_vndk_sp, vndk_sp_dirs)
self.assertEqual(expected_vndk, vndk_dirs)
def test_add_version_current(self):
vndk_lib_dirs = VNDKLibDir()
vndk_lib_dirs.append('current')
self.assertIn('current', vndk_lib_dirs)
def test_create_from_dirs_unversioned(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir', 'vndk_unversioned')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('current', vndk_lib_dirs)
def test_create_from_dirs_versioned(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir', 'vndk_versioned')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('28', vndk_lib_dirs)
def test_create_from_dirs_versioned_multiple(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir',
'vndk_versioned_multiple')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('28', vndk_lib_dirs)
self.assertIn('29', vndk_lib_dirs)
def test_create_from_dirs_versioned_32bit_only(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir', 'vndk_32')
vndk_lib_dirs = VNDKLibDir.create_from_dirs(
[os.path.join(input_dir, 'system')],
[os.path.join(input_dir, 'vendor')])
self.assertIn('28', vndk_lib_dirs)
def test_get_property(self):
property_file = StringIO('ro.vndk.version=example\n')
ans = VNDKLibDir._get_property(property_file, 'ro.vndk.version')
self.assertEqual('example', ans)
property_file = StringIO('# comments\n')
ans = VNDKLibDir._get_property(property_file, 'ro.vndk.version')
self.assertEqual(None, ans)
def test_get_ro_vndk_version(self):
input_dir = os.path.join(
SCRIPT_DIR, 'testdata', 'test_vndk_lib_dir',
'vndk_versioned_multiple')
vendor_dirs = [os.path.join(input_dir, 'vendor')]
self.assertEqual('29', VNDKLibDir.get_ro_vndk_version(vendor_dirs))
def test_sorted_versions(self):
self.assertEqual(
['20', '10', '2', '1'],
VNDKLibDir.sorted_version(['1', '2', '10', '20']))
self.assertEqual(
['b', 'a', '20', '10', '2', '1'],
VNDKLibDir.sorted_version(['1', '2', '10', '20', 'a', 'b']))
self.assertEqual(
['a', '10b', '10', '2', '1'],
VNDKLibDir.sorted_version(['1', '2', '10', 'a', '10b']))
self.assertEqual(
['current', 'd', 'a', '10', '1'],
VNDKLibDir.sorted_version(['1', '10', 'a', 'd', 'current']))

View File

@@ -1,13 +0,0 @@
.class public LExample;
.super Ljava/lang/object;
.method public static <clinit>()V
.locals 1
const-string v0, "foo"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const-string v0, "bar"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.end method

View File

@@ -1,13 +0,0 @@
.class public LHello;
.super Ljava/lang/object;
.method public static <clinit>()V
.locals 1
const-string v0, "hello"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const-string v0, "world"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.end method

View File

@@ -1,18 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
FILE_SIZE 6220
RO_SEG_FILE_SIZE 880
RO_SEG_MEM_SIZE 880
RW_SEG_FILE_SIZE 280
RW_SEG_MEM_SIZE 280
DT_RPATH /system/lib
DT_RPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,17 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
FILE_SIZE 6220
RO_SEG_FILE_SIZE 864
RO_SEG_MEM_SIZE 864
RW_SEG_FILE_SIZE 280
RW_SEG_MEM_SIZE 280
DT_RPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,18 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
FILE_SIZE 6220
RO_SEG_FILE_SIZE 880
RO_SEG_MEM_SIZE 880
RW_SEG_FILE_SIZE 280
RW_SEG_MEM_SIZE 280
DT_RUNPATH /system/lib
DT_RUNPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,17 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
FILE_SIZE 6220
RO_SEG_FILE_SIZE 864
RO_SEG_MEM_SIZE 864
RW_SEG_FILE_SIZE 280
RW_SEG_MEM_SIZE 280
DT_RUNPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,16 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
FILE_SIZE 6220
RO_SEG_FILE_SIZE 844
RO_SEG_MEM_SIZE 844
RW_SEG_FILE_SIZE 272
RW_SEG_MEM_SIZE 272
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,20 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
FILE_SIZE 6776
RO_SEG_FILE_SIZE 1646
RO_SEG_MEM_SIZE 1646
RW_SEG_FILE_SIZE 344
RW_SEG_MEM_SIZE 348
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libstdc++.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __libc_init
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym
IMP_SYMBOL puts

View File

@@ -1,22 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
FILE_SIZE 7296
RO_SEG_FILE_SIZE 1248
RO_SEG_MEM_SIZE 1248
RW_SEG_FILE_SIZE 520
RW_SEG_MEM_SIZE 520
DT_RPATH /system/lib
DT_RPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __bss_start__
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,21 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
FILE_SIZE 7296
RO_SEG_FILE_SIZE 1248
RO_SEG_MEM_SIZE 1248
RW_SEG_FILE_SIZE 520
RW_SEG_MEM_SIZE 520
DT_RPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __bss_start__
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,22 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
FILE_SIZE 7296
RO_SEG_FILE_SIZE 1248
RO_SEG_MEM_SIZE 1248
RW_SEG_FILE_SIZE 520
RW_SEG_MEM_SIZE 520
DT_RUNPATH /system/lib
DT_RUNPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __bss_start__
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,21 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
FILE_SIZE 7296
RO_SEG_FILE_SIZE 1248
RO_SEG_MEM_SIZE 1248
RW_SEG_FILE_SIZE 520
RW_SEG_MEM_SIZE 520
DT_RUNPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __bss_start__
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,20 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
FILE_SIZE 7296
RO_SEG_FILE_SIZE 1232
RO_SEG_MEM_SIZE 1232
RW_SEG_FILE_SIZE 504
RW_SEG_MEM_SIZE 504
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __bss_start__
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,28 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
FILE_SIZE 8256
RO_SEG_FILE_SIZE 2410
RO_SEG_MEM_SIZE 2410
RW_SEG_FILE_SIZE 664
RW_SEG_MEM_SIZE 664
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libstdc++.so
EXP_SYMBOL __FINI_ARRAY__
EXP_SYMBOL __INIT_ARRAY__
EXP_SYMBOL __PREINIT_ARRAY__
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __bss_start__
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL main
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __libc_init
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym
IMP_SYMBOL puts

View File

@@ -1,25 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 6660
RO_SEG_FILE_SIZE 1180
RO_SEG_MEM_SIZE 1180
RW_SEG_FILE_SIZE 308
RW_SEG_MEM_SIZE 308
DT_RPATH /system/lib
DT_RPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL _gp_disp
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,24 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 6660
RO_SEG_FILE_SIZE 1164
RO_SEG_MEM_SIZE 1164
RW_SEG_FILE_SIZE 308
RW_SEG_MEM_SIZE 308
DT_RPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL _gp_disp
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,25 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 6660
RO_SEG_FILE_SIZE 1180
RO_SEG_MEM_SIZE 1180
RW_SEG_FILE_SIZE 308
RW_SEG_MEM_SIZE 308
DT_RUNPATH /system/lib
DT_RUNPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL _gp_disp
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,24 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 6660
RO_SEG_FILE_SIZE 1164
RO_SEG_MEM_SIZE 1164
RW_SEG_FILE_SIZE 308
RW_SEG_MEM_SIZE 308
DT_RUNPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL _gp_disp
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,23 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 6660
RO_SEG_FILE_SIZE 1164
RO_SEG_MEM_SIZE 1164
RW_SEG_FILE_SIZE 300
RW_SEG_MEM_SIZE 300
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL _gp_disp
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,34 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 7936
RO_SEG_FILE_SIZE 2384
RO_SEG_MEM_SIZE 2384
RW_SEG_FILE_SIZE 396
RW_SEG_MEM_SIZE 416
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libstdc++.so
EXP_SYMBOL _DYNAMIC_LINKING
EXP_SYMBOL __CTOR_LIST__
EXP_SYMBOL __DTOR_LIST__
EXP_SYMBOL __FINI_ARRAY__
EXP_SYMBOL __INIT_ARRAY__
EXP_SYMBOL __PREINIT_ARRAY__
EXP_SYMBOL __RLD_MAP
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL main
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __libc_init
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym
IMP_SYMBOL puts

View File

@@ -1,24 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 7640
RO_SEG_FILE_SIZE 2092
RO_SEG_MEM_SIZE 2092
RW_SEG_FILE_SIZE 104
RW_SEG_MEM_SIZE 104
DT_RPATH /system/lib
DT_RPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,23 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 7640
RO_SEG_FILE_SIZE 2092
RO_SEG_MEM_SIZE 2092
RW_SEG_FILE_SIZE 104
RW_SEG_MEM_SIZE 104
DT_RPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,24 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 7640
RO_SEG_FILE_SIZE 2092
RO_SEG_MEM_SIZE 2092
RW_SEG_FILE_SIZE 104
RW_SEG_MEM_SIZE 104
DT_RUNPATH /system/lib
DT_RUNPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,23 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 7640
RO_SEG_FILE_SIZE 2092
RO_SEG_MEM_SIZE 2092
RW_SEG_FILE_SIZE 104
RW_SEG_MEM_SIZE 104
DT_RUNPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,22 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 7640
RO_SEG_FILE_SIZE 2060
RO_SEG_MEM_SIZE 2060
RW_SEG_FILE_SIZE 104
RW_SEG_MEM_SIZE 104
DT_NEEDED libc.so
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,32 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_MIPS
FILE_SIZE 9568
RO_SEG_FILE_SIZE 3448
RO_SEG_MEM_SIZE 3448
RW_SEG_FILE_SIZE 216
RW_SEG_MEM_SIZE 240
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libstdc++.so
EXP_SYMBOL _DYNAMIC_LINKING
EXP_SYMBOL __FINI_ARRAY__
EXP_SYMBOL __INIT_ARRAY__
EXP_SYMBOL __PREINIT_ARRAY__
EXP_SYMBOL __RLD_MAP
EXP_SYMBOL __bss_end__
EXP_SYMBOL __bss_start
EXP_SYMBOL __end__
EXP_SYMBOL _bss_end__
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL _fbss
EXP_SYMBOL _fdata
EXP_SYMBOL _ftext
EXP_SYMBOL main
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __libc_init
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym
IMP_SYMBOL puts

View File

@@ -1,19 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_386
FILE_SIZE 6212
RO_SEG_FILE_SIZE 1364
RO_SEG_MEM_SIZE 1364
RW_SEG_FILE_SIZE 284
RW_SEG_MEM_SIZE 284
DT_RPATH /system/lib
DT_RPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL __stack_chk_fail
IMP_SYMBOL puts

View File

@@ -1,18 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_386
FILE_SIZE 6212
RO_SEG_FILE_SIZE 1348
RO_SEG_MEM_SIZE 1348
RW_SEG_FILE_SIZE 284
RW_SEG_MEM_SIZE 284
DT_RPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL __stack_chk_fail
IMP_SYMBOL puts

View File

@@ -1,19 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_386
FILE_SIZE 6212
RO_SEG_FILE_SIZE 1364
RO_SEG_MEM_SIZE 1364
RW_SEG_FILE_SIZE 284
RW_SEG_MEM_SIZE 284
DT_RUNPATH /system/lib
DT_RUNPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL __stack_chk_fail
IMP_SYMBOL puts

View File

@@ -1,18 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_386
FILE_SIZE 6212
RO_SEG_FILE_SIZE 1348
RO_SEG_MEM_SIZE 1348
RW_SEG_FILE_SIZE 284
RW_SEG_MEM_SIZE 284
DT_RUNPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL __stack_chk_fail
IMP_SYMBOL puts

View File

@@ -1,17 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_386
FILE_SIZE 6212
RO_SEG_FILE_SIZE 1316
RO_SEG_MEM_SIZE 1316
RW_SEG_FILE_SIZE 276
RW_SEG_MEM_SIZE 276
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL __stack_chk_fail
IMP_SYMBOL puts

View File

@@ -1,21 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_386
FILE_SIZE 6680
RO_SEG_FILE_SIZE 1992
RO_SEG_MEM_SIZE 1992
RW_SEG_FILE_SIZE 288
RW_SEG_MEM_SIZE 292
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libstdc++.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __libc_init
IMP_SYMBOL __stack_chk_fail
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym
IMP_SYMBOL puts

View File

@@ -1,18 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_X86_64
FILE_SIZE 6888
RO_SEG_FILE_SIZE 1456
RO_SEG_MEM_SIZE 1456
RW_SEG_FILE_SIZE 560
RW_SEG_MEM_SIZE 560
DT_RPATH /system/lib
DT_RPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,17 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_X86_64
FILE_SIZE 6888
RO_SEG_FILE_SIZE 1440
RO_SEG_MEM_SIZE 1440
RW_SEG_FILE_SIZE 560
RW_SEG_MEM_SIZE 560
DT_RPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,18 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_X86_64
FILE_SIZE 6888
RO_SEG_FILE_SIZE 1456
RO_SEG_MEM_SIZE 1456
RW_SEG_FILE_SIZE 560
RW_SEG_MEM_SIZE 560
DT_RUNPATH /system/lib
DT_RUNPATH /vendor/lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,17 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_X86_64
FILE_SIZE 6888
RO_SEG_FILE_SIZE 1440
RO_SEG_MEM_SIZE 1440
RW_SEG_FILE_SIZE 560
RW_SEG_MEM_SIZE 560
DT_RUNPATH $ORIGIN/../lib
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,16 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_X86_64
FILE_SIZE 6888
RO_SEG_FILE_SIZE 1424
RO_SEG_MEM_SIZE 1424
RW_SEG_FILE_SIZE 544
RW_SEG_MEM_SIZE 544
DT_NEEDED libc.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
EXP_SYMBOL test
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __cxa_finalize
IMP_SYMBOL puts

View File

@@ -1,20 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_X86_64
FILE_SIZE 7584
RO_SEG_FILE_SIZE 2248
RO_SEG_MEM_SIZE 2248
RW_SEG_FILE_SIZE 664
RW_SEG_MEM_SIZE 672
DT_NEEDED libdl.so
DT_NEEDED libc.so
DT_NEEDED libstdc++.so
EXP_SYMBOL __bss_start
EXP_SYMBOL _edata
EXP_SYMBOL _end
IMP_SYMBOL __cxa_atexit
IMP_SYMBOL __libc_init
IMP_SYMBOL dlclose
IMP_SYMBOL dlopen
IMP_SYMBOL dlsym
IMP_SYMBOL puts

View File

@@ -1,25 +0,0 @@
#include <dlfcn.h>
#include <stdio.h>
int main(int argc, char **argv) {
if (argc < 2) {
puts("usage: main.out libtest.so");
return 1;
}
void *handle = dlopen(argv[1], RTLD_NOW);
if (!handle) {
puts("failed to open lib");
return 1;
}
void (*test)(void) = dlsym(handle, "test");
if (!test) {
puts("failed to find test() function");
} else {
test();
}
dlclose(handle);
return 0;
}

View File

@@ -1,7 +0,0 @@
extern void test();
extern int puts(const char *);
void test() {
puts("hello world");
}

View File

@@ -1,7 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
EXP_SYMBOL fwrite

View File

@@ -1,6 +0,0 @@
EI_CLASS 32
EI_DATA Little-Endian
E_MACHINE EM_ARM
EXP_SYMBOL cos
EXP_SYMBOL sin
EXP_SYMBOL tan

View File

@@ -1,7 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL fclose
EXP_SYMBOL fopen
EXP_SYMBOL fread
EXP_SYMBOL fwrite

View File

@@ -1,6 +0,0 @@
EI_CLASS 64
EI_DATA Little-Endian
E_MACHINE EM_AARCH64
EXP_SYMBOL cos
EXP_SYMBOL sin
EXP_SYMBOL tan

View File

@@ -1,5 +0,0 @@
{
"libA": { "path": ["system/core/libA"], "installed": ["out/target/product/generic_arm64/system/lib64/libA.so"] },
"libB": { "path": ["frameworks/base/libB"], "installed": ["out/target/product/generic_arm64/system/lib64/libB.so"] },
"libC": { "path": ["frameworks/base/libC"], "installed": ["out/target/product/generic_arm64/system/lib64/libC.so", "out/target/product/generic_arm64/system/lib64/hw/libC.so"] }
}

View File

@@ -1 +0,0 @@
does_not_exist

View File

@@ -1 +0,0 @@
test_dir

View File

@@ -1 +0,0 @@
test_file

Some files were not shown because too many files have changed in this diff Show More