Linux下NDK编译so库

环境配置

1、NDK下载。地址:https://developer.android.google.cn/ndk/downloads/
2、随便在哪个目录直接解压
3、配置系统环境变量
#vim /etc/profile
在文件末尾添加如下内容:
export ANDROID_NDK=“ndk路径”
export PATH=“ A N D R O I D N D K : ANDROID_NDK: ANDROIDNDK:PATH”
4、更新系统变量#source /etc/profile
5、检查ndk环境配置是否成功
#ndk-build //出现如下内容则配置成功
AndroidNDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable topoint to it.
/xxx:* Android NDK: Aborting . Stop.

编译

1、创建jni目录
#mkdir jni
2、添加文件
#vim testC.h

#ifndef TESTC_H
#define TESTC_H
int testC();
#endif

#vim testC.cpp

#include "testC.h"
int testC(){
    return 6;
}

#vim Android.mk

//my-dir宏返回Android.mk所在位置 即将LOCAL_PATH赋值
LOCAL_PATH:=$(call my-dir)
//清理LOCAL_XXX变量的值
include $(CLEAR_VARS)
//模块名字
LOCAL_MODULE :=testC
//打包给模块的C/C++源码 头文件不用列出 此源文件可以用具体路径表示
LOCAL_SRC_FILES:=testC.cpp
//编译输出 STATIC为静态库 SHARED为动态库 BUILD_EXECUTABLE为可执行程序
include $(BUILD_SHARED_LIBRARY)

#vim Application.mk

APP_ABI := all

APP_PLATFORM := android-16 //适应Android版本,如果不对这里会报错,可以根据报错更改

3、编译
#ndk-build
在jni目录下执行该命令,会在jni同级目录下生成libs,obj目录,其中libs目录下是编译生成的so文件
在这里插入图片描述

将该so文件在Android studio中使用

将libs目录复制到Android studio 项目工程的app目录下,然后再做相应的修改就能直接使用了。
具体的过程将在后续更新

你可能感兴趣的:(Linux下NDK编译so库)