`
GOVO
  • 浏览: 3483 次
社区版块
存档分类
最新评论

Android NDK r9的配置与使用

 
阅读更多

Android NDK 配置:

 

网上有很多教程,但大部分是旧版本的内容,最新版本的已经改变,为了让大家少走弯路,在这里针对r9的配置进行记录分享。

 

要玩NDK,你或多或少要用到以下一些东西,所以先做一下准备

  1. 有关Eclipse下的Android与NDK配置,请网上搜,不再描述,不用Eclipse的同学请忽略。简单提示一下:网上凡是用Help>Install New Software的方法基本正确;
  2. 有关NDK的下载,当然是google官方的,搜索Android NDK即可,我都懒得贴出地址了;
  3. 如果在Windows下,会用到Cygwin,模拟Linux/Unix/Mac命令行,不管你爱不爱,必须下载安装,地址我也懒得贴出了。方法也是网上搜即可,简单提示下:Cygwin的setup-x86xxx.exe 其实是个包管理器,想要安装或卸载组件随时打开它,记得安装Devel组件,很重要。Cygwin的安装也很费时间,主要是下载需组件要时间,其home目录在Cygwin安装目录下,各盘符号表示为cygdrive/<小写盘符>形式,如E盘: cygdrive/e 没用过unix命令? 你要学一下,可能会花上一到两个小时时间。

上面步骤准备好了吗?Android NDK r9的配置就是不用配置,呵呵。好吧,我再说详细一点,其实网上说的一些设置啊,make啊,都已经不需要,直接把下载回来的包解压即可。存放目录不要有空格,这点很重要,让你省去很多麻烦,信我。

 

在r4版本之前,要求你进行

build/host-setup.sh

 

现在已经没有了,即使你要找也找不到这个脚本;

 

在Cygwin里记得设置好ndk目录变量,例如输入cd $NDK就直达NDK目录,很方便,信我,你会在之后经常用到它。

 

 

NDK怎么使用?

 

先要在Android项目下新建jni目录,把c或c++脚本写成组件,例如mymodule.c,同时写一个Android.mk来描述它,mymodule.c和Android.mk其实都是文本文件,用你喜欢的编辑器编辑它们,但具体怎么弄,看别人写的:《关于Android NDK中调用第三方的动态库》http://blog.csdn.net/fantasyhujian/article/details/8554182 或者网上找找,学会写这两个文件和写Java接口就可以了。

 

 

编译C组件

 

完成上一步后,才可到达这里,相信你在网上其它地方看到很多教程方法并且实践了,来到里是很不容易的,但如果没有,你看到这里是没有意义的。

 

编译C组件的方法其实也很简单,如果只是入门,只要把c文件和mk文件放在Eclipse项目下的jni即可,不要放到别的地方,至少目前不要。方法是:

 

通过Cygwin进入项目目录,就是那个AndroidManifest.xml所在的项目根目录。在Cygwin上一个一个输入目录名很费时,教你一个快捷方法,把目录拖到Cygwin中就可以得到正确的字符串,cd进去就可。记住,一定要进入项目根目录,然后,执行ndk目录下的ndk-build,因为上面设置了目录别名,所以我只要这样即可:

 

$NDK/ndk-build

 

接着就会出现类似

Compile xxxxxx

的信息,没错误的话,项目根目录下会生成libs/libxxxx.so文件。

 

 

非ARM架构CPU的编译

运行项目用的如果是Genymotion或者非ARM架构CPU的模拟器,会报错,不怕,只要编译时加上APP_ABI=x86 即可:

$NDK/ndk-build APP_ABI=x86

 

 

结语

 

至此,ndk的使用就是如此简单,关键还是$NDK/ndk-build 脚本。过程可能会出现一些错误,多做一些功课和给些耐心是都可以解决的。

分享到:
评论

相关推荐

    Android NDK R9环境配置 开发教程 NDKhi工程源码)

    Android NDK R9环境配置与开发教程是针对Android平台原生代码开发的重要指南。NDK(Native Development Kit)是Google提供的一款工具集,允许开发者在Android应用中使用C和C++编写部分或全部代码,以实现性能优化...

    android-ndk-r9-windows-x86_64.zip

    《Android NDK R9:深入理解与应用》 Android NDK(Native Development Kit)是Google为Android平台提供的一套工具,允许开发者使用C/C++语言编写应用程序,从而利用原生代码的高性能。本文将深入探讨Android NDK ...

    android_NDK_r9_使用方法.docx

    ### Android NDK r9 使用方法详解 #### 一、Android NDK 概述 - **定义**:Android NDK(Native Development Kit)是Android官方提供的一个工具包,它允许开发者利用C/C++来编写Android应用的部分组件。对于那些...

    android-ndk-r9c-darwin-x86.tar.bz2安卓NDK Mac版

    Mac上配置Android开发环境并把Cocos2d-x项目编译到Android 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。允许用户使用类似C ...

    android-ndk-r9d-windows-x86-64.zip

    在实际开发中,使用Android NDK R9d需要注意以下几点: - **性能优化**:虽然NDK允许开发者使用C/C++,但并非所有情况都适合原生开发。只有当性能成为瓶颈或者需要利用特定硬件功能时,才应考虑使用NDK。 - **内存...

    从Android NDK安装ARM交叉编译工具链

    从Android NDK安装ARM交叉编译工具链涉及的技术领域包括Android开发、交叉编译、NDK使用、ARM架构以及Linux环境下的编译工具使用。以下是详细的知识点解析: Android NDK(Native Development Kit)是Android应用...

    windows下android NDK环境的搭建

    完成以上步骤后,开发者便可以在Eclipse中使用C和C++代码,并通过NDK进行本地编译,生成.so文件,将其与Android应用集成,提高应用性能或利用特定的硬件功能。这个过程对需要在Android应用中使用C/C++代码的开发者...

    Android_NDK环境搭建

    - 下载Android NDK压缩包,例如`android-ndk-r9c-windows-x86.zip`。 - 解压缩到指定目录,例如`C:\Users\stephone\Desktop\Program_File`。 3. **安装Cygwin**: - 运行`setup.exe`。 - 按照提示完成安装,注意...

    android ndk 开发环境配置,不需要cygwin,可直接生成.h文件,直接编译库

    3. **Android NDK**:选择版本为`android-ndk-r9b`的Android NDK,该版本在当时较为稳定且广泛支持。 #### 三、配置生成头文件`.h` 1. **开启外部工具配置**: - 打开Eclipse,选择`Window` &gt; `Show View` &gt; `...

    c/c++Android开发环境配置

    【C/C++ Android开发环境配置】是Android原生开发中的重要环节,主要涉及三个关键工具:Android NDK、Android SDK和Ant。以下是这些工具的详细配置步骤和使用方法。 一、Android NDK NDK(Native Development Kit)...

    Android sdl环境配置与编译1

    【Android SDL环境配置与编译】是...总的来说,Android SDL环境配置与编译涉及到NDK的安装、环境变量设置、SDK的使用,以及Ant工具的运用。理解并掌握这些知识点对于在Android平台上利用SDL进行原生代码开发至关重要。

    Eclipse配置NDK环境

    在Android应用开发中,有时我们需要使用C或C++的代码来提升性能或利用特定硬件功能,这时就需要用到Android NDK(Native Development Kit)。Eclipse作为早期流行的Android开发IDE,配置NDK环境是进行原生代码开发的...

    使用AndroidStudio编译NDK的方法及错误解决方案.docx

    ### 使用Android Studio编译NDK的方法及错误解决方案 #### 一、引言 随着移动应用开发的不断进步和发展,原生应用的需求日益增加。对于Android平台而言,利用Native Development Kit (NDK)进行开发能够更好地发挥...

    Android交叉编译htop及使用方法

    ./make-standalone-toolchain.sh --arch=arm --ndk-dir=/home/klaus/tools/android-ndk-r9b --system=linux-x86_64 --install-dir=/home/klaus/tools/android-ndk-r9b --platform=android-19 ``` 这样就可以将所需...

    NDK从入门到精通CSDN

    - **NDK**: Android NDK r9c for Windows - **Cygwin**: 需要安装binutils, gcc, gcc-mingw, gdb, make等组件 - **Javah/Javap**: JDK 6.0自带工具 #### 四、JNI的使用流程 ##### 4.1 定义Native方法 在Java代码...

    在ndk9环境下编译ffmpeg

    3. **生成配置文件**:进入构建目录,使用NDK提供的`configure`脚本来生成针对Android平台的配置文件。命令如下: ``` cd build ../ffmpeg-source/configure --prefix=$PWD/ffmpeg-android --target-os=linux --...

    基于Opencv的Android图像处理(Eclipse和ndk)环境搭建.docx

    4. **Android NDK**:建议使用新版NDK,R9版本及其以上,无需额外配置Cygwin进行C++文件编译。 #### 三、创建Android工程 1. 打开Eclipse,创建一个新的Android工程。 2. 新建一个名为`jni`的文件夹,用于存放C/...

Global site tag (gtag.js) - Google Analytics