libtest (native:platform) should not link to libmi3 (native:vendor)

5 篇文章 1 订阅

在安卓9.0上写了库,其中引用到系统system/lib 和vendor/lib中的库。编译时发现出现错误

error: libtest (native:platform) should not link to libmi3 (native:vendor)

提示libmi3库无法链接,因为我写的库是编译到system/lib .但是libmi3库是在vendor/lib之下

而9.0 修改直接vendor/lib 和systen/lib之间无法互相读取造成,

查阅网上资料有的说修改

build/make/core/link_type.mk

my_allowed_types :=native:vendor

my_link_type :=native:vendor

试了一些不知道是方法不对还是怎么的好像没用。还有说修改

system/core/rootdir/etc/ld.config.txt

namespace.default.search.paths += /system/${LIB}

看这挺像的,但是也还是不行,后面直接修改报错那个库文件编译出来的link_type

\out\target\product\test\obj\SHARED_LIBRARIES\libmi3_intermediates\link_type

修改文件中的native:vendor
改为我们所需要的native:platform

这样我的SO库就可以正常编译成功,但是如果需要在机器上运行,需要将vendor/lib下对应的库文件拷贝到system/lib下,并且给予权限

但是这样改有个问题就是系统编译的时候有其他vendor库链接的这个库文件的时候会报同样的错,所以编完了需要改回去,这种方法只能供

暂时编译我们自己需要的SO库使用

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值