开发环境: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. android ndk开发-环境搭建(1)
  3. 多点触控测试代码 PointerLocation
  4. 安卓NDK的开发
  5. Android在listview添加checkbox实现
  6. FFmpeg交叉编译
  7. Tab游标,实现fragment滑动,,游标改变
  8. 安卓NDK的开发
  9. 2010.10.26———Android(安卓)01

随机推荐

  1. php redis setnx分布式锁简单原理解析
  2. PHP如何通过带尾指针的链表实现'队列'
  3. 数据库学习小结
  4. CURD 操作,PDO 本质\原理,使用预处理的
  5. JetBrains激活码 | 2022 JetBrains系列ID
  6. 同为博客,不同风格 ——Hexo另类搭建
  7. 怎么P身份证内容教学,模糊身份证怎么P成清
  8. css基础-选择器、权重、伪类选择器
  9. ThinkPhp6.0引入JWT进行token验证
  10. 仿php中文网首页