我有一个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()
。net.md_5.bungee.Bootstrap
中的静态方法main
。net.md_5.bungee.BungeeCordLauncher
的实例,并将此实例放在net.md_5.bungee
中名为instance
的静态字段中,并且有一个get方法(也许这可以用于java反射?) net.md_5.bungee.api.ProxyServer
内部有一个名为BungeeCord.class
的方法,这是我最终需要获取的方法,我需要针对此特定流程的当前实例。感谢您的帮助!