我有一个纯本机代码的Android项目。现在,我需要使用第三方jar文件。如何在添加jar文件的情况下构建项目?
此处, FindClass 返回NULL,因为我的jar文件未添加到JavaVM中。
ANativeActivity *activity = __state->activity;
JavaVM *jvm = __state->activity->vm;
JNIEnv *env = NULL;
jvm->GetEnv((void**)&env, JNI_VERSION_1_6);
jint res = jvm->AttachCurrentThread(&env, NULL);
jclass cls = env->FindClass("MyJavaClass"); //cls is NULL
jvm->DetachCurrentThread();
我尝试创建另一个jvm,但在Android中不支持。虽然即使它得到支持也不是一个好主意。
JavaVMInitArgs vm_args;
JavaVMOption* options = new JavaVMOption[1];
std::string str = "-Djava.class.path=res/test.jar"; //Add the jar in jvm
options[0].optionString = (char*)str.c_str();
vm_args.version = JNI_VERSION_1_6;
vm_args.nOptions = 1;
vm_args.options = options;
vm_args.ignoreUnrecognized = false;
JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
如何正确添加我的jar?我猜测Android.mk文件,但我不知道是什么或如何。