1、Android.mk实现:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloNDK
LOCAL_SRC_FILES := com_example_hellondk_Jni.c
include $(BUILD_SHARED_LIBRARY)
2、Application.mk实现:
APP_PROJECT_PATH := $(call my-dir)/project
APP_MODULES := HelloNDK
3、编译.so文件。打开Cygwin,进入代码的根目录,之下$NDK/ndk-build命令:
4、查看工程目录下的lib文件夹:
5、在java工程中就如下代码,调用动态库"libHelloNDK.so",并调用本地原生方法来取得C\C++数据,并显示在一个textview中:
package com.example.hellondk;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
static {
System.loadLibrary("HelloNDK");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
Jni jni = new Jni();
tv.setText(jni.getCString() + jni.getCint());
setContentView(tv);
}
}
6、运行程序,如下图所示,编译成功: