Reputation: 169
I've been trying to call the main method of a class and pass it some arguments.
My code is as below:
args = (*env)->NewObjectArray(env, 2, myClass, NULL);
arg1 = (*env)->NewStringUTF(env, "Hello");
arg2 = (*env)->NewStringUTF(env, World!");
(*env)->SetObjectArrayElement(env, args, 0, arg1);
(*env)->SetObjectArrayElement(env, args, 1, arg2);
(*env)->CallStaticVoidMethod(env, myClass, mainMethod, args);
But it seems that it doesn't work.
When I print the args
array in the java code it prints null.
Upvotes: 1
Views: 346
Reputation: 2173
You're creating an Array of "myClass" instead of String
stringClass = (*env)->FindClass(env, "java/lang/String");
args = (*env)->NewObjectArray(env, 2, stringClass, NULL);
Upvotes: 1