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.html42
1 files changed, 37 insertions, 5 deletions
diff --git a/en/devices/tech/config/namespaces_libraries.html b/en/devices/tech/config/namespaces_libraries.html
index 1e94bf1b..5dae4b07 100644
--- a/en/devices/tech/config/namespaces_libraries.html
+++ b/en/devices/tech/config/namespaces_libraries.html
@@ -54,11 +54,43 @@ with <code>libpng</code>).
libraries</h2>
<p>
-In addition to standard public native libraries, vendors may choose to provide
-additional native libraries accessible to apps by putting them under the
-<code>/vendor</code> library folder (/vendor/lib for 32 bit libraries and,
-/vendor/lib64 for 64 bit) and listing them in:
-<code>/vendor/etc/public.libraries.txt</code>
+In addition to standard public native libraries, silicon vendors (starting from Android 7.0) and
+device manufactures (starting from Android 9) may choose to provide additional native libraries
+accessible to apps by putting them under the respective library folders and explicitly listing them
+in .txt files.
+</p>
+
+<p>The library folders are:</p>
+<ul>
+ <li><code>/vendor/lib</code> (for 32-bit) and <code>/vendor/lib64</code> (for 64-bit)
+ for libraries from silicon vendors</li>
+ <li><code>/system/lib</code> (for 32-bit) and <code>/system/lib64</code> (for 64-bit)
+ for libraries from device manufacturers</li>
+<ul>
+
+<p>The .txt files are:</p>
+<ul>
+ <li><code>/vendor/etc/public.libraries.txt</code> for libraries from silicon vendors</li>
+ <li><code>/system/etc/public.libraries-COMPANYNAME.txt</code> for libraries from device manufacturers,
+ where <code>COMPANYNAME</code> refers to a name of the manufacturer (such as
+ <code>awesome.company</code>). <code>COMPANYNAME</code> should match with
+ <code>[A-Za-z0-9_.-]+</code>; alphanumeric characters, _, . (dot) and -. It is possible to
+ have multiple such .txt files in a device if some libraries are from external solution
+ providers.
+</ul>
+
+<p>
+ Native libraries in the <code>system</code> partition that are made public by device manufacturers
+ <strong>MUST</strong> be named <code>lib*COMPANYNAME.so</code>, e.g., <code>libFoo.awesome.company.so</code>.
+ In other words, <code>libFoo.so</code> without the company name suffix MUST NOT be made public.
+ The <code>COMPANYNAME</code> in the library file name MUST match with the <code>COMPANYNAME</code> in the
+ txt file name in which the library name is listed.
+</p>
+
+<p>
+ Native libraries that are part of AOSP MUST NOT be made public (except the standard
+ public native libraries which are public by default). Only the additional libraries added by
+ silicon vendors or device manufacturers can be made accessible to apps.
</p>
<p>