`
kingj
  • 浏览: 425771 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

android windows下ndk配置

 
阅读更多

Windows平台下如何使用Android NDK
2011年12月08日 星期四 下午 1:11

鉴于有些同学想要学习NDK,但在网上很难找到一个讲解比较清楚、按照步骤操作可以比较顺利学会NDK的文章,所以写了此篇教程。

一.学习本篇教程需要具备的条件:

1. 了解JAVA中JNI的概念、好处以及使用方法,网上很多介绍,这里就不重复了。

2. 你的电脑配置好了Android应用开发环境,即:JAVA、Eclipse、ADT和Android SDK。

二.准备

需要Android NDK和windows下c、c++代码的编译器cygwin

android-ndk-r6-windows.zip下载地址:http://u.115.com/file/clvyxr0b

cygwin下载地址:http://u.115.com/file/clvy46eb

三.配置

1. 解压缩NDK和cygwin,并配置cygwin的环境变量。

例如:我解压缩到D盘根目录,那么在环境变量的path中添加:”D:\cytwin\bin;”,

如下图所示。

2. 在命令行中进入cygwin目录,并执行cygwin.bat,如果你不是用Administrator账号登录的系统,那么会在cygwin\home\文件夹中生成一个以你的登录名命名的新的文件夹。

3. 修改新生成文件夹中的“.bash_profile ”文件,用UE或editplus等文本编辑器打开,在最后增加:

NDK=/cygdrive/d/android-ndk-r6

export NDK

然后保存关闭。

d/android-ndk-r6表示ndk在d盘,如果你的ndk放到了其他盘符或路径,例如放到e:\sdk目录中,那么就改为e/sdk/android-ndk-r6。

(如果是Administrator账号登录,直接修改Administrator文件夹中的文件。)

四.开始使用

1.在命令行窗口中进入cygwin目录,执行cygwin.bat

2.进入android-ndk中的samples文件夹里的某个项目文件夹,这里以hello-jni为例

进入文件夹的方式与MS-DOS类似,用cd + 空格 + 盘符+ 路径即可,例子见下图

3.执行$NDK/ndk-build编译

4.例子编译成功后导入Eclipse中,编译并部署测试如图:

五.如何在自己的工程中使用NDK

Android-ndk中的例子大家会编译了,那么在自己现有的工程想要调用本地方法应该怎么做呢?

1.在JAVA代码中声明native方法,

2.生成头文件

然后需要生成C或C++的源码,供JAVA调用。

可以按照JNI的命名规则,也可以使用JDK的javah命令来生成,这里推荐使用javah,避免手动编写出现错误不好排查。

javah命令的使用方法见javah命令的帮助

这里以我的测试工程为例,编写好native方法后,编译工程,eclipse会在bin目录生成.class文件,在命令行中进入bin目录,执行javah + 包名 + 类名,会在bin目录下生成一个头文件。

这个文件就是JAVA与本地代码交互的接口了,做C或C++的开发人员针对这个头文件开发。

3. 编写本地方法

在你的工程根目录下创建jni文件夹,并从android-ndk\samples里的hello-jni文件夹中拷贝出一个Android.mk文件,粘贴到jni文件夹中,同时刚才用javah生成的.h头文件拷贝到jni文件夹中。

首先创建一个.c文件,实现头文件中的方法,

然后编辑Android.mk文件,修改如下两行,第一行修改为你的工程名,第二行修改为你的.c或.cpp文件名

LOCAL_MODULE := EX25_JNI

LOCAL_SRC_FILES := org_yuchen_demo_MainActivity.c

4.在java代码中加载so文件

在java代码中用静态块加载so文件,注意把so文件的“lib”和“.so”扩展名去掉。

5.使用本地方法

接下来在java中可以调用本地方法进行测试了。按照前面讲解的方法编译,打包部署测试,截图如下:

分享到:
评论

相关推荐

    Android NDK环境配置

    Android NDK环境配置是Android应用开发中的一个重要环节,它允许开发者使用C或C++编写高性能的原生代码,这些代码可以被编译成动态库并与Java应用一同打包成APK。NDK集成了交叉编译器,使得开发者能够针对不同的CPU...

    android-ndk(android-ndk-r25b-windows.zip)

    这个压缩包“android-ndk-r25b-windows.zip”包含了NDK的第25个版本,专为Windows操作系统设计。NDK的主要功能是让开发者能够在Android应用中使用原生代码,例如C、C++,以实现高性能计算或利用硬件加速等功能。 **...

    Mac下的AndroidStudio的NDK配置及开发示例

    本教程将详细讲解如何在Mac环境下配置Android Studio的NDK,并通过一个实际的开发示例来加深理解。 一、安装NDK 1. 首先,确保你已经安装了最新版本的Android Studio。如果没有,可以从Google的官方网站下载并安装...

    windows下androidNDK环境配置

    Windows下Android NDK环境配置 一、什么是NDK? NDK(Native Development Kit)是一款提供了一系列工具帮助开发者快速开发C(或C++)动态库,并能自动将.so和Java应用一起打包成apk的开发工具。这些工具对开发者的...

    非常强大的eclipse中android ndk开发环境的配置说明

    ### 非常强大的Eclipse中Android NDK开发环境的配置说明 #### 一、概述 本文档将详细介绍如何在Eclipse中配置Android NDK开发环境,并实现C/C++代码的自动编译以及通过Eclipse使用Ant生成JNI所需的头文件。配置流程...

    android-ndk(android-ndk-r25b-linux.zip)

    此外,Linux下的开发环境设置,如编译器配置、交叉编译等,也需要熟悉。 总结来说,Android NDK是Android开发中的重要组成部分,尤其对于需要高性能计算或者复用C/C++代码的应用场景,它的使用能够极大地提升开发...

    android-ndk-r23-windows.zip

    在Windows环境下,安装和配置Android NDK R23涉及以下步骤: 1. **下载与解压**:从官方渠道获取“android-ndk-r23-windows.zip”,解压缩至指定目录。 2. **配置环境变量**:将NDK的路径添加到系统的PATH环境变量...

    android-ndk-r20b-windows-x86_64.zip

    本文将深入探讨Android NDK R20B版本,特别是其在64位Windows环境下的应用,以及如何与cygwin、FFmpeg等工具协同工作,实现视频编辑功能的动态库编译。 Android NDK是Google提供的一个开源工具集,它允许开发者在不...

    android-ndk-r18b-windows-x86_64.zip

    标题中的“android-ndk-r18b-windows-x86_64.zip”表明这是一个适用于Windows 64位系统的Android NDK版本,具体为R18B更新。 在Android应用开发中,NDK的主要用途包括: 1. **性能优化**:对于计算密集型或图形...

    Android中的NDK配置文档

    3. 安装Cygwin:在Windows环境下,由于NDK需要一些Unix-like环境,所以推荐使用Cygwin模拟这种环境,安装时需要选择与NDK相关的工具链包,如make、gcc等。 三、下载与安装NDK 1. 下载NDK:访问Google官方的Android...

    android-ndk-r19c-windows-x86_64.zip

    本文将详细介绍如何在Windows系统上搭建QT for Android的开发环境,特别关注于使用NDK r19c这一特定版本。 首先,我们需要理解NDK的核心作用。NDK是Google提供的一套工具集,允许开发者在Android应用中使用C和C++...

    windows下eclipse集成cygwin编译android_NDK

    ### Windows 下 Eclipse 集成 Cygwin 编译 Android NDK 在 Windows 环境下使用 Eclipse 开发 Android 应用时,如果需要利用 C 或 C++ 的功能,通常会涉及到 Android NDK 的使用。为了更好地整合开发流程,可以将 ...

    windows下android NDK环境的搭建

    Windows环境下搭建Android NDK环境是为了在Android应用开发中使用C和C++代码,生成.so动态库。这个过程涉及到多个步骤,包括安装和配置SDK、NDK、Eclipse、Cygwin等工具。 1. **SDK、NDK、Eclipse的安装** - ...

    android-ndk(android-ndk-r26b-linux.zip)

    10. **多平台兼容性**:尽管这个版本是针对Linux的,NDK也提供了Windows和macOS的版本,确保跨平台的开发环境一致性。 在实际开发中,开发者需要了解如何配置NDK环境,创建和管理本地模块,以及如何处理多架构支持...

    android-ndk-r16b-windows-x86_64.zip

    "android-ndk-r16b-windows-x86_64.zip" 是NDK的第16个版本,特别为Windows 64位操作系统设计。 在Android应用开发中,通常我们使用Java或Kotlin编写大部分代码,但由于这些语言运行在Dalvik或ART虚拟机上,它们的...

    android-ndk-r13b-windows-x86_64

    1. **安装配置**:下载并解压`android-ndk-r13b-windows-x86_64.zip`,设置环境变量,确保系统能够找到NDK的路径。 2. **创建项目**:在Android Studio中创建一个新的Android项目,并启用“Native C++ support”。 ...

    android-ndk-r8dab.zip_NDK_android_android ndk

    1. **ndk-build.cmd**: 这是一个批处理脚本,用于Windows环境下运行,它调用了NDK的构建系统来编译和链接本地源代码。开发者可以自定义Makefile文件来配置构建过程。 2. **GNUmakefile**: GNUmakefile是NDK构建系统...

    windows_NDK搭建Android开发环境

    【Android开发环境搭建】在Windows环境下,搭建Android开发环境主要涉及以下几个步骤: 1. **安装JDK**:首先需要安装Java Development Kit,它是编写Android应用的基础,因为Android Studio和NDK都需要Java环境...

Global site tag (gtag.js) - Google Analytics