0

javax.annotation.Nonnull可以在将在 Android 上运行的代码中使用JSR 305 注释吗?看起来 Dalvik VM 不支持该软件包,并且这些注释具有运行时保留策略。有没有人使用 javax 包(或使用 eclipse JDT 之类的替代方案)让它工作?

4

3 回答 3

1

dalvik 或 ADT 不完全支持 javax.* 包。但是,您可以使用普通注释。官方文档中的完整包列表。

也就是说,任何以 .class 文件为目标的东西都不起作用。有一个名为dexmaker的库可以帮助解决这个问题。

于 2014-02-28T14:15:23.443 回答
1

Afaik,注释可能在运行时丢失(即使在运行时保留),这将导致注释被静默删除。因此,如果您的代码可以编译,那么即使稍后运行您的代码的 VM 不知道注释,您也可以。

在您的情况下,您正在使用javax.annotation.Nonnull静态分析工具使用的 ,但通常在运行时无效。所以是的,你可以使用它。

相反,在运行时与您的应用程序相关的假设的其他注释必须存在于类路径中。

于 2014-02-28T21:32:43.703 回答
0

为什么不使用 Android 标准 sdk 平台中的 androidx.annotation

于 2019-08-28T03:06:40.177 回答