diff options
| -rw-r--r-- | core/jni/Android.bp | 13 | ||||
| -rw-r--r-- | core/jni/platform/darwin/libandroid_runtime_export.exp | 38 | ||||
| -rw-r--r-- | core/jni/platform/linux/libandroid_runtime_export.txt | 49 |
3 files changed, 99 insertions, 1 deletions
diff --git a/core/jni/Android.bp b/core/jni/Android.bp index 67790592a2ba..3afe27ea591f 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -484,11 +484,22 @@ cc_library_shared_for_libandroid_runtime { "libbinder", "libhidlbase", // libhwbinder is in here ], + version_script: "platform/linux/libandroid_runtime_export.txt", + }, + darwin: { + host_ldlibs: [ + "-framework AppKit", + ], + dist: { + targets: ["layoutlib_jni"], + dir: "layoutlib_native/darwin", + }, + exported_symbols_list: "platform/darwin/libandroid_runtime_export.exp", }, linux_glibc_x86_64: { ldflags: ["-static-libgcc"], dist: { - targets: ["layoutlib"], + targets: ["layoutlib_jni"], dir: "layoutlib_native/linux", tag: "stripped_all", }, diff --git a/core/jni/platform/darwin/libandroid_runtime_export.exp b/core/jni/platform/darwin/libandroid_runtime_export.exp new file mode 100644 index 000000000000..00a7585719ea --- /dev/null +++ b/core/jni/platform/darwin/libandroid_runtime_export.exp @@ -0,0 +1,38 @@ +# +# Copyright (C) 2024 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. +# + +# symbols needed for the JNI operations +_JNI_OnLoad +_ANativeWindow* + +# symbols needed to link with layoutlib_jni +___android_log* +__ZNK7android7RefBase* +__ZN7android4base9SetLogger* +__ZN7android4base10SetAborter* +__ZN7android4base11GetProperty* +__ZN7android4Rect* +__ZN7android5Fence* +__ZN7android7RefBase* +__ZN7android7String* +__ZN7android10VectorImpl* +__ZN7android11BufferQueue* +__ZN7android14AndroidRuntime* +__ZN7android14sp_report_raceEv* +__ZN7android15KeyCharacterMap* +__ZN7android15InputDeviceInfo* +__ZN7android31android_view_InputDevice_create* +__ZN7android53android_view_Surface_createFromIGraphicBufferProducer* diff --git a/core/jni/platform/linux/libandroid_runtime_export.txt b/core/jni/platform/linux/libandroid_runtime_export.txt new file mode 100644 index 000000000000..50e0b750f61e --- /dev/null +++ b/core/jni/platform/linux/libandroid_runtime_export.txt @@ -0,0 +1,49 @@ +# +# Copyright (C) 2024 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. +# + +{ + global: + # symbols needed for the JNI operations + JNI_OnLoad; + ANativeWindow*; + + # symbols needed to link with layoutlib_jni + __android_log*; + _ZNK7android7RefBase*; + _ZN7android4base9SetLogger*; + _ZN7android4base10SetAborter*; + _ZN7android4base11GetProperty*; + _ZN7android4Rect*; + _ZN7android5Fence*; + _ZN7android7RefBase*; + _ZN7android7String*; + _ZN7android10VectorImpl*; + _ZN7android11BufferQueue*; + _ZN7android14AndroidRuntime*; + _ZN7android14sp_report_raceEv*; + _ZN7android15KeyCharacterMap*; + _ZN7android15InputDeviceInfo*; + _ZN7android31android_view_InputDevice_create*; + _ZN7android53android_view_Surface_createFromIGraphicBufferProducer*; + + # symbols needed by Ravenwood to override system properties + __system_property_find; + __system_property_get; + __system_property_read_callback; + __system_property_set; + local: + *; +}; |