首页 > 解决方案 > 将 .so 库添加到 Android 10 构建的正确方法

问题描述

我已经尝试通过在此处此处调整较旧的指令来将单个共享对象库添加到 Android 10 构建中。

我在 /device/vendor/name/ 下添加了一个包含库的目录,并使用两个目标示例添加了一个 Android.mk 文件。

他们都导致了同样的错误: build/make/core/base_rules.mk:480: error: writing to readonly directory: "system/lib64/libjni_latinimegoogle.so"

是否有正确/可接受的方法来为 10 次执行此操作?谢谢

编辑:Android.mk 文件内容

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libjni_latinimegoogle
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := optional
LOCAL_PRELINK_MODULE := false
ifdef TARGET_2ND_ARCH
LOCAL_MULTILIB := both
LOCAL_MODULE_PATH_64 := system/lib64
LOCAL_SRC_FILES_64 := system/lib64/libjni_latinimegoogle.so
LOCAL_MODULE_PATH_32 := system/lib
LOCAL_SRC_FILES_32 := system/lib/libjni_latinimegoogle.so
else
LOCAL_MODULE_PATH := system/lib64
LOCAL_SRC_FILES := system/lib64/libjni_latinimegoogle.so
endif
include $(BUILD_PREBUILT)

标签: androidandroid-sourceandroid-buildandroid-10.0

解决方案


问题在于使用kati.

当您尝试在out/. 或者,在内核的情况下,如果您使用构建目标的绝对路径。内核部分不在您的关注范围内,但有人可能需要此信息。

因此,您LOCAL_MODULE_PATH指向的位置无效。


推荐阅读