app上线后可能遇到crash问题,目前团队中有各种类型的app,平常也遇到过上线后,程序后台发现大量崩溃,以至于重新修改进行上线,这样会对app用户和团队影响很大
为防止App发生内存泄露、crash等问题,需要对项目代码进行CodeReview,发现代码中的内存泄露、空引用、资源泄露等问题,提高代码质量,减小以后上线的风险,开发们也很少codeReview,所以决定以后上线前都用第三方App进行静态代码检测
这是FaceBook开源的一个项目
官网 :https://infer.liaohuqiu.net/docs/getting-started.html
目前只支持 Mac和Linux
前提:python>=2.7
具体需求如下
分析android项目。需要确保jdk版本为1.8,sdk需确保安装
android sdk tools
android sdk platform-tools
android 5.1.1(API22)(必须22版) 中的 sdk platform
android support repository
目前我只在Linux下载安装和调试
(1)下载地址:https://github.com/facebook/infer/releases

下载完成后,放到linux下 /usr/local下面 然后通过tar -xvf infer-linux64-v0.15.0.tar.xz进行解压
(2)解压完成后,添加环境变量,sudo vim /etc/profile,如图所示

添加完成后,运行一下source /etc/profile 使环境变量生效,结束运行一下infer --version

(3)检测官网给的一个例子,实例存在https://github.com/facebook/infer/tree/master/examples

下载下来放到/use/local下面,命令切换到android_hello文件夹下面
(4)每次分析前先运行命令 ./gradlew clean
接着运行infer -- ./gradlew build

报告存放位置

网友评论