NDK开发笔记(一)---环境搭建

安装NDK开发环境:

1.安装cygwin ,其中要安装gcc等编译器等请参考http://qichunren.javaeye.com/blog/214527

 

   结果:

运行 cygwin ,在弹出的命令行窗口输入: cygcheck -c cygwin 命令,会打印出当前 cygwin 的版本和运行状       态,如果 status 是 ok 的话,则 cygwin 运行正常。

      然后依次输入 gcc –version , g++ --version , make –version , gdb –version 进行测试,如果都打印         出版本信息和一些描述信息,非常高兴的告诉你,你的 cygwin 安装完成了!

 

C:/cygwin/home/用户名/.bash_profile

在后面加入下面的path.

 

NDK=/cygdrive/NDK路径

PATH=${PATH}:/cygdrive/NDK路径

export NDK

 

export NDK.

配置PATH环境变量。

 

 

2.下载NDK  Android NDK (Native Development Kit)

 

配置 NDK 环境变量

 

 

 

 

 

3.下载最新的Eclipse 版本

            http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-win32.zip

 

4.配置android相关ADT,以及SDK环境

 

 

4.安装CDT,可以支持C/C++ Project.

http://www.eclipse.org/cdt/downloads.php

 

 

5.配置eclipse

 

 

 

   生成项目也是快速而灵活的。你曾经使用过Eclipse的生成器吗?它们是一些可配置的开关,用于执行你所配置的命令和刷新工程资源。以下是我的配置:

       右击你的项目,选择“properties

       在左边的列表中选择“Builders

       在右侧,点击“New…”按钮

       在列表框,选择“Program”作为配置类型;点击“OK”按钮,进入下一个配置对话框。

       命名name为“Native Builder

       选择Location为“c:/cygwin/bin/bash.exe

       Working Directory”为“c:/cygwin/bin

       Arguments”为:

  –login -c “cd /cygdrive/e/android-ndk-r5/samples/hello-jni && $NDK/ndk-build”

 

其中/cygdrive/e/android-ndk-r5/samples/hello-jni为你工程的目录。

 

确保在login前有两个连接号,-c后面的引号。

       接着打开“refresh”的tab面板:

       选中“Refresh resources upon completion

       选择“Specific resources

       点击“Specify resources”按钮,选择你项目的libs目录

       选中“Recursively include sub-folders

       接着打开“Build Options”的tab面板:

       选中“Allocate Console

       选中“Launch in background

       选中“Run the builder After a Clean

       选中“Run the builder During manual builds

       选中“Run the builder During auto builds

       选中“Specify working set of relevant resources

       点击“Specify Resources”按钮,选择你项目的JNI目录,并包含所有的文件。

       点击“OK”按钮。

上面红色字体的一定要选择正确。这样就会ba

 

 6.测试 
打开项目jni目录里的hello-jni.c文件把提示Hello from JNI!改成其他的文字:如:Hello World JNI.,然后再模          拟器中运行你的程序,如果模拟器中显示了你最新修改的文字,

在Console中会显示如下。。

 

Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver

Gdbsetup       : libs/armeabi/gdb.setup

Compile thumb  : hello-jni <= hello-jni.c

SharedLibrary  : libhello-jni.so

Install        : libhello-jni.so => libs/armeabi/libhello-jni.so

 

 

那么Congratulations!你已经全部配置成功啦。

 

 

7.要编写jni中的.c文件那加下面的include文件

 

右键你的工程然后选择Properties-->C/C++ Builder/Settings/GCC Compiler/include/加入你要引入的JNI头文件

一般在

android-ndk-r5/platforms/android-3/arch-arm/usr/include。里面包含了jni.h文件。

这样就可以在eclipse中用Alt+/来感应编程了。

 

8.android ndk logcat

如果想在JNI中使用logcat输出的话那就做以下几步

  •    #include <android/log.h>
  • LOCAL_LDLIBS := -llog 在Android.mk文件中加入库不然会报下面的错误 
    undefined reference to `__android_log_write'
    加入log 使用下面的指令。
    __android_log_write(ANDROID_LOG_ERROR,"Tag","Message");
    可以查看log.h文件的定义。路径如下
    build/platforms/android-1.5/common/include/android/log.h

9.我自己新建个工程,然后加入jni,libs文件,然后按照上面的做,发现它不能做到上面的第七步,工程右键选择Properties没看到Properties-->C/C++ Builder/的选项,这样我引用不了c/c++的头文件等,编程速度严重影响。

 

于是我就比对我的Test工程和hello-jni工程的区别,发现了在hello-jin/.PROJECT文档不同

 

于是在我的工程中比对这两个PROJECT文件,加入下面的code就可以实现

 

在buildSpec中加入了CDT的控件。

需要注意的是修改

${workspace_loc:/Test/Debug}-->Test为你的工程名字。

在natures的标签中不同德是加入了CDT 插件。

 

 

最后还要加人C/C++工程的.cproject 文件,让该工程也是C/C++工程,这个文件你直接从一个在eclipse的c/c++工程copy到你工程的根目录就ok,你可也观察hello-jni工程。


 

修改完成之后保存ok.就可以实现和NDK smaple一样的效果了,编程方便多了。。^_^

 

 

 

10.搭建好了之后最好是做2个工程,一个是C/C++工程,另外一个android工程,在c/c++ build,build 完之后直接复制libs/ 的目录到android工程。


11.如果上面步骤都做了还有问题可以联系我

 

Email:wongstar.iac@gmail.com

参考文献:

http://qichunren.javaeye.com/blog/214527

http://blog.csdn.net/duduliao/archive/2011/02/11/6179511.aspx

http://blog.csdn.net/lizhongkan/archive/2010/01/30/5271606.aspx

http://www.rbgrn.net/content/348-get-your-eclipse-integrated-ndk-on

http://blog.blackwhale.at/2009/08/android-ndk-logging/

http://hi.baidu.com/justin8335/blog/item/8976de1d009e35f91ad5762e.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: android-ndk-r12b-windows-x86.zip 是一个 Android NDK 的压缩文件。Android NDK (Native Development Kit) 是一个让开发者能够使用 C 或 C++ 程序语言编写 Android 应用的工具集合。它主要用于开发需要高性能或使用底层库的应用程序。 android-ndk-r12b-windows-x86.zip 针对的是 Windows 系统的 32 位操作系统。该文件包含了 Android NDK 的相关文件和工具,可供开发者使用。开发者可以通过下载该文件,解压缩并配置环境变量,以便在 Windows 上编写和构建 C/C++ 代码的 Android 应用程序。 该压缩文件中包含了编译器、调试器、标准系统库、头文件以及其他构建和调试所需的文件。通过使用该工具集合,开发者可以充分利用 C/C++ 语言的速度和功能,编写高性能、复杂的 Android 应用程序。 同时需要注意的是,该压缩文件适用于 Windows 系统的 32 位操作系统。如果你的设备或操作系统是其他类型的,可能需要下载适用于该设备或操作系统的相应版本。 ### 回答2: android-ndk-r12b-windows-x86.zip 是一个Android NDK(Native Development Kit)的压缩文件。 NDK是一个用于开发Android平台上原生代码的工具集。它允许开发者在Java平台上编写Android应用程序的同时,通过使用C或C++等编程语言编写高性能和复杂度较高的代码模块。NDK通过将应用程序的代码编译为与硬件平台相关的机器码实现高效执行。 android-ndk-r12b-windows-x86.zip 这个文件是适用于Windows操作系统的NDK的压缩文件,特定于x86架构。这意味着该NDK版本适用于基于x86架构的32位执行环境,例如32位的Windows操作系统。 该压缩文件包含了开发者在Windows系统上使用NDK所需的所有文件和工具,如编译器、调试器、库文件等。开发者可以使用这个NDK版本来编写和构建在x86架构上运行的Android应用程序。 通过使用NDK开发者可以利用C或C++编写更高效和功能强大的代码,也可以重用已有的C/C++代码库。这对于需要执行高计算密集型任务、需要访问底层硬件功能或需要与跨平台C/C++库集成的应用程序非常有用。 总之,android-ndk-r12b-windows-x86.zip 是一个适用于Windows操作系统的Android NDK的压缩文件,特定于x86架构。使用这个NDK版本,开发者可以编写高性能、复杂度较高的代码以实现更强大的Android应用程序。 ### 回答3: android-ndk-r12b-windows-x86.zip是一个用于Windows操作系统的Android NDK(Native Development Kit)软件包。Android NDK是一个开发工具集,可以帮助开发人员使用C和C++语言编写Android应用程序。它提供了一组库和工具,允许开发者直接使用本地代码进行开发。 android-ndk-r12b-windows-x86.zip包含了NDK的安装程序和相关的文件。用户可以通过解压缩这个压缩包来安装NDK。一旦安装完成,开发者就可以在Windows操作系统上使用NDK开发Android应用程序。这个特定的压缩包适用于x86架构的计算机,这是一种常见的Windows计算机架构。 使用android-ndk-r12b-windows-x86.zip,开发者可以利用NDK的功能来更好地优化他们的Android应用程序。这包括直接使用本机代码编写应用程序的能力,以及访问底层系统功能的能力。通过使用NDK开发者可以在性能关键的部分使用底层代码,提高应用程序的速度和效率。 android-ndk-r12b-windows-x86.zip是一个方便开发者使用Android NDK的软件包。它使开发者能够充分利用底层功能,并开发出更高效的Android应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值