NDK 步骤

来源:互联网 发布:无人机测量数据 编辑:程序博客网 时间:2024/05/19 09:11




NDK:本地开发工具包,用于打包生成C代码的动态链接库(so文件)1、配置NDK环境变量window下配置NDK环境变量:NDK_PROJECT_PATHD:\android-ndk-r10PATH%NDK_PROJECT_PATH%;2、测试NDK环境配置是否成功:打开CMD,输入ndk-build,没有提示不是内部命令,表示配置成功。3、新建 工程在Activity里编写一个本地方法:public native int add(int num1,int num2);并在程序中调用该方法4、通过javah命令生成该Activity类的头文件:打开CMD切换到工程的app/src/main/java 目录:javah com.moliying.mly_ndk.MainActivity生成的头文件如:com_moliying_mly_ndk_MainActivity.h5、在工程的main目录下创建一个jni目录,把头文件复制到该目录中,编写一个c文件:#include "com_moliying_mly_ndk_MainActivity.h"JNIEXPORT jint JNICALL Java_com_moliying_mly_1ndk_MainActivity_add  (JNIEnv * env, jobject obj, jint num1, jint num2){  return num1+num2;}6、在jni目录下创建一个Android.mk文件:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := helloLOCAL_SRC_FILES := hello.cinclude $(BUILD_SHARED_LIBRARY)7、在jni目录下创建 一个Application.mk文件:APP_ABI := all8、把jni目录复制到ndk的根目录中,打开cmd执行ndk-build 命令生成so文件,so文件会在ndk目录的libs中,复制libs中的所有文件到工程的libs目录中.9、配置加载so文件:app/build.gradle文件中添加:sourceSets{        main{            jniLibs.srcDir 'libs'            jni.srcDirs = []        }    }defaultConfig {ndk{            moduleName "hello"        }}local.properties文件中添加:ndk.dir=D\:\\android-ndk-r10gradle.properties文件中添加android.useDeprecatedNdk=true10、在代码使用静态块加载so类库:    static {        System.loadLibrary("hello");    }11、测试成功


0 0
原创粉丝点击