Hello NDK-初学

作者: 墨源为水 | 来源:发表于2016-12-21 11:08 被阅读43次
Hello NDK

一.NDK的安装

本文使用的是android studio 2.2.3安装NDK,自然所在环境是windows。
打开android studio的File | Settings | Appearance & Behavior | System Settings | Android SDK,选择SDK Tools,选中LLDB和NDK,点击确认,软件会自动安装NDK。如下图:

图片.png

二.配置环境变量

--增加一项:NDK_ROOT,如:D:\Android\android-sdk-windows\ndk-bundle
--在path中增加%NDK_ROOT%
图片.png 图片.png

三.工程基本使用

在所在工程的src|main目录下新建文件夹jni

图片.png

1.新建hello-jni.c

修改hello-jni.c文件中的函数名称,格式为:Java_包名类名函数名
( Java_me_jnidemo_myjnidemo_NdkJniUtils_stringFromJNI)

#include <string.h>
#include <jni.h>
/* This is a trivial JNI example where we use a native method 
* to return a new VM String. See the corresponding Java source * file located at: * * apps/samples/hello-jni/project/src/com/example/hellojni/HelloJni.java 
*/
//jstring
//Java_com_bazhangkeji_MainActivity_stringFromJNI( JNIEnv* env,// jobject thiz )
//{
// return (*env)->NewStringUTF(env, "Hello from JNI !");
//}
JNIEXPORT jstring JNICALLJava_com_bazhangkeji_demo01_MainActivity_stringFromJNI(JNIEnv *env, jobject instance) {
     // return (*env)->NewStringUTF(env, returnValue); 
     return (*env)->NewStringUTF(env, "Hello from JNI !");
}

2.新建Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)

3.在build.gradle中配置

配置好,make project即可生成.so文件在app\build\intermediates\ndk-build\debug\lib中。
增加语句:

externalNativeBuild { 
  ndkBuild { 
     path file("src\\main\\jni\\Android.mk") } 
}  

4.java层调用

图片.png

相关文章

  • Hello NDK-初学

    一.NDK的安装 本文使用的是android studio 2.2.3安装NDK,自然所在环境是windows。打...

  • 日志的意义

    起步 我们初学程序的时候,写下了printf("hello world\n"),会在控制台打下hello worl...

  • Hello,World!(1.2)

    Hello,World! 【题目描述】编写一个能够输出“Hello,World!”的程序,这个程序常常作为一个初学...

  • NDK-介绍

    1、概念 NDK:(Native Development Kit),原生开发工具包是一组可以让您在Android应...

  • Hello Todolist

    ???如今.. “todo list ”变成了当成初学javascript时在页面中打印的“hello world...

  • 初学Dagger之Hello Dagger(0)

    写作背景这几天在学习Dagger、MVP、Agera,这里所说的Dagger即Google接手的Dagger,也被...

  • Java注解入门

    Java注解(Annotation) 0.0 Hello World 先上代码,再加以说明。这样不至于让初学者懵。...

  • Hello World——Github官方新手教程

    译/莫云斌 在编程界,初学者编写Hello World程序是一个历史悠久的传统了。当你学习新东西的时候,Hello...

  • ==和equals

    在初学Java时,可能会经常碰到下面的代码: 1String str1 =newString("hello");2...

  • 来啊!大神教你在Ubuntu中永久激活Pycharm专业版

    Hello , Everybody ,相信各位爱好编程的程序初学者来说,初次学习Python语言,最苦恼莫过于,如...

网友评论

    本文标题:Hello NDK-初学

    本文链接:https://www.haomeiwen.com/subject/nwhqvttx.html