aboutsummaryrefslogtreecommitdiff
path: root/en/devices/tech/config/namespaces_libraries.html
diff options
context:
space:
mode:
Diffstat (limited to 'en/devices/tech/config/namespaces_libraries.html')
-rw-r--r--en/devices/tech/config/namespaces_libraries.html20
1 files changed, 20 insertions, 0 deletions
diff --git a/en/devices/tech/config/namespaces_libraries.html b/en/devices/tech/config/namespaces_libraries.html
index b91cbe23..1e94bf1b 100644
--- a/en/devices/tech/config/namespaces_libraries.html
+++ b/en/devices/tech/config/namespaces_libraries.html
@@ -61,6 +61,26 @@ additional native libraries accessible to apps by putting them under the
<code>/vendor/etc/public.libraries.txt</code>
</p>
+<p>
+Starting from Android 8.0, vendor public libraries have the following additional
+restrictions and required setups:
+</p>
+
+<ol>
+ <li>The native library in vendor must be properly labeled so it can be
+ accessible to apps. If access is required by any apps (including third
+ party apps), the library must be labeled as <code>same_process_hal_file</code>
+ in a vendor-specific <code>file_contexts</code> file as follows:
+ <pre class="devsite-click-to-copy">/vendor/lib(64)?/libnative.so u:object_r:same_process_hal_file:s0</pre>
+ where <code>libnative.so</code> is the name of the native library.
+ </li>
+ <li>The library, either directly or transitively via its dependencies, must not
+ depend on system libraries other than VNDK-SP and LLNDK libraries. The list of
+ VNDK-SP and LLNDK libraries can be found at
+ <code>development/vndk/tools/definition/tool/datasets/eligible-list-&lt;version&gt;-release.csv</code>.
+ </li>
+</ol>
+
<h2 id="updating-app-non-public">Updating apps to not use non-public native libraries</h2>
<p>