2017-12-03 10 views
0

Androidでリフレクションしています。またAndroidでデバイスに保存されたクラスのリフレクションを使用しているクラスが見つかりません

File classFile = new File(getExternalFilesDir(null) + File.separator); 
URLClassLoader classLoader = new URLClassLoader(new URL[] { classFile.toURI().toURL() }); 
Class classToInvestigate = classLoader.loadClass("Main.class"); 

:私のコードを

java.lang.ClassNotFoundException: Main.class 

:私は、デバイス上のJARファイルを保存したと私は、このJARからクラスを取得しようとしているが、それは動作していないと私は例外を取得していますMain.classファイルを保存しようとしましたが、まだエラーが発生しています。私は行方不明のものがありますか? ありがとうございます。

答えて

0

あなたがクラスをロードする方法は以下の通りです:

Class<?> stringBuilder = ClassLoader.getSystemClassLoader().loadClass("java.lang.StringBuilder"); 

別のアプローチ:

Class.forName("java.lang.StringBuilder"); 

を更新:取るhttps://stackoverflow.com/a/6860579/1715121

を見てみましょうMainクラスのFQCNを見てください。

+0

まだ動作しません。私はHelloWorld.jarをpackage com.helloworldとMainクラスでのみ持っています。コードを '.loadClass(" com.helloworld.Main ");に変更しましたが、同じエラーです。 – VladoS24

+0

答え: 'Class.forName(" java.lang.StringBuilder ");' – Ele

+0

このJARはデバイスに保存されています。このJARを最初に取得してから、何とか名前を探す必要があります。間違っていますか? – VladoS24

関連する問題