环境搭建,见我的上一篇博客windows中NDK环境搭建
http://blog.youkuaiyun.com/far_sight/article/details/9137773
我的电脑环境说明:
说明1:操作系统用的是window xp
说明2:电脑的nkd安装目录是: G:\androidNDKResources\android-ndk-r8b,如图
说明3:在windows中配置了环境变量NDK,值为/cygdrive/g/androidNDKResources/android-ndk-r8b
说明4:cygwin的安装目录为C:\cygwintwo
下面正式开始讲解使用eclipse开发一个NDK的例子,运行项目后会显示出“Hello Guang Rong”
第一步:在eclipse中创建Android 工程,工程名为:HelloGuangRong; 然后在工程目录下创建jni文件夹,再在jni文件夹下面创建两个文件一个是Android.mk,另一个是guangRong.c,如右图所示
修改MainActivity.java文件内容如下
package com.wgr.act;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivityextends Activity {
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText(stringFromJNI());
this.setContentView(tv);
}
publicnative String stringFromJNI();
static {
System.loadLibrary("guangRong");
}
}
guangRong.c的文件内容为:
#include <string.h>
#include <jni.h>
jstring Java_com_wgr_act_MainActivity_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello Guang Rong");
}
Android.mk的文件内容为:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := guangRong
LOCAL_SRC_FILES := guangRong.c
include $(BUILD_SHARED_LIBRARY)
n第二步:从eclipse中复制工程“HelloGuangRong” ,粘贴到NDK安装目录的samples目录下如图
第三步:打开cygwin模拟终端进入工程HelloGuangRong目录,执行命令:$ndk/ndk-build。如下图:
第四步:在eclipse中删除工程HelloGuangRong。 再重新从G:\androidNDKResources\android-ndk-r8b\samples目录中导入HelloGuangRong工程,导入工程后会发现比这前的工程中多了libs与obj两个目录
n第五步:在eclipse中运行项目HelloGuangRong。即可看到
第六步:如果在eclipse的HelloGuangRong工程中修改代码,如把guangRong.c文件的内容修改为下面的内容
#include <string.h>
#include <jni.h>
jstring Java_com_wgr_act_MainActivity_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello Guang Rong!!!!!");
}
修改以后还得重新操作上面的第三步,然后刷新Eclipse中的HelloGuangRong工程。如下图的操作:
刷新了HelloGuangRong工程后,再运行HelloGuangRong工程。就可以看到修改代码后的运行结果,如下图: