如何在 Android 上找到一个包中的所有类?我使用 PathClassLoader,但它总是返回一个空枚举?
附加信息
尝试了建议的反射方法。关于反射库的几个要点。通过 maven central 提供的库与 Android 不兼容,并给出 dex 错误。我必须包含源代码并编译 dom4j、java-assist。
反射的问题,我最初的解决方案是 android 中的 PathClassLoader 返回包的空枚举。
方法的问题是 Android 中的 getResource 总是返回空枚举。
final String resourceName = aClass.getName().replace(".", "/") + ".class";
for (ClassLoader classLoader : loaders) {
try {
final URL url = classLoader.getResource(resourceName);
if (url != null) {
final String normalizedUrl = url.toExternalForm().substring(0, url.toExternalForm().lastIndexOf(aClass.getPackage().getName().replace(".", "/")));
return new URL(normalizedUrl);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}