Android NDK

Android NDK 简介

NDK全称:Native Development Kit

1.NDK是一系列工具的集合

  •  NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的
  • NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so
  • NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作

2.NDK提供了一份稳定、功能有限的API头文件声明

  • Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)


Android NDK使用

Android的虚拟机容许你通过JNI调用本地代码。简而言之,这意味着:

  • 你的应用程序源代码将声明一个或多个本地方法,通过名字可以看出这些方法是本地的例如:

          native byte[]  loadFile(String  filePath);

  • 你必须提供一个本地共享库包含这些方法的实现,并将其打包到您的应用程序的apk文件中。这些库必须按照UNIX的命名方式, 像lib <something>.so,而且应包含一个标准的JNI入口 。例如:

           libFileLoader.so

  • 您的应用程序必须显式地加载这些库。例如,需要在应用程序启动时加载,只需如下:

            static {       

                     System.loadLibrary("FileLoader");

                     }

         这里注意不要添加lib的前缀或者.so后缀


Android NDK实例

下面大概的展示了如何通过Android NDK开发过程:

  1. Run build/host-setup.sh to configure the NDK
  2. Place your native sources under $PROJECT/jni/...
  3. Write $PROJECT/jni/Android.mk to describe your sources to the NDK build system
  4. Write apps/<myapp>/Application.mk to describe your application and the native sources it needs to the NDK build system
  5. Build your native code by running "make APP=<myapp>" in the top-level NDK directory.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值