我正在開發一個使用JNI的Android應用程序。UnsatisfiedLinkError問題
命令javah -jni com.company.tests.MainRenderer
給了我這樣的輸出:
/*
* Class: com_company_tests_MainRenderer
* Method: nativeInit
* Signature:()V
*/
JNIEXPORT void JNICALL Java_com_company_tests_MainRenderer_nativeInit
(JNIEnv *, jclass);
/*
* Class: com_company_tests_MainRenderer
* Method: nativeRender
* Signature:()V
*/
JNIEXPORT void JNICALL Java_com_company_tests_MainRenderer_nativeRender
(JNIEnv *, jclass);
命令nm -Ca libRotateJNI.so
給了我這樣的輸出:
00001c25 T Java_com_company_tests_MainRenderer_nativeInit(_JNIEnv*, _jclass*)
00001c29 T Java_com_company_tests_MainRenderer_nativeRender(_JNIEnv*, _jclass*)
這是如何定義這些函數:
void Java_com_company_tests_MainRenderer_nativeInit(JNIEnv* env, jobject thiz)
{
// ...
}
void Java_com_company_tests_MainRenderer_nativeRender(JNIEnv* env, jobject thiz)
{
// ...
}
而且運行它與此消息:
WARN/dalvikvm(639): No implementation found for native Lcom/company/tests/MainRenderer;.nativeInit()V
我確定庫已加載。你知道我該如何解決這個問題?