- dx ツールを使用して、DexClassLoader を使用して、Java jar から DEX に変換された jar ファイルをロードしています。
- jar ファイルは /storage/sdcard0/Download/br_applications/calculator.dx.jar にあります。
- 私は権限を持っています:
私のコードは(+/-)です:
String url_jar_path = "/storage/sdcard0/Download/br_applications/calculator.dx.jar"; String dex_dir = context.getDir("dex", 0).getAbsolutePath(); ClassLoader parent = Cargar_jars.class.getClassLoader(); dexclassloader = new DexClassLoader(url_jar_path, dex_dir, null, parent); main_class = "browserun.main.Mains"; Class clase = dexclassloader.loadClass(main_class); Class[] arguments_array = new Class[1]; arguments_array [0] = String [].class; Method method_main = clase.getMethod("main", arguments_array); String [] params_array = { "param_1" }; Object[] arguments_main_array = new Object[1]; arguments_main_array [0] = params_array; method_main.invoke (null, arguments_main_array); /* Here I got Exception: Method not found. */
- .apk ファイルで試しました。そして結果は最悪です。クラスをロードできません...
- .aar ファイルを試してみました。そして結果は悪かった。
- ¿誰か私にコードを教えてもらえますか?
- 私は Android Studio を使用しており、Java Jar であるモジュールを備えた偽の apk アプリケーションを使用して jar ファイルを作成しています。dx ツールを使用して dx.jar ファイルを作成します。 dx --dex --output calculator.dx.jar calculator.jar ありがとうございます。
1 に答える
0
私は変更を加えました:
method_main.invoke (null, arguments_main_array[0]);
代わりは:
method_main.invoke (null, arguments_main_array);
外部 jar で呼び出されたメソッドのコードに問題がありました。
私が使用する場合:
dex --dex --output <jar target> <jar origin>
有効な瓶を手に入れました。
しかし、呼び出されたコードは以前は機能していましたが、現在は機能していません...そして、デバッグできません... :(
于 2016-03-03T20:00:26.673 に答える