android - 无法将系统库链接到供应商二进制文件

标签 android c

我正在尝试访问供应商分区中存在的二进制文件中的 libsparese 库,但 libsparse 库位于系统分区中,在构建过程中会抛出以下错误。

(native:vendor) should not link to libsparse (native:platform)

如果该库存在于 system/lib64/中,我该如何使用它?

最佳答案

如果您的模块依赖于任何系统模块,那么您可以按照以下步骤将您的模块链接到系统模块。

示例:- 模块 A 是供应商平台模块,模块 B 是系统平台模块,在将模块 B 包含在模块 A 中后出现以下错误。模块 A (native:vendor) 不应链接到模块 B ( native:platform) 然后....... 有一个解决方法..

在模块A make文件的“LOCAL_C_INCLUDES+=”中添加模块B绝对路径。 LOCAL_C_INCLUDES +=\/system//include

是模块 B 是共享库,然后在模块 A 的 make 文件中添加以下内容。 LOCAL_LDFLAGS += $(call intermediates-dir-for,SHARED_LIBRARIES,B)/B.so

最后在模块A中添加模块B的附加依赖 LOCAL_ADDITIONAL_DEPENDENCIES := B

现在您可以在模块 A 中使用模块 B。:)

关于android - 无法将系统库链接到供应商二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52661425/

相关文章:

c - AVR 引脚变化中断不可预测地触发

c - RTC 中断周期性丢失

c - 如果我在循环内声明变量有关系吗?

子进程在运行 fork() 时接管父进程

android - 更改 Android TV 应用程序 BrowseFragment 的 SearchView 默认图标?

java - 使用EMM限制AirWatch在PlayStore上发布应用程序时收到错误

android - 无法获取经纬度

c - C 中的 fopen 不会创建文件

java - Pie 上的 Camera2 API 越界异常

android - getLastKnownLocation 不是实际位置