我试图在 Android 中检索具有特定注释的类列表。我正在尝试使用 Reflections library这样做。但无论我做什么,Reflections 都会返回一个空集。最后,我尝试使用 Reflections.getAllTypes(),它应该返回包中的所有类,它给了我消息“找不到对象的子类型。确保 SubTypesScanner 初始化为包含对象类 - new SubTypesScanner(false)”我已经确认我正在这样做,所以我查看了该方法的代码,如果包中没有类,它会返回该错误。
这是我遇到错误的代码示例:
Reflections reflections = new Reflections(this.getClass().getPackage().getName(),
new SubTypesScanner(false));
Set<String> classes = reflections.getAllTypes(); // Throws runtime error
这至少应该返回调用它的类。我也试过为包使用空字符串,答案是 here .知道是什么原因造成的吗?
最佳答案
我遇到了同样的问题。由于 Reflections 使用 java 辅助解析 .jar 文件中的 .class 文件,这在 android 应用程序中不存在,因此无法使用 Reflections。但是我们可以使用其他工具来解析 .dex 并且它会起作用
关于java - 反射库在 Android 中返回空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772229/