http://yueguc.iteye.com/blog/494016 下载NDK
http://cygwin.com/install.html 下载cygwin
安装cygwin
安装完成以后 运行cygwin 输入make -v gcc-v检查cygwin是否安装成功
下载NDK
http://cygwin.com/install.html 下载cygwin
安装cygwin
安装完成以后 运行cygwin 输入make -v gcc-v检查cygwin是否安装成功 如下图所示


如果安装成功在cygwin的安装目录里找到/home/username下的.bash_profile文件,用UE打开
在文件末尾加上
NDKROOT=/cygdrive/+"ndk的安装路径"(即下载的ndk解压的位置)
exprort NDKROOT
配置成功后重启cygwin,进入NDKROOT目录(cd $NDKROOT) 运行build/host-setup.sh 查看安装配置情况

如果看到这个画面,则win下ndk开发环境配置完成。

(2)建立测试NDK项目

在ndk安装目录下的apps新建一个目录为testNDK,然后用eclipse新建一个android项目,项目的location指向新建的testNDK目录,

1.新建一个类,里面有native方法

MyJNI
1 package cn.test.testNDK;
2
3
4  public class MyJNI {
5  public native String getCString();
6 }

2.运行cygwin,进入项目bin目录,运行javah -jni cn.test.testNDK.MyJNI,生成cn_test_testNDK_MyJNI.h

3.在项目中新建jni目录,把cn_test_testNDK_MyJNI.h拷贝到jni目录里面

4.在jni目录里建立cn_test_testNDK_MyJNI.c文件

View Code
#include <stdio.h>
#include
<stdlib.h>
#include
<cn_test_testNDK_MyJNI.h>
JNIEXPORT jstring JNICALL Java_cn_test_testNDK_MyJNI_getCString
(JNIEnv
*env, jobject thiz){
(
*env)->NewStringUTF(env,"HelloNDK----------HelloWorld");
}

5.建立Android.mk文件

View Code
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE :
= TestNDK
LOCAL_SRC_FILES :
= cn_test_testNDK_MyJNI.c

include $(BUILD_SHARED_LIBRARY)

6.在TestNDK目录里建立application.mk文件

View Code
APP_PROJECT_PATH := $(call my-dir)/project
APP_MODULES :
= TestNDK

运行cygwin,进入NDKROOT目录,运行make APP=TestNDK

生产so文件。

在android中的activity中使用so

View Code
package cn.test.testNDK;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {
static{
System.loadLibrary(
"TestNDK");
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView view
= new TextView(this);
MyJNI j
= new MyJNI();
view.setText(j.getCString());
this.setContentView(view);
}
}

运行android application