开发环境:ubuntu 11.04 +Android NDK r5b + eclipse +ADT0.9.9

android sdk 过程比较简单,这里就不介绍了。

1、下载android-ndk r5b

$wget http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2

2、将下载的ndk解压到某个目录:

$tar -xvf android-ndk-r5b-linux-x86.tar.bz2

3、修改当前用户的.profile,添加PATH

NDK=/home/lql/android-ndk-r5b

export NDK

PATH=$NDK:$PATH

export PATH

然后注销当前用户,重新登录,echo $PATH,看看PATH中有没有包含NDK

4、编写一个简单的例子

在eclipse里面新建一个hello android项目:

public class Hello extends Activity {public native String hello();    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        String hello = hello();                final TextView view = (TextView)findViewById(R.id.view);        view.setText(hello);    }        static{    System.loadLibrary("hello");    }}

5、到项目的bin目录下: 执行:javah -jni com.lql.Hello 会在该目录下生成一个.h文件: com_lql_Hello.h 内容如下:
/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_lql_Hello */#ifndef _Included_com_lql_Hello#define _Included_com_lql_Hello#ifdef __cplusplusextern "C" {#endif/* * Class:     com_lql_Hello * Method:    hello * Signature: ()Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_com_lql_Hello_hello  (JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif

6、在该目录下编写一个com_lql_Hello.c文件,内容如下:
#include <jni.h>#include <string.h>JNIEXPORT jstring JNICALL Java_com_lql_Hello_hello  (JNIEnv *env, jobject thiz){return (*env)->NewStringUTF(env,"Hello JNI");}
7、将com_lql_Hello.c拷贝到jni目录,同时在该目录下新建Android,mk文件,内容如下:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := helloLOCAL_SRC_FILES := com_lql_Hello.cinclude $(BUILD_SHARED_LIBRARY)
8、在终端下编译该项目: $cd hello/jni $ndk-build 结果如下: lql@lql-laptop:~/workspace/hello/jni$ ndk-build Compile thumb : hello <= com_lql_Hello.c SharedLibrary : libhello.so Install : libhello.so => libs/armeabi/libhello.so
9、编译之后,会在hello下面生成libs目录,该目录下包armeabi/libhello.so 在eclipse中刷新项目,然后在模拟器中运行: 会在activity中显示如下内容: Hello JNI
到此,第一个ndk项目完成!

备注: 如果要查看ndk-build命令如何使用,可以参看android-ndk-r5b目录下的documentation.html文件,里面有详细解释相关命令。

更多相关文章

  1. 【翻译】(1)Android(安卓)NDK Overview
  2. 多点触控测试代码 PointerLocation
  3. 安卓NDK的开发
  4. Android在listview添加checkbox实现
  5. FFmpeg交叉编译
  6. Tab游标,实现fragment滑动,,游标改变
  7. 安卓NDK的开发
  8. 2010.10.26———Android(安卓)01
  9. Android在listview添加checkbox实现

随机推荐

  1. android获取视频每一帧
  2. Android(安卓)工厂模式
  3. .net基础初学Android
  4. Android中onSaveInstanceState和onRestor
  5. Android(安卓)官方推荐 : DialogFragment
  6. android系统学习笔记五
  7. 悲剧的Nokia,悲剧的meego,悲剧的N9,悲剧的我
  8. Android(安卓)NFC MifareClassic详解
  9. android 的Layout_weight属性
  10. Android(安卓)Studio 常用功能介绍