关于support-annotations库中的注解RequiresApi和Google官方文档

来源:互联网 发布:ibatis 打印sql语句 编辑:程序博客网 时间:2024/06/16 22:52

在功能中使用了一个第三方库,在编译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的文档也相当不严谨啊。这个中错误也可以犯。以后也不能完全相信官方文档了。

原创粉丝点击