關於support-annotations庫中的註解RequiresApi和Google官方文件
阿新 • • 發佈:2019-01-05
在功能中使用了一個第三方庫,在編譯apk的時候總是報錯,找不到類
警告: 無法找到型別 'RequiresApi' 的註釋方法 'value()': 找不到android.support.annotation.RequiresApi的類檔案
找源頭,首先查詢google官方文件,看RequiredApi這個類是從那一版本開始有的,https://developer.android.com/reference/android/support/annotation/RequiresApi.html
如下圖,一般會在頁面右上角寫上這個類是從那一版開始新增的
但不幸的是整個android.support.annotation包都沒有寫,但是還有另一個辦法,頁面左側的樹狀選單中有個選項,可以選api版本,如果所選版本沒有對應類,則對應類會在樹狀選單中變成灰色。
但不幸的事情又發生了,我選成API 1,android.support.annotation依然沒有變成灰色,說明RequiresApi應該從API1就有了,但實際情況是這樣麼?
於是我開啟本地的Android SDK目錄,定位到/extras/android/m2repository/com/android/support/目錄
找到support-annotations,目前我用的是23.0.0,我就找到這個版本的jar,解壓看下,它到底有沒有RequiresApi這個類。實際情況是沒有,於是我繼續往高版本找,發現直到24.0.0才有這個類。
看來這個Google的文件也相當不嚴謹啊。這個中錯誤也可以犯。以後也不能完全相信官方文件了。