Android Studio中调用高于minSdkVersion版本API, 无提示 (Lint问题)

一. 坑: 调用高于minSdkVersion版本的API时, AS无提示 !
最近重构项目时用到了HandlerThread类, 代码中调用了此类的quitSafely()方法, 结果导致了下面的错误:

Android Studio中调用高于minSdkVersion版本API, 无提示 (Lint问题)_第1张图片
调用高版本api导致的crash.png

经过一番折腾, 发现quitSafely()方法是API Level 18添加的, 再看看crash的系统版本, 基本上都是4.3 (4.3对应api level 18)以下的. 毫无疑问这是个版本兼容性问题. 问题找到了, 修复就容易了, 无非是兼容一下低版本 (低于api level 18的系统, 调用quit( )方法).

***关键问题是: 调用高版本的api为啥编译器没有提示 ?! ***

☞ 一般调用大于minSdkVersion版本添加的API时, 编译器是会有提示的 (方法下面会划红线) !! 如下:

Android Studio中调用高于minSdkVersion版本API, 无提示 (Lint问题)_第2张图片
调用高于minSdkVersion版本的api是IDE (AS) 的提示.png

二. 解决
又经过一番折腾, 发现屏蔽了lint提示. 项目根目录下有个lint.xml文件, 内容如下:



   

没错, 就是它干的好事 !! 删掉它, 重新build一下项目, 就有提示啦 !!

如果你不想让IDE提示你, 你可以在你的项目根目录下, 添加一个lint.xml, 内容如上. 我想说的是: 千万别这样干 !!.
如果你真的屏蔽掉了Lint提示, 那就祝你好运 (♥◠‿◠)ノ ...

你可能感兴趣的:(Android Studio中调用高于minSdkVersion版本API, 无提示 (Lint问题))