Partners (entities other than AOSP) can expose their own system libraries which are in /system/lib[64] to Android apps. This can be done by adding the name of the libs into the files /system/etc/public.libraries-<companyname>.txt. There can be multiple of the txt files on a device, which is for the case that multiple partners contributing to the same system image have their own set of public libraries. The public libraries MUST be named as lib<name>.<companyname>.so. This is to prevent accidental exposure of AOSP-defined system private libs. Note 1: <companyname> doesn't need to be the same as the value of the sysprop ro.product.manufacturer or anything that can be part of a file path. Note 2: This feature is not for exposing SoC-specific libs to Android apps. That is already done by /vendor/etc/public.libraries.txt and is only for libs in /vendor/lib[64]. Bug: 68280171 Test: mm -j under /system/core/libnativeloader/test cts-tradefed run commandAndExit cts-dev -m CtsJniTestCases -t android.jni.cts.JniStaticTest#test_linker_namespaces Change-Id: I7d32ec27c7858e35b96c7c98223cc110acb35b81
48 lines
1.2 KiB
Text
48 lines
1.2 KiB
Text
//
|
|
// 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.
|
|
//
|
|
|
|
cc_library {
|
|
name: "libfoo.oem1",
|
|
srcs: ["test.cpp"],
|
|
cflags : ["-DLIBNAME=\"libfoo.oem1.so\""],
|
|
shared_libs: [
|
|
"libbase",
|
|
],
|
|
}
|
|
cc_library {
|
|
name: "libbar.oem1",
|
|
srcs: ["test.cpp"],
|
|
cflags : ["-DLIBNAME=\"libbar.oem1.so\""],
|
|
shared_libs: [
|
|
"libbase",
|
|
],
|
|
}
|
|
cc_library {
|
|
name: "libfoo.oem2",
|
|
srcs: ["test.cpp"],
|
|
cflags : ["-DLIBNAME=\"libfoo.oem2.so\""],
|
|
shared_libs: [
|
|
"libbase",
|
|
],
|
|
}
|
|
cc_library {
|
|
name: "libbar.oem2",
|
|
srcs: ["test.cpp"],
|
|
cflags : ["-DLIBNAME=\"libbar.oem2.so\""],
|
|
shared_libs: [
|
|
"libbase",
|
|
],
|
|
}
|