`

Android NDK 开发环境搭建

 
阅读更多

一、关于NDK:

NDK全称: Native Development Kit.

 

    1、NDK是一系列工具的集合。 
      NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 
      NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以     创建出so。 
      NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。 
   2、NDK提供了一份稳定、功能有限的API头文件声明。 
      Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数    学库(libm)、压缩库(libz)、Log库(liblog)。

 

 

 

二、NDK实例的实现:

 

   对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为Eclipse需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样,就可以直接利用这个脚本编译,而不需要使用Cygwin了。只需要为Eclipse Android工程添加一个Builders,就能让Eclipse自动编译NDK。
    本人用的是android-ndk-r10c
    1、 下载安装android-ndk-r10c。安装(exe版的)或解压(zip版的)。
    2、 打开Eclipse,新建一个Android工程(我的叫HelloWorld)。     

  

File -> New -> Android Application Project

   

 
    
 

   添加native 支持   

选择项目右击:Android tools -> Add Native Support...

   项目中会添加一些文件夹

 
    
 

 

    3、编写c++代码:

    

     
 

 

    4、 新建并配置一个Builder

 

     (a)选择项目右击:properties->Builders->New,新建一个Builder。 
     (b)在弹出的【Choose configuration type】对话框,选择【Program】,点击【OK】: 
     (c)在弹出的【Edit Configuration】对话框中,配置选项卡【Main】。
          在“Name“中输入新builders的名称(我取名为Ndk_Builder)。
          在“Location”中输入nkd-build.cmd的路径。
         (我的是D:\android\android-ndk-r10c\ndk-build.cmd,根据各自的ndk路径设置,也可以点击“Browser File System…”来选取这个路径)。
          在“Working Diretcoty”中输入${workspace_loc:/HelloWorld}(也可以点击“Browse Workspace”来选取HelloWorld目录)。
 
     (d)【Edit Configuration】对话框中,配置选项卡【Refresh】。
         勾选“Refresh resources upon completion”,
         勾选“The entire workspace”,
         勾选“Recuresively include sub-folders”。
 
     (e)【Edit Configuration】对话框中,配置选项卡【Build options】。
         勾选“After a “Clean””,
         勾选“During manual builds”,
         勾选“During auto builds”,
         勾选“Specify working set of relevant resources”。
 
      点击“Specify Resources…”
         勾选TestNdk工程的“jni“目录,点击”finish“。 
    (f)点击“OK“,完成配置。
    (g) 以后每次运行clean就直接编译c++了,会在项目的libs下自动生成libHelloWorld.so文件

 

     5、编写Java代码:

  

       
 

     6、直接按Android程序运行,即可出想要界面。

    

 

 

  • 大小: 52.1 KB
  • 大小: 29.2 KB
  • 大小: 69.2 KB
  • 大小: 21.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics