可能重复:
How do I load my own Java class in C on Android?
在Android中,我访问的是一个本机C库,方法是:
System.loadLibrary("testlib");加载本机库。在JNI_OnLoad()函数中,它试图找到一个Java代码类:
JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {
JNIEnv *env;
jclass k;
jint r;
r = vm->GetEnv ((void **) &env, JNI_VERSION_1_4);
k = env->FindClass ("com/test/android/aclass");FindClass()失败,并引发NoClassDefFoundError异常。知道为什么我不能从C代码中看到我的Java类吗?
我在另一个测试应用程序中使用相同的库,它可以工作(因此我确信库可以工作)。我不明白为什么一个应用程序可以找到java类,而另一个应用程序却找不到。
发布于 2012-04-20 02:34:06
找到答案了。
我的提示是,如果我在eclipse中运行它,并且只有在我创建.apk文件时才会出现这个问题,它就会运行得很好。
https://stackoverflow.com/questions/10203140
复制相似问题