海思hisi v350报错librecovery (native:platform) should not link to libhi_common (native:vendor)

报错部分信息:

bootable/recovery/Android.mk: error: librecovery (native:platform) should not link to libhi_common (native:vendor)
bootable/recovery/Android.mk: error: librecovery (native:platform) should not link to libhi_msp (native:vendor)
[  3% 2250/65245] target thumb C++: librecovery <= bootable/recovery/install.cpp



  @libcore.util.NullFromTypeParam (nl=false) @ {GENERIC_ARRAY_LOCATION=GenericArrayLocationCriterion at ( [TYPE_ARGUMENT(0), TYPE_ARGUMENT(1)] ), RETURN_TYPE=ReturnTypeCriterion for method: entrySet()Ljava/util/Set;, IN_METHOD=in method 'entrySet()Ljava/util/Set;', IN_CLASS=In class 'java.util.HashMap' (exactly)}
ninja: build stopped: subcommand failed.
18:51:13 ninja failed with: exit status 1
make: *** [run_soong_ui] 错误 1

 #### make target "bigfish -j16" failed !!!(01:29 (mm:ss)) ####


[END] 2021/3/10 18:51:43

网上找了下解决方法:原因就是

Android.mk 中写明会编译生成两个LOCAL_MODULE,第一个LOCAL_MODULE会依赖引用第二个LOCAL_MODULE。问题的关键来了,参照平台默认的 sensor HAL 代码的Android.mk,我对第一个LOCAL_MODULE新增了LOCAL_PROPRIETARY_MODULE := true 属性,而第二个LOCAL_MODULE没有这么做。LOCAL_PROPRIETARY_MODULE是Android vendor module 必须具有的属性,此属性声明将 vendor module放入vendor分区(vendor native),未声明该属性的module将放在system分区(platform native),且这两个分区是不能进行链接的,所以编译会报两个LOCAL_MODULE无法链接的错误。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peak wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值