Javaに関連してこの素晴らしい新しいAPIをどのように使用しますか?nativeProcess.standardInput.write()やnativeProcess.standardOutput.read()のような純粋なネイティブプロセスAPIを使用していますか?これを使用すると、Java側をデバッグできず、リモートJavaメソッドを呼び出すこともできません。または、flerry libなどのリモートメソッド呼び出しを利用しているが、Java側もデバッグできないライブラリを使用していますか?または、デバッグはできるがJavaメソッドをリモートで呼び出すことができないMerapiを使用している可能性がありますか?これは、このAPIとその使いやすさに関しておそらく最も重要な質問であるため、私はこれを求めています。
5 に答える
あなたの予約は、Java プロセスをデバッグできることに関係しているようです。これは実際には問題ではありません。NativeProcess API を使用して、Java プロセスを外部からデバッグ可能にする引数で開始することができます。例えば:
var processArgs:Vector.<String> = new Vector.<String>();
processArgs.push("-Xdebug");
processArgs.push("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n");
これにより、Java プロセスをリモートでデバッグできるようになります。プロセスが開始されたら、Eclipse または Netbeans から接続できます。Java プロセスのコードがアクティブな Eclipse/Netbeans プロジェクトにリンクされている場合、他の Java アプリケーションの場合と同様に、行ごとのデバッグを実行できます。
-ラージ
を使用NativeProcess
して実行java.exe
し、適切なパラメーターを渡して Java アプリケーションを実行できます。
NativeProcess
jar ファイルからランダムな Java コードを実行するために使用することはできません。
var file:File = new File("/usr/bin/java");
引数の Vector を使用して、パラメータを使用して Java ファイルに渡すことができます。例えば
var arguments:Vector.<String> = new Vector.<String>;
arguments.push("-jar");
Flerryを使用して、Java プロセスを起動して通信することができます。
両方を使用すると、MerAPI または NativeProcess API を使用して JVM をデバッグできます。AIR2.0 より前は、merapi を使用してネットワーク経由で Java プロセスと通信していました。
私は今、NativeProcess ランチャーを使用したいと思っています。MerAPI を使用して、醜いマーシャリング コードをハッキングしていました。ネットワーク ペイロードのデバッグは、merapi 経由のピンでした。
NativeProcess API の使用は簡単です -
var myForkedExe:NativeProcessStartupInfo = new NativeProcessStartupInfo(); myForkedExe.executable = ; ...
merapiでリモートJavaメソッドを呼び出せないという意味を理解できません。それはまさに私がやってきたことです。デバッグは簡単です。JPDA 引数を設定し、JAVA デバッガーをアタッチするだけです。