NDK开发入门

第一章、生成JNI的.h文件

1、新建android工程HelloNDK,新建包com.hteng.ndk.hello,在包下编写HelloManager.java类,定义本地getHelloString()方法;

public native String getHelloString();

2、 将HelloManager.java类拷到E盘根目录,打开cmd命令行窗口,切换到E盘根目录,指令一生成class文件,指令二生成C语言JNI的.h文件;

E:\>java com.hteng.ndk.hello.HelloManager

E:\>javah com.hteng.ndk.hello.HelloManager

第二章、实现头文件相关业务逻辑

1、在HelloNDK的main目录底下新建jni文件夹,拷贝com_hteng_ndk_hello_HelloManager.h到该目录;

2、在jni新建Hello.c文件,内容如下:

#include<studio.h>

#include<stdlib.h>

#include<jni.h>

#include"com_hteng_ndk_hello_HelloManager.h"

JNIEXPORT jstring JNICALL Java_com_hteng_ndk_hello_HelloManager_getHelloString

(JNIEnv * env, jobject clazz){

return (*env)->NewStringUTF(env,"hello NDK");

}

第三章、配置NDK参数

1、修改build.gradle文件,新增NDK配置内容

applyplugin:'com.android.application'

android {

compileSdkVersion15

buildToolsVersion"23.0.3"

defaultConfig {

applicationId"com.hteng.ndk.hello"

minSdkVersion15

targetSdkVersion19

versionCode1

versionName"1.0"

ndk {

moduleName"hello-world"

}

}

buildTypes {

release {

minifyEnabledfalse

proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

}

}

}

dependencies {

compile fileTree(include: ['*.jar'], dir:'libs')

testCompile'junit:junit:4.12'

}

2、修改gradle.properties文件,新增NDK配置

android.useDeprecatedNdk=true

3、修改local.properties文件,增加NDK路径配置

ndk.dir=E\:\\android-soft\\android-ndk-r10e

第四章、调用NDK方法

1、载入so库文件

static {

System.loadLibrary("hello-world");

}

2、调用so库文件native方法

HelloManager.getInstance().getHelloString()

源码下载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于J...
    Ten_Minutes阅读 3,554评论 1 27
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,404评论 25 708
  • 本人为初学者,文章写得不好,如有错误,请大力怼我 或者看这里 如何使用jni进行开发 本文主要针对Android环...
    AlbertHumbert阅读 4,710评论 2 12
  • _ 声明: 对原文格式以及内容做了细微的修改和美化, 主要为了方便阅读和理解 _ 一. 基础 Java Nativ...
    元亨利贞o阅读 6,001评论 0 34
  • 昨天晚上,我们用了两个小时观看了《摔跤吧爸爸》这部电影。 这部电影讲的是:爸爸的梦想是有一个儿子,自己讲儿子训练成...
    稚念_阅读 284评论 0 1