Android Studio中調用高于minSdkVersion版本API, 無提示 (Lint問題)

一. 坑: 調用高于minSdkVersion版本的API時, AS無提示 !
最近重構項目時用到了HandlerThread類, 代碼中調用了此類的quitSafely()方法, 結果導致了下面的錯誤:

調用高版本api導致的crash.png

經過一番折騰, 發現quitSafely()方法是API Level 18添加的, 再看看crash的系統版本, 基本上都是4.3 (4.3對應api level 18)以下的. 毫無疑問這是個版本兼容性問題. 問題找到了, 修復就容易了, 無非是兼容一下低版本 (低于api level 18的系統, 調用quit( )方法).

***關鍵問題是: 調用高版本的api為啥編譯器沒有提示 ?! ***

? 一般調用大于minSdkVersion版本添加的API時, 編譯器是會有提示的 (方法下面會劃紅線) !! 如下:

調用高于minSdkVersion版本的api是IDE (AS) 的提示.png

二. 解決
又經過一番折騰, 發現屏蔽了lint提示. 項目根目錄下有個lint.xml文件, 內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
   <issue id="NewApi" severity="ignore" />
</lint>

沒錯, 就是它干的好事 !! 刪掉它, 重新build一下項目, 就有提示啦 !!

如果你不想讓IDE提示你, 你可以在你的項目根目錄下, 添加一個lint.xml, 內容如上. 我想說的是: 千萬別這樣干 !!.
如果你真的屏蔽掉了Lint提示, 那就祝你好運 (????)? ...

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容