当前位置:   article > 正文

libtest (native:platform) should not link to libmi3 (native:vendor)_(native:platform) can not link against libdiag (na

(native:platform) can not link against libdiag (native:vendor)

在安卓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之间无法互相读取造成,

查阅网上资料有的说修改

  1. build/make/core/link_type.mk
  2. my_allowed_types :=native:vendor
  3. my_link_type :=native:vendor

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

  1. system/core/rootdir/etc/ld.config.txt
  2. namespace.default.search.paths += /system/${LIB}

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

  1. \out\target\product\test\obj\SHARED_LIBRARIES\libmi3_intermediates\link_type
  2. 修改文件中的native:vendor
  3. 改为我们所需要的native:platform

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/562566
推荐阅读
相关标签
  

闽ICP备14008679号