使用Eclipse开发DNK,个人感觉更加的友好、容易。因此在Eclipse下搭建了一个NDK开发环境和开发流程。

一般的,首先要搭建Android开发环境,eclipse + jdk + adt + sdk 即可。

这里重点讲解ndk开发开发流程。我使用的是android-ndk-r14b开发包。到网上下载 NDK,解压即可。

配置ndk环境

操作流程:window ----->preferences------>Android------>NDK 然后将刚刚解压的ndk下的build导进来即可。

NDK开发流程

1)、新建Android项目 2)、创建类,编写本地方法

3)、使用javah命令生成.h头文件。项目右键--->Android Tools------->add native support。这样就可以生成jni目录,将生成的头文件放到jni目录下。

4)、Android.mk文件配置so库名。

5)、我们看到头文件会出现错误,需要导入jni.h等头文件

项目右键---->properties----->C/C++ Gerneral------>Paths and Symbols 添加入需要的头文件。

将上图所示的ndk下的路径add进来。

这样就可以了,在目录下包含一个includes目录。

6)、实现头文件中定义的函数

7)、build project编译生成.so动态库

8)、加载动态库

9)、调用本地方法

10)、运行结果

以上就是eclipse下的ndk开发流程。


给出各文件内容

MainActivity

private TextView mTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTextView = (TextView)this.findViewById(R.id.mytext);mTextView.setText(NDKTest.getStrFromJNI());}
复制代码

NDKTest

public class NDKTest {public native static String getStrFromJNI();static{System.loadLibrary("myndk");}}
复制代码

com_example_ndkfile_NDKTest.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_ndkfile_NDKTest */#ifndef _Included_com_example_ndkfile_NDKTest
#define _Included_com_example_ndkfile_NDKTest
#ifdef __cplusplus
extern "C" {
#endif
/** Class:     com_example_ndkfile_NDKTest* Method:    getStrFromJNI* Signature: ()Ljava/lang/String;*/
JNIEXPORT jstring JNICALL Java_com_example_ndkfile_NDKTest_getStrFromJNI(JNIEnv *, jclass);#ifdef __cplusplus
}
#endif
#endif
复制代码

myndk.c

#include "com_example_ndkfile_NDKTest.h"
#include <jni.h>JNIEXPORT jstring JNICALL Java_com_example_ndkfile_NDKTest_getStrFromJNI(JNIEnv *env, jclass jcls){return (*env)->NewStringUTF(env,"hello formjni");
}复制代码

Android.mk

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := myndk
LOCAL_SRC_FILES := myndk.cinclude $(BUILD_SHARED_LIBRARY)复制代码

Eclipse下搭建Android的NDK开发环境相关推荐

  1. ubuntu20.04下搭建android 8.1开发环境

    ubuntu20.04下搭建android 8.1开发环境 代码下载 解压代码 安装工具 编译代码 总结 最近主动失业,在家无聊,想搞块开发板玩玩android 9.0系统,但最后只在闲鱼上入了块fi ...

  2. eclipse下搭建SWT图形界面开发环境

    什么是SWT 参考:http://www.cppblog.com/baby-fly/archive/2009/10/20/99008.html 用java的人一定都知道AWT和Swing,而SWT(S ...

  3. 从零开始搭建Ubuntu 环境下的Android 源码开发环境

    本文从一个干净的Ubuntu 10.04 操作系统出发,一步一步引导你搭建自己的基于eclipse IDE 的Android源码开发环境. 正文会包含一下这些内容: 获得源码 编译源码准备工作 编译工 ...

  4. geany配置python_Linux系统下搭建基于Geany+Python开发环境

    Linux系统下搭建基于Geany+Python开发环境 一.升级python mkdir /usr/local/python3 # tar xvf Python-3.6.1.tar.xz # 解压文 ...

  5. win7下搭建nginx+php的开发环境

    win7下搭建nginx+php的开发环境,需要的朋友可以参考下 一.下载相关软件 nginx下载:http://nginx.org/en/download.html nginx常见异常:http:/ ...

  6. linux 搭建开发stm32 stlink,Ubuntu下搭建stm32+stlink的开发环境

    Ubuntu下搭建stm32+stlink的开发环境 热度 3已有 15960 次阅读2014-8-19 21:09 | 上周因为忙于别的事情,很久没切到ubuntu下了,这周继续弄了弄. 弄到了一些 ...

  7. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2; MySQL Server 5 ...

  8. Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

    关注公众号 风色年代(itfantasycc) 领 500G Java 微服务 开发资料 Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换_Linux教程_Linux公社-L ...

  9. linux下swift编程教程视频教程,Ubuntu 14.04下搭建 Swift 3.0 开发环境教学视频+PPT

    分享Ubuntu 14.04下搭建 Swift 3.0 开发环境教学视频+PPT. Linux版本:Ubuntu: 14.04 LTS Swift: 3.0 到https://swift.org/do ...

  10. linux下geany配置python_Linux系统下搭建基于Geany+Python开发环境

    Linux系统下搭建基于Geany+Python开发环境 一.升级python mkdir /usr/local/python3 # tar xvf Python-3.6.1.tar.xz  # 解压 ...

最新文章

  1. 第20章 使用LNMP架构部署动态网站环境
  2. Jerry眼中的SAP客户数据模型
  3. C语言程序设计50例(一)(经典收藏)
  4. 在DevExpress中使用CameraControl控件进行摄像头图像采集
  5. CentOS 5.10安装Oracle 11G R2
  6. 【视图】ABAP Views
  7. ITK:多相Chan和Vese稀疏场水平集分割
  8. 5G通信的一些关键技术
  9. cygwin sshd服务启动不了的解决方案(转)
  10. cassandra学习笔记三
  11. fill()和fill()_n函数还有memset()函数的比较
  12. NetAssist网络调试助手,学习网络编程第一步
  13. 安装系统显示sql服务器未安装,win7系统安装SQLServer2005提示“SQL Server服务无法启动”的解决方法...
  14. html5 语音直播,一种基于HTML5浏览器的音视频直播方法与流程
  15. iPad最新型笔刷,足足五种分类,几百款
  16. Xshell 如何导入 PuTTYgen 生成的 key
  17. 计算机导论应该学什么,《计算机导论A》教学大纲(计算机类)
  18. windows下sourceTree解决url无效问题
  19. K650c + Ubuntu 15.04无法正常关机,重启
  20. android ssl双向验证 X509证书信任管理器类的实现及应用

热门文章

  1. 原创engine中地块的自动编号函数
  2. 数学归纳法证明求和公式
  3. 水往地处流,人往地处走
  4. java 跟 咖啡的关系
  5. cf1063A Oh Those Palindromes (贪心)
  6. 添加css单词换行连字符
  7. 从字符串数组中把数字的元素找出来
  8. System.Windows.Forms.Application.DoEvents();
  9. 【SPL标准库专题(3)】 Classes
  10. 【Discuz系列教程2】论坛入口forum.php