【问题标题】:Correct way to add .so library to Android 10 build将 .so 库添加到 Android 10 构建的正确方法
【发布时间】:2020-03-08 23:45:26
【问题描述】:

我已尝试通过调整旧指令 herehere 将单个共享对象库添加到 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)

【问题讨论】:

  • 很难说没有你分享任何代码。您是否尝试添加 LOCAL_PROPRIETARY_MODULE := true 以获取供应商分区上的库?
  • 添加了上面的makefile内容。感谢您的建议,我厌倦了在下面添加它,并替换了 LOCAL_PRELINK_MODULE := false 但我得到了同样的错误。

标签: android android-source android-build android-10.0


【解决方案1】:

问题在于使用kati

当您尝试在out/ 之外生成构建输出时会发生这种情况。或者,在内核的情况下,如果您使用构建目标的绝对路径。内核部分不在您的关注范围内,但可能有人需要此信息。

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

【讨论】:

    【解决方案2】:

    正确的方法是在设备的makefile中指定。目标是向 LineageOS 17.1 构建添加手势输入 - 以 Pixel 3XL 交叉影线为例:

    在 PRODUCT_COPY_FILES 下的 vendor/google/crosshatch/crosshatch-vendor.mk 中,添加行以复制与其周围类似的 .so 库,在 lib64(或用于 32 位设备构建的 lib)下:

    PRODUCT_COPY_FILES += \
    ...
    vendor/google/crosshatch/proprietary/lib64/libjni_latinimegoogle.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libjni_latinimegoogle.so \
    ...
    

    TARGET_COPY_OUT_SYSTEM 会将其定向到系统分区,而不是 PRODUCT、SYSTEM_EXT 或 VENDOR,它们也是选项。

    最后确保将 .so 文件添加到需要从本地复制的位置,在 vendor/google/crosshatch/proprietary/lib64

    手势输入将在下一个版本中启用。这也适用于 LineageOS 18.1

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 2015-09-17
      • 2021-04-28
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多