解决AaptParser: aapt dump badging stderr: aapt: error while loading shared libraries: libc++.so

问题描述:

在ubuntu下做cts测试时候跑某些case提示AaptParser: aapt dump badging stderr: aapt: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory,导致case失败。


原因分析:

使用其他电脑确保可以通过的版本也是如此,可以确定是本地电脑环境问题,单独执行aapt也报相同问题,进一步确定是aapt的执行环境问题,在建立aosp编译环境后的目录下aapt是可以正常执行的。通过which命令查看,aosp和cts两个环境调用的aapt不是一个路径,aosp的上级目录有libc++.so文件,而cts对应的~/bin/目录却没没有。


解决方法:

把aosp的out目录或者Sdk/build-tools/目录下libc++.so或者对应文件夹拷贝到aapt目录下,重新执行aapt,结果正常。

你可能感兴趣的:(Android)