Java反射与java进程

时间:2017-05-24 03:41:40

标签: java reflection bungeecord

我有一个Process,它是一个Java应用程序,它是通过运行像03-14 15:57:54.973 E/AndroidRuntime( 564): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.widget.Editor$SuggestionsPopupWindow.initContentView(Editor.java:3714) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:3375) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.widget.Editor$SuggestionsPopupWindow.<init>(Editor.java:3660) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.widget.Editor.replace(Editor.java:423) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.widget.Editor$3.run(Editor.java:2340) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.os.Handler.handleCallback(Handler.java:751) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.os.Handler.dispatchMessage(Handler.java:95) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.os.Looper.loop(Looper.java:154) 03-14 15:57:54.973 E/AndroidRuntime( 564): at android.app.ActivityThread.main(ActivityThread.java:6724) 03-14 15:57:54.973 E/AndroidRuntime( 564): at java.lang.reflect.Method.invoke(Native Method) 03-14 15:57:54.973 E/AndroidRuntime( 564): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 03-14 15:57:54.973 E/AndroidRuntime( 564): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 这样的命令从ProcessBuilder创建的。这非常有效,但我开始的应用程序没有使用java -Xms1024M -jar my.jar作为输入,所以我不能使用System.in

如何从流程中获取正在运行的应用程序的实例以使用Java Reflection发送输入?如果我不能,我将如何使用Java Reflection从我的runnable启动应用程序,然后使用Java反射来获取我可以使用的东西。

更具体地说,我正在尝试为BungeeCord执行此操作。

  • 主要班级为process.getOutputStream()
  • Bootstrap调用net.md_5.bungee.Bootstrap中的静态方法main
  • BungeeCordLauncher创建net.md_5.bungee.BungeeCordLauncher的实例,并将此实例放在net.md_5.bungee中名为instance的静态字段中,并且有一个get方法(也许这可以用于java反射?)
  • net.md_5.bungee.api.ProxyServer内部有一个名为BungeeCord.class的方法,这是我最终需要获取的方法,我需要针对此特定流程的当前实例。

感谢您的帮助!

0 个答案:

没有答案