0

jni を介して分点を起動する方法を知っている人はいますか? JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); を使用して jvm を呼び出すことができました。org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar のメインクラスを取得しました。ランチャーの引数を equinox launcher に渡す方法は?私はこのようにしようとしていました...どのメソッドに引数を渡す必要がありますか? 私は実行のためにそれをやろうとしていた.. . リターン コード 13 が返されて起動しません...何が問題なのですか?

if(mainObject != NULL) {
                runMethod =  env->GetMethodID( mainClass, "run", "([Ljava/lang/String;)I");
                if(runMethod != NULL) {
                    methodArgs =  createRunArgs(env, equinoxArg2s);
                    if(methodArgs != NULL) {
                        //results->launchResult = 0;
                         runresult = env->CallIntMethod(mainObject, runMethod, methodArgs);
                        env->DeleteLocalRef(methodArgs);
4

1 に答える 1

0

文字配列の変換以外はすべて正しく行っています。私が作成したjobjectarrayへのWCHARは、いくつかのジャンク文字を渡していたため、問題が発生しました...だから学んだ教訓:jniを介して渡すデータに注意してください。可能であれば、両側をダブルチェックしてください..

于 2013-03-23T13:44:22.913 に答える