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
30 lines
1,012 B
Makefile
30 lines
1,012 B
Makefile
#
|
|
# 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.
|
|
#
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := public.libraries-oem1.txt
|
|
LOCAL_SRC_FILES:= $(LOCAL_MODULE)
|
|
LOCAL_MODULE_CLASS := ETC
|
|
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)
|
|
include $(BUILD_PREBUILT)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := public.libraries-oem2.txt
|
|
LOCAL_SRC_FILES:= $(LOCAL_MODULE)
|
|
LOCAL_MODULE_CLASS := ETC
|
|
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)
|
|
include $(BUILD_PREBUILT)
|