android studio NDK编程(一)

Android studio ndk编程——(一)

编程环境:

  • Android studio 2.3
  • NDK 14
  • grandle 2.14
  • linux 14.04

    1. 大环境配置

  环境配置首先需要下载ndk,ndk可以直接在Android studio中下载,如下图所示:

这里写图片描述
  然后,配置ndk的环境变量,先用vim编辑器打开bashrc文件,再在文件尾部添加环境变量,操作命令如下。

vim  ~/.bashrc //用vim编辑器打开bashrc文件
export NDK_HOME =/home/android/sdk/ndk-bundle //bashrc文件尾部添加
export PATH =$NDK_HOME:$PATH  bashrc文件尾部添加

  最后,在Android studio中配置ndk路径。如下图:
这里写图片描述

  1. 新建工程

  在新建一个Android project后,需要做以下几步:

  • 打开grandle.properties文件,在文件尾部写一句代码,如果没有这一句,编译不通过。

android.useDeprecatedNdk=true

  • 配置app目录的build.gradle。在defaultConfig节点下写入相关的配置。
defaultConfig {
        ...

        ndk{
            moduleName "ndk-demo"       //要引用module的名字
            ldLibs "log"                //引用库的名字(选填)
            abiFilters "armeabi"        //配置需要编译出那些版本的so库(如果不写,就编译出所有版本的so库)
        }
    }
  • 新建一个common类,写一个本地函数,System.loadLibrary的参数天的就是第二步在build.gradle中所配置的名字。
package demo.android.ndkdemo;

/**
 * Created by android on 17-5-8.
 */

public class Common {
    public static native String getStringFromC();

    static{
        System.loadLibrary("ndk-demo");
    }
}

  • 在工程的app目录下右键, 选择新建一个jni目录,目录路径在app/src/main/jni
  • 打开Android studio下方的命令终端,输入以下命令,在jni目录下会自动生成相对应的.h头文件。

cd app/src/main/java
//进入该目录

javah -d ../jni demo.android.ndkdemo.Common
//javah是Java生成头文件的工具;-d ../jni 表示生成的文件放到上一层的jni目录下;demo.android.ndkdemo.Common为包含native方法的类的全路径

  • 最后,在jni目录下新建c文件,写入相关的功能。
//
// Created by android on 17-5-8.
//
#include "demo_android_ndkdemo_Common.h"

JNIEXPORT jstring JNICALL Java_demo_android_ndkdemo_Common_getStringFromC
        (JNIEnv *env, jclass clz) {

    return (*env)->NewStringUTF(env, "hello from jni,终于弄出来了");
}

   最后在MainActivity中调用native方法,将字符串显示在界面上,点击运行即可看到效果。
  demo下载地址:链接: http://pan.baidu.com/s/1dEBfDBj 密码: xa2i

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值