NDK开发

来源:互联网 发布:cnstorm知乎 编辑:程序博客网 时间:2024/05/17 10:53

Android NDK开发入门

NDK开发步骤
1.在项目根目录下创建jni文件夹
2.在jni文件中创建一个c文件
3.在java代码中,创建一个本地方法helloFromC

public native String helloFromC();

4.在jni中定义函数实现这个方法,函数名必须为Java开头+类名+方法名,如:

jstring Java_com_itheima_helloworld1_MainActivity_helloFromC(JNIEnv* env, jobject obj)

5.返回一个字符串,用c定义一个字符串

 char* cstr = "hello from c";

6.把c的字符串转换成java的字符串

    jstring jstr = (*env)->NewStringUTF(env, cstr);     return jstr;

7.在jni中创建Android.mk文件

    LOCAL_PATH := $(call my-dir)    include $(CLEAR_VARS)    LOCAL_MODULE    := hello    LOCAL_SRC_FILES := hello.c    include $(BUILD_SHARED_LIBRARY)

如果需要添加x86等架构,可以在jni中创建Application.mk文件,添加如下代码:

APP_ABI := armeabi armeabi-v7a x86

8.在c文件中添加jni.h头文件
9.在jni文件夹下执行ndk-build.cmd指令
10.java代码中加载so类库,调用本地方法

Android Studio

  1. 使用native 方法,如
public native void callCpp();
  1. Alt+Enter 实现该JNI函数

  2. 在build.gradle文件的defaultConfig后添加如下代码:

ndk{ moduleName "Hello"ldLibs "log"abiFilters "armeabi","armeabi-v7a","x86"}
0 0