我试图在android中检索一个带有特定注释的类列表。我正试着用Reflections library来做。但无论我做什么,反射都会返回一个空集。最后,我尝试使用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。你知道是什么引起的吗?

最佳答案

我遇到了同样的问题。由于反射使用JavaAsvices解决.jar文件中的.class文件,这在Android应用程序中不存在,因此不可能使用反射。不过,我们可以使用其他工具来解析.dex

关于java - 反射库在Android中返回空列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32772229/

10-10 12:26