【问题标题】:Prebuilt libtensorflowlite.so library in AOSP Android.bp, failes to build, permission deniedAOSP Android.bp 中预构建的 libtensorflowlite.so 库,构建失败,权限被拒绝
【发布时间】:2020-09-16 12:24:37
【问题描述】:

我有一个使用 bazel 从 tensorflow 生成的 libtensorflowlite.so 库,我一直将它与 CMake 一起用于交叉编译可执行文件,并且能够在 android 中顺利运行它们,但是当我想使用该库时(libtensorflowlite .so)在我的 AOSP 构建系统中作为预构建我收到此错误:
ERROR: out/target/product/*/obj_arm/SHARED_LIBRARIES/libtensorflowlite_prebuilted_intermediates/PACKED/libtensorflowlite_prebuilted.so: Permission denied

我在 Android.bp 中的模块如下所示:

cc_prebuilt_library_shared {
    name: "libtensorflowlite_prebuilted",
    host_supported: true,
    vendor_available: true,
    target: {
        android_arm: {
            srcs: ["prebuilt_libs/armeabi-v7a/libtensorflowlite.so"],
        },
        android_arm64: {
            srcs: ["prebuilt_libs/arm64-v8a/libtensorflowlite.so"],
        },
    },
    strip: {
        none:true,
    },
}

过去,我能够使用完全相同形式的 Android.bp 对其他预构建库进行编译,并且从未遇到此错误!

【问题讨论】:

    标签: android android-source tensorflow-lite android-soong


    【解决方案1】:

    能够使用 Android.mk 成功构建相同的预构建共享库

    include $(CLEAR_VARS)
    LOCAL_MODULE := libtensorflowlite_prebuilted
    LOCAL_VENDOR_MODULE := true
    LOCAL_MODULE_TAGS := optional
    LOCAL_MODULE_SUFFIX := .so
    LOCAL_MODULE_CLASS := SHARED_LIBRARIES
    LOCAL_MULTILIB := both
    LOCAL_MODULE_STEM := $(LOCAL_MODULE)
    LOCAL_SRC_FILES_$(TARGET_ARCH) := prebuilt_libs/$(TARGET_ARCH)/libtensorflowlite.so
    LOCAL_SRC_FILES_$(TARGET_2ND_ARCH) := prebuilt_libs/$(TARGET_2ND_ARCH)/libtensorflowlite.so
    LOCAL_EXPORT_C_INCLUDE_DIRS := \
        $(LOCAL_PATH)/include
    include $(BUILD_PREBUILT)
    

    然而 Android.bp 方法失败了,但不知道为什么!

    【讨论】:

      猜你喜欢
      • 2020-03-08
      • 2013-12-10
      • 2021-08-01
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多