JNI/NDK开发流程简介

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 24
buildToolsVersion "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不擅长的领域(如图像处理)才会使用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值