- 下载Android SDK、NDK,配置环境变量
- 新建一个android项目,在项目根目录下创建一个文件夹jni,创建Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native-jni
LOCAL_SRC_FILES := native.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
- 创建Java代码:
package com.example.simplendkdemo.util;
public class Util {
public native String stringFromJNI();
public native int stringToJNI(String val);
static {
System.loadLibrary("native-jni");
}
}
- 生成头文件:
从shell模式下,切换到项目根目录,执行命令:
javah -classpath ./bin/classes -d jni/ com.example.simplendkdemo.util.Util
- 创建native.c文件,根据头文件编辑代码:
#include <string.h>
#include <jni.h>
#include <android/log.h>
#define DEBUG_TAG "NDK_SimpleNDKDemo_Util"
jstring Java_com_example_simplendkdemo_util_Util_stringFromJNI(JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
jint Java_com_example_simplendkdemo_util_Util_stringToJNI(JNIEnv* env, jobject thiz, jstring str_val)
{
jint return_i = 0;
const char *str = (*env)->GetStringUTFChars(env, str_val, 0);
__android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "Print java String: %s", str);
(*env)->ReleaseStringUTFChars(env, str_val, str);
return return_i;
}
- 编译c代码,生成库文件:
从shell模式下,切换到项目/jni目录,执行命令:
ndk-build
- 编写java代码调用本地方法
相关推荐
安卓app开发之NDK入门教程,JAVA代码通过JNI接口调用NDK代码(C语言编写的linux android功能).zip
Android NDK入门
NDK入门项目实战NDK入门项目实战NDK入门项目实战NDK入门项目实战NDK入门项目实战
学习Android_NDK入门很简单学习Android_NDK入门很简单学习Android_NDK入门很简单学习Android_NDK入门很简单
androidndk入门.pdf
该资源包含了一个AndroidNDK入门项目实战,包括代码和注释,简单易懂!
史上最强NDK入门项目实战.rar ndk入门很好的资料附代码
这是一个ndk入门实例,使用eclipse实现的,很简单且具有参考意义 参考黄书《Android应用安全防护和逆向分析》第二章Android NDK开发2.1.1节以及百度经验 Android NDK入门开发实例...
Android NDK入门 实例 详解
史上最强NDK入门项目实战.zip,很好的学习NDK开发的入门文档
史上最强NDK入门项目实战.zip
NDK入门实践的教程!这是个doc文件!也许对你有帮助!
史上最强NDK入门项目实战完整版
超强NDK入门项目实战 你只知道 用java编 android吗 试试 c语言的吧 android 游戏必学
Android项目史上最强NDK入门项目实战.rar
安卓Android源码——史上最强NDK入门项目实战.zip
android 安卓 史上最强NDK入门项目实战 c c++ 开发android 游戏 必知必会