NDK-介绍

2019-02-05  本文已影响2人  哎呀啊噢

1、概念

NDK:(Native Development Kit),原生开发工具包是一组可以让您在Android应用中利用C和c++代码的工具,可用以从您自己的源代码构建,或者利用现有的预构建库.

public class MyActivity extends Activity {
  /**
  * Native method implemented in C/C++
  */
  public native void computeFoo();
}
使用场景:

NDK本身对许多类型的Android应用没什么价值,因为它不可避免的增加开发过程复杂性,所以通常不值得使用.如果需要执行以下操作,或许有用:

主要组件

开发Java组件时,使用native关键字指示以原生形式实现的方法.例如,以下函数声明向编译器告知实现在原生库中:

public native int add(int x,int y);
  1. 设计应用,确定要在Java中的实现部分,以及要以原生代码形式实现的部分.
  2. 像创建任何其他Android项目一样创建一个Android应用项目.
  3. 如果要编写纯原生应用,请在AndroidMainifest.xml中声明NativeActivity类.
  4. 在“JNI”目录中创建一个描述原生库的Android.mk文件,包括名称、标志、链接库和要编译的源文件.
  5. 也可以创建一个配置目标ABI、工具链、发行/调试模式和STL的Application.mk文件.
    ABI:armeabi
    工具链:GCC4.8
    模式:发行
    STL:系统
  6. 将原生来源置于项目的jni目录下.
  7. 使用ndk-build编译原生(.so、.a).
  8. 构建Java组件,生成可执行.dex文件.
  9. 将所有内容封装到一个APK文件中,包含.so、.dex以及应用运行所需的其他文件.
上一篇 下一篇

猜你喜欢

热点阅读