首发地址:http://www.eoeandroid.com/thread-201993-1-1.html 一、 工程创建 1. 创建一个Android工程 配置好开发环境并加载好对应版本sdk后,选择菜单File->New-> Project创建工程,工程类型选择Android Project,如下图所示:

Android NDK工程创建与编译运行_第1张图片

点击next,在工程属性选项里面填入你所希望的工程名、使用的Android SDK版本、应用程序名称、包名、Activity类名等信息,然后点击Finish按钮完成创建。 1. 添加NDK需要的文件夹与文件 在工程文件夹下创建新的文件夹jni,并在jni文件夹下作为C源文件的文件,完成后工程目录示例如下:

如下图所示:

Android NDK工程创建与编译运行_第2张图片

二、 NDK 部分 1. 编写C语言程序 NDK开发所使用的C或者CPP文件一般放置于jnc目录下,文件需要包含jni.h头文件以提供JNI相关支持,所编写的程序必须符合JNI调用接口规范。详见《JNI使用规范》。 2. mk文件添加 在jni目录下添加Android.mk文件,文件类容如下: 其中,LOCAL_PATH语句指定了编译路径;LOCAL_MODULE指定了编译生成的共享库的名称,LOCAL_SRC_FILES语句制定了编译文件名。

Android NDK工程创建与编译运行_第3张图片

3.生成so共享库 打开Cygwin程序,进入工程JNI文件夹,然后执行NDK文件夹下的ndk-build文件,生成共享库。

Android NDK工程创建与编译运行_第4张图片

编译成功完成后,可以在工程libs/armeabi文件夹下看到生成的共享库,目录示例如下:

Android NDK工程创建与编译运行_第5张图片

至此, 共享库部分完成。

三、 JAVA 部分 1. 添加类的本地接口 在类的实现中添加函数接口,接口声明native表明其实现使用的是共享库方式,并加载对应的共享库。

2. mk文件添加

在jni目录下添加Android.mk文件,文件类容如下:

2. 调用本地接口 调用本地接口的方式与调用其他接口方式并无区别,示例得到的结果如下:

Android NDK工程创建与编译运行_第6张图片

源码: NDKDemo.rar

更多相关文章

  1. Android 如何在XML文件中定义动画
  2. Android 资源文件中的符号含义与说明: @ ?
  3. android 读取properties文件
  4. android 扫描SD卡与系统文件(转)
  5. 导入Android自带Sample工程出错解决(Error retrieving parent fo

随机推荐

  1. 解决Glide4.0和圆角裁剪CenterCrop冲突
  2. Ice Cream Sandwich系统将统一Android版
  3. Android(安卓)Build及相关类
  4. android webview 使用js加载json文件失败
  5. 让背景小图不是拉伸而是多个重复
  6. Android下相机的调用
  7. 如何使Android应用程序获取系统权限
  8. android sdk 下载缓慢的问题
  9. android 设置 button 不同状态的图片
  10. 解决问题:Could not find method android(