return
false
;
}
//
启动方法
jmethodID mid = env->GetStaticMethodID(serviceClass, szStartMethod , "([Ljava/lang/Stri
ng;)V");
if
(env->ExceptionCheck() == JNI_TRUE || mid == NULL)
{
env->ExceptionDescribe();
env->ExceptionClear();
FreeLibrary(jvmDll);
printf("
查找启动方法失败。
");
return
false
;
}
//
查找
String
类。
jclass stringClass = env->FindClass("java/lang/String");
if
(env->ExceptionCheck() == JNI_TRUE || stringClass == NULL)
{
env->ExceptionDescribe();
env->ExceptionClear();
FreeLibrary(jvmDll);
printf("
查找
String
类失败。
");
return
false
;
}
jstring jstr;
jobjectArray args = 0;
args = env->NewObjectArray(2, stringClass, 0);
for
(
int
i=0; i<nParamCount; i++)
{
jstr = env->NewStringUTF(szParams[i]);
if
(jstr == 0)
{
printf("
分配
String
失败
");
if
(env->ExceptionOccurred())
{
env->ExceptionDescribe();
env->ExceptionClear();
}
return
false
;
}
env->SetObjectArrayElement(args, i, jstr);
if
(env->ExceptionCheck() == JNI_TRUE)
{
printf("
设置参数失败
");
if
(env->ExceptionOccurred())
{
env->ExceptionDescribe();
env->ExceptionClear();
}
return
false
;