0

有谁知道如何通过 jni 启动 Equinox ?我能够使用 JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); 调用 jvm 我得到了 org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar 的主类。现在如何将启动器参数传递给Equinox启动器?我试图这样做......我应该将参数传递给哪个方法?我试图为跑步做这件事...... 我得到一个返回码 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

除了字符数组转换之外,我所做的一切都是正确的。WCHAR 到我创建的 jobjectarray 传递了一些垃圾字符,因此出现了问题......所以吸取了教训:当心您通过 jni 传递的数据。如果可以的话,请仔细检查两边..

于 2013-03-23T13:44:22.913 回答