谢谢你看看问题.我试图使用JNI接口调用类文件中的java方法.反过来,被调用的类文件应该执行另一个.jar文件,该文件驻留在同一个目录中?我很难实现这一点,但我没有成功执行.jar文件.我的意思是我无法从.jar文件中获得类fuile的结果.
任何人都可以解释一下,是否可以这样做,或者我应该寻找另一种选择?
代码是这样的:
class JNIInterface
{
private:
JavaVMInitArgs vm_args;
JavaVM *jvm;
JNIEnv *env;
long result;
jmethodID mid;
jfieldID fid;
jobject jobj;
jclass cls;
int asize;
char JVMOptionString[20];
char className[20];
char methodName[20];
JavaVMOption options[1];
public:
JNIInterface(char* JVMOptionString)
{
// JavaVMOption options[1];
options[0].optionString = JVMOptionString;
vm_args.options = options;
vm_args.nOptions = 1;
vm_args.version = JNI_VERSION_1_6;
vm_args.ignoreUnrecognized = JNI_FALSE;
}
void setClassName(char* className)
{
result = JNI_CreateJavaVM( &jvm,(void **)&env, &vm_args);
if(result == JNI_ERR )
{
printf("Error invoking the JVM\n");
//return 0;
}
cls = …Run Code Online (Sandbox Code Playgroud)