Android:Windows 下搭建NDK-JNI开发环境

原创 2013年12月05日 23:27:50

http://down.51cto.com/data/1033886 原版的doc文档我上传到了51CTO

Step 1:下载NDK r9

直接在Android Develop官网上下载NDK r9版本(如果无法登陆官网可以考虑使用自由门代理软件),解压缩后然后再环境变量中添加进去。此版本的优势是内部集成了ndk-build,可以作为替代原来的庞杂的cygwin来对native method进行编译。

 部分我也放到了自己的网盘上:

http://yunpan.cn/QDjUeXchBRUHK


android-ndk-r9-windows-x86_64.zip

android-ndk-r8e-windows-x86_64.zip

android-ndk-r8e-windows-x86.zip

android-ndk-1.6_r1-windows.zip


Step 2:新建Android工程

新建一个类JniInterface,并在其中声明native method

 

Step 3:编辑生成Class文件

 

使用命令行进入JniInterface.java这个类的目录下,并使用javac JniInterface.java这个命令生成类对应的class文件。

Step 4:生成.h头文件

将我们新生成的.class文件复制到bin文件对应的目录下,这里就是对应的包的目录下。:

 

然后cd命令回到/bin/classes这个目录下,使用javah -jni com.wxyyx.jnidemo.JniInterface这个命令编辑生成头文件。

命令格式:javah -jni 包名+类名

 

生成的头文件内容:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include <jni.h>

/* Header for class com_wxyyx_jnidemo_JniInterface */

#ifndef _Included_com_wxyyx_jnidemo_JniInterface

#define _Included_com_wxyyx_jnidemo_JniInterface

#ifdef __cplusplus

extern "C" {

#endif

/*

 * Class:     com_wxyyx_jnidemo_JniInterface

 * Method:    IntFromJNI

 * Signature: ()I

 */

JNIEXPORT jint JNICALL Java_com_wxyyx_jnidemo_JniInterface_IntFromJNI

  (JNIEnv *, jobject);

/*

 * Class:     com_wxyyx_jnidemo_JniInterface

 * Method:    StringFromJNI

 * Signature: ()Ljava/lang/String;

 */

JNIEXPORT jstring JNICALL Java_com_wxyyx_jnidemo_JniInterface_StringFromJNI

  (JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

Step 5:编辑.c文件

将刚才生成的头文件复制到项目的jni目录下(没有则新建一个jni目录):

 

新建一个.c文档并将.h头文件包含进去:

 

Step 5:编辑Android.mk文件

Android.mkJNImakefile文件,基本语法如下:

LOCAL_PATH :$(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := JniInterface

LOCAL_SRC_FILES := com_wxyyx_jnidemo_JniInterface.c

include $(BUILD_SHARED_LIBRARY)

最简单的只要指定生成的库名称与调用的头文件就可以了。

Step 6:编译

 

进入到工程的根目录下使用ndk-build命令,就生成了libJniInterface.so文件。

Step 7:调用Native Method

这里的虚拟机推荐使用genymotion,但是不要使用Nexus one这个型号的机器。

JniInterface.class中添加一句声明:

static {

System.loadLibrary("JniInterface");

}

这边的库的名字不要lib也不要.so这些前缀与后缀。

MainActivity中定义如下:

 

结果就是:

 

相关文章推荐

Android初识JNI-搭建NDK开发环境

在使用Jni之前,我们先了解一下: 1:什么是JNI 2:为什么要用JNI, 3:JNI的相关配置。 4:在android中使用JNI 那么问题来了: JNI:从Java1.1开始,Java Nati...

android Jni NDK开发环境搭建及其简单实例的编写

android  jni-ndk开发, 环境搭建:http://blog.csdn.net/nxh_love/article/details/30993255 实例参考文章:http://...
  • rong_wz
  • rong_wz
  • 2015年03月22日 13:45
  • 427

【android开发记录片】2.基于Eclipse的JNI开发环境的搭建(cygwin+NDK)

(很久没有更新android方面的文章,其实最大的原因是没有油水可以更新了=.=) 好,步入正题。 今天在新电脑上搭建android开发环境。 因为已经有了SDK,我将SDK解压到相关目...

Android Studio JNI/NDK 编程(二) Windows 下环境搭建 demo 开发

环境 windows 8  (注:其实 Linux 开发可能更方便) Android Studio 2.1; 一 . 下载 安装android-ndk开发包      地址:链接:http...

windows 下搭建android NDK开发环境

windows 下搭建android NDK开发环境   参考自: http://ygc87.blog.163.com/blog/static/23960652011755171688/ htt...

Android NDK开发环境搭建(Windows7平台) .

步骤一:下载并安装NDK 首先,前往从网站http://developer.android.com/sdk/ndk/index.html 获取Windows 平台的最新的Android NDK 套件...

Windows下Android+NDK开发环境搭建

一、Android开发环境搭建 1、安装JDK。     (1)简介:JDK,即Java Development Kit,是Java语言的软件开发工具包。JRE,即Java Runtime E...
  • zxh2075
  • zxh2075
  • 2015年05月30日 08:09
  • 379

Windows 7 64下android NDK开发环境的搭建与配置

a..前期准备 1.操作系统的xuanze

Android NDK:①开发环境的搭建(Windows下Eclipse无cygwin)

如题:Android NDK:①开发环境的搭建(Windows下Eclipse无cygwin)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android:Windows 下搭建NDK-JNI开发环境
举报原因:
原因补充:

(最多只允许输入30个字)