SDK版本需要注释

时间:2012-12-28 08:43:26

标签: android annotations compiler-warnings

我通过反射来调用函数,这可以从froyo开始。如何标记此调用需要froyo?

有注释@TargetApi(Build.VERSION_CODES.FROYO),但如果此版本不匹配,这只会阻止我想要生成警告的警告。

如果SDK网站没有办法可以编写这样的注释吗?我不熟悉。

2 个答案:

答案 0 :(得分:1)

注释只是元数据,需要工具来实际处理它们,没有lint检查来反转你想要的东西:根据http://tools.android.com/tips/lint-checks指示某些东西需要某个API。

如果您要提供API,最好在函数的Javadoc中记录需求,以便调用者知道该特定调用需要Froyo。在函数中,如果不满足此前置条件或者以其他方式处理它,则应该抛出异常。

如果要创建库,另一个选项是将该项目的minSdk版本设置为8或更高。

您还可以编写自己的lint规则,我会猜测它会进行自定义检查。有关编写lint规则的更多详细信息,请访问:http://tools.android.com/tips/lint-custom-rules。缺点是api的用户必须执行一些自定义设置才能激活规则。

答案 1 :(得分:0)

我完全忘了提及这一点,但是这个注释 @RequiresApi 实际上是在 2016 年的 Support Lib v24 中引入的,after raising a bugreport