lang语静态代码分析不会为使用Android.bp

时间:2019-04-22 07:40:08

标签: android clang

以前,我已经使用Android.mk在android/packages/services/下实现了一些模块 并成功地对该模块运行clang静态代码分析,创建了.plist,如下所示:

from android/ path I exported WITH_STATIC_ANALYZER=1 

我尝试运行

mmma packages/services/module_name

并成功在android/文件夹下创建所有.plist。

现在,使用相同的导出标志,在为添加的某些模块使用clang创建静态代码分析结果时遇到问题 在android/vendor/模块内部,该模块是使用Android.bp文件构建的。当我运行mmma vendor/module_name时,它不会创建 任何.plist。

我添加了

cflags:[
"-Wall",
"-Werror",
"-Wunused",
"-Wunreachable-code",
],

在Android.bp的cc_shared_library{}cc_defaults{}cc_binary{}部分中。同样没有.plist或任何其他格式的静态代码分析结果。

此外,我尝试在WITH_TIDY=1上导出android/,但还是没有运气。

AOSP版本是Android P。

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

经过调查,我意识到将cflags添加到Android.bp时,它实际上已经开始运行clang分析器,但是它无法捕获我创建的任何错误。当我添加另一个故意错误时,我得到了.plist文件,它显示为Value stored to variable is never read

在此之前,我添加了一些内存泄漏并且对此没有任何警告,因此我为此创建了另一个问题: Clang analyzer missing memory leaks