安卓P 编译报找不到这个文件 cutils/log.h

本文讲述了作者在从安卓8升级到安卓P时遇到的编译问题,发现cutils/log.h被弃用,通过调整代码和LOCAL_SHARED_LIBRARIES配置解决编译并找到替代头文件log/log.h和android/log.h的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安卓P 编译报 找不到这个文件 cutils/log.h

一个工具的源码在安卓8上能编译通过,但是在安卓P上却编译失败,报找不到这个头文件 cutils/log.h,
一开始我以为是安卓P源码根目录没有这个头文件,然后我就在安卓源码根目录,find -name log.h 然后发现有这个文件,/system/core/libcutils/include/cutils/log.h 那么就应该不是源码的问题。

那么我就找了,其他能编译通过且 #include <cutils/log.h> 这个头文件的模块,发现他们的Android.mk文件都有包含这个库文件,
LOCAL_SHARED_LIBRARIES += libcutils

果然在我自己的模块下加了这个库之后,模块就能编译通过了。
看来是安卓8和安卓P 的编译规则有点区别
但是看编译信息提示

system/core/libcutils/include_vndk/cutils/log.h:38:2: warning: "Deprecated: don’t include cutils/log.h, use either android/log.h or log/log.h"

看来安卓P不想让我们用 这个cutils/log.h 头文件。
因此我再Android.mk 下去掉 libcutils 库,在源码里面将cutils/log.h 换成log/log.h或者android/log.h再编译,果然编译也能通过,且工具能正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值