Androidでパッケージ内のすべてのクラスを見つけるにはどうすればよいですか? 私は PathClassLoader を使用していますが、常に空の列挙を返しますか?
追加情報
提案されたReflectionsアプローチを試しました。リフレクション ライブラリに関するいくつかの重要なポイント。Maven Central から入手できるライブラリは Android と互換性がなく、dex エラーが発生します。ソースを含めて、dom4j、java-assist をコンパイルする必要がありました。
リフレクションの問題と私の元の解決策は、アンドロイドの 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();
}
}