2013-03-23 3 views
0

Кто-нибудь знает, как запустить равноденствие через jni? Я смог вызвать jvm с помощью JNI_CreateJavaVM (& jvm, (void **) & env, & vm_args); Я получил основной класс org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar. Теперь, как передать аргументы пусковой установки в пусковую установку для равноденствия? Я пытался сделать этот путь ... Какому методу я должен передавать аргументы? Я пытался сделать это для бега .... Я получаю код возврата 13 и его не запускает ... что может быть проблемой?equinox launcher jni

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); 

ответ

0

Я делаю все правильно, кроме преобразования массива символов. WCHAR to jobjectarray, который я создал, передавал некоторые барахлы, поэтому проблема ... Итак, извлеченный урок: остерегайтесь данных, которые вы передаете jni. Сделайте двойную проверку на eithersides, если можете ..

Смежные вопросы