JNI/NDK开发流程简介

来源:互联网 发布:软件测试零基础教程 编辑:程序博客网 时间:2024/05/23 18:32

NDK开发

一、环境配置

1、NDk下载


打开管理器,勾选NDK,Android Studio会自动下载ndk。
下载完成后,可以如下方式查看目录:

2、NDK环境变量配置

在PATH系统变量下添加:ndk的目录即可
在cmd中输入:ndk-build,如果出现如下界面,表示成功安装。

二、开发

文件配置

1、android.useDeprecatedNdk=true,在

2、添加ndk,在app级别的build.gradle中添加ndk{},如下图所示

android {compileSdkVersion 24buildToolsVersion "24.0.2"defaultConfig {    applicationId "com.yf.jar"    minSdkVersion 14    targetSdkVersion 24    versionCode 1    versionName "1.0"    //注意此处的位置    ndk {        moduleName "JNIDEMO" //模块名称,系统自动生成的.so文件将会以“lib+模块名称”命名,比如本例的libJNIDEMO.so        stl "stlport_static"        ldLibs "log"    }}buildTypes {    release {        minifyEnabled false        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'    }}}

JNI开发

1、新建一个activity或者是一个普通的java类,这里以普通java类为例:

package com.yf.jar.jnidemo;/**  * 类功能:  * Created by lenovo on 2017/5/9 22:13.  */public class JniTest {public native String test();}

2、运行Build菜单下的Make Project选项(Ctrl+F9),可以在app/build/intermediates/classes/debug/目录下,找到整个项目的.class文件,如图所示:

当然你也可以使用javac命令行生成JniTest.class文件,效果一样。
然后利用javah命令行,生成.h文件。具体到本项目就是:

cd app/build/intermediates/classes/debug/javah com.yf.jar.jnidemo.JniTest,

然后在app/build/intermediates/classes/debug/目录下就会生成一个com_yf_jar_jnidemo_JniTest.h文件。文件中主要是一个C语言版本的test()方法。

3、新建一个JNI文件夹,如图:

将com_yf_jar_jnidemo_JniTest.h拷贝到jni文件夹中,同时右键新建一个c/cpp文件,名字可以是任意的,但是必须要

ndk开发

ndk的开发是以jni开发为基础的,只是大部分时间是将本地方法定义在activity或者工具类中,从而达到隐藏实现细节的目的。
1、在activity中定义native方法;
2、实现native方法;
3、生成.so文件;
4、使用so文件。

扩展

ndk开发对c/c++语言的功底要求较高,一般也只会在对安全性较高或者一些java不擅长的领域(如图像处理)才会使用到。

0 0
原创粉丝点击