4
我正在使用android並嘗試在我的應用中使用一些本機代碼。android ndk jni沒有實現發現錯誤
這裏是應用程序代碼的骨架:
package A.B;
/*
import statements
*/
public class C extends Activity{
public void onCreate(...){
....
foo();
....
}
public int foo(){
.....
data(a, b);
.....
}
public int data(a, b){
GetValues(a, b);
}
static{
System.loadLibrary("baz");
}
public native int GetValues(int[] a, int b);
}
本地方法簽名是這樣的:
JNIEXPORT jint JNICALL
Java_A_B_C_GetValues(JNIEnv *env, jobject obj, jintArray arr, jint b){
....
....
}
在運行logcat的顯示出來: W/dalvikvm(799):本地LA/B/C未找到實現; .GetValues([IJ)I
ndk文檔沒有嚴格提及創建頭文件,所以我沒有一個
項的android.mk文件的內容:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := baz
LOCAL_SRC_FILES := baz.cpp
include $(BUILD_SHARED_LIBRARY)
在此先感謝。
是的,我試過了,錯誤消失了。謝謝。 – jayant
@jayant http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – jogabonito