0

我有一个纯本机代码的 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);

如何正确添加我的罐子?我在 Android.mk 文件中猜测,但我不知道是什么或如何。

4

0 回答 0