zoukankan      html  css  js  c++  java
  • JNI和NDK编程

    1、背景                                                               

    Java JNI的本意是Java Native Interface(java本地接口),它是为了方便Java调用C、C++等本地代码所封装的一层接口。

    NDK是Android所提供的一个工具集合,通过NDK可以在Android中更加方便地通过JNI来访问本地代码C或C++。NDK提供的交叉编译器让开发人员只需要简单地修改mk文件就可以生成特定CPU平台的动态库。

    使用NDK的好处:

    a、提供代码的安全性。因此so库反编译比较困难。

    b、可以很方便地使用目前已有的c、c++开源库。

    c、便于平台间的移植。通过c/c++实现的动态库可以很方便地在其他平台上使用。

    d、提供程序在某些特定情形下的执行效率,但是不能明显提升Android程序的性能。

    JNI和NDK开发主要用于底层和嵌入式。

    2、JNI的开发流程                                                

    a、在Java中声明native方法。

    b、编译Java源文件得到class文件,然后通过javah命令到处JNI的头文件。

    c、实现JNI方法。

    d、编译so库并在java中调用。

    3、NDK的开发流程                                               

    NDK的开发是基于JNI的,主要有如下几个步骤:

    a、下载并配置NDK。

    b、创建一个Android项目,并声明所需的native方法。

    c、实现Android项目中所声明的native方法。

    d、切换到jni目录的父目录,然后通过ndk-build命令编译产生so库。

  • 相关阅读:
    oracle 用户与表空间关系
    关于数据库主从表、主键PRIMARY KEY 外键约束 FOREIGN KEY 约束----NOT NULL,DEFAULT,CHECK
    数据库中主键与外键
    MySQL性能测试工具sysbench的安装和使用
    Linux VNC server 安装配置
    Linux 用户管理【UID和GID】
    性能测试之稳定性测试
    NoSql Cassandra
    数据库事务处理原理
    思考问题
  • 原文地址:https://www.cnblogs.com/fankongkong/p/7500365.html
Copyright © 2011-2022 走看看