可以在Android上运行的代码中使用像javax.annotation.Nonnull
这样的JSR 305注释吗?看起来Dalvik VM不支持包,这些注释具有运行时保留策略。有没有人使用javax包(或使用eclipse JDT等替代方法)?
答案 0 :(得分:1)
dalvik或ADT不完全支持javax。*包。但是,您可以使用常规注释。官方docs中的完整包裹列表。
也就是说,任何针对.class文件的东西都行不通。有一个名为dexmaker的库可以解决这个问题。
答案 1 :(得分:1)
Afaik,annotations can be missing at runtime(即使有运行时保留),这将导致注释被静默删除。因此,如果您的代码编译,那么即使稍后运行代码的VM不知道注释,您也可以。
在您的情况下,您正在使用静态分析工具使用的javax.annotation.Nonnull
,但通常在运行时没有效果。所以是的,你可以使用它。
相反,在运行时,其存在与您的应用程序相关的假设其他注释必须存在于类路径中。
答案 2 :(得分:0)
为什么不使用Android标准sdk plartform中的androidx.annotation