基于Android的车载操作系统 目录
本篇主要记录在日常工作中遇到的一些经典的编译调试过程。
一、module xxx1 missing dependencies:xxx2
1.1 问题描述
FAILED:out/soong/.intermediates/....../android_arm_armv7-a-neon_cortex-a9_shared/......module xxx1 missing dependencies:xxx2
1.2 原因分析
上面错误表示编译模块xxx1依赖的xxx2库找不到。问题可能没那么简单,因为是实际上依赖的xxx2这些库都存在,只不过这些这些库都存在于/system/lib64/目录下(因为供应商交付的库只有64位的库),因此如果不指定编译64位则无法遍历到/system/lib64/目录下的so库。
1.3 解决方案
只需要在Android.bp中编译xxx1库中语句块中添加下面语句即可;
compile_mulitilib:"64",
二、ld.lld:error:undefined symbol:xxx
2.2 原因分析:
Android部分相关功能编译时需要编译为静态库,例如android::sp<xxx>,StatsType,android:IBinder.