jay*_*ant 4 java-native-interface android android-ndk
我正在使用android并试图在我的应用程序中使用一些本机代码.
这是应用程序代码的框架:
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);
}
Run Code Online (Sandbox Code Playgroud)
本机方法签名如下:
JNIEXPORT jint JNICALL
Java_A_B_C_GetValues(JNIEnv *env, jobject obj, jintArray arr, jint b){
....
....
}
Run Code Online (Sandbox Code Playgroud)
运行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)
Run Code Online (Sandbox Code Playgroud)
提前致谢.
| 归档时间: |
|
| 查看次数: |
8391 次 |
| 最近记录: |