https://blog.youkuaiyun.com/tongseng/article/details/53005123,这个链接是NDK开发的配置和一个简单的demo。
https://blog.youkuaiyun.com/lygsust/article/details/49428683,这个就是简单的调用C写的简易计算器。
在使用java掉C代码时,最重要的就是C代码要写好,这里我引用的是第二个链接里的代码,非原创,例如;
#include <jni.h>
#include <stdio.h>
#include <stdlib.h>
JNIEXPORT jfloat JNICALL Java_com_example_wangerpang_mathjni_MathUtil_add(JNIEnv * een, jobject obj,jfloat num1 , jfloat num2)
{
return num1+num2;
}
JNIEXPORT jfloat JNICALL Java_com_example_wangerpang_mathjni_MathUtil_sub(JNIEnv * een, jobject obj,jfloat num1 , jfloat num2)
{
return num1-num2;
}
JNIEXPORT jfloat JNICALL Java_com_example_wangerpang_mathjni_MathUtil_squre(JNIEnv * een, jobject obj,jfloat num1 , jfloat num2)
{
return num1*num2;
}
JNIEXPORT jfloat JNICALL Java_com_example_wangerpang_mathjni_MathUtil_dived(JNIEnv * een, jobject obj,jfloat num1 , jfloat num2)
{
return num1/num2;
}
C代码写完之后 ,需要新建一个mk文件,这里主要写的是刚才创建的C文件,和接下来要生成的so库。
这是mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MathJni
LOCAL_SRC_FILES := Math.c
include $(BUILD_SHARED_LIBRARY)
这里主要记录一些最重要的东西,一个简单练习的demo,主要是为了自己时常可以看一看。