android studio 怎么生成so
发布网友
发布时间:2022-04-22 21:48
我来回答
共1个回答
热心网友
时间:2023-10-03 11:24
配置NDK
下载ndk
解压配置环境变量
验证配置成功
设置android studio ndk路径
JNI开发
添加native接口注意写好native接口和System.loadLibrary()。
执行Build->Make Project,生成了.class文件,.class文件的生成路径是在 app/build/intermediates/classes/debug下
javah生成c头文件
点击”View->Tool Windows->Terminal“,打开终端,进入 \app\src\main的目录下执行javah命令:
javah -d jni -classpath <SDK_android.jar>;<APP_classes> <class>
然后就看到\app\src\main\jni\com_fy_administrator_jnitoso_JniUtil.h出现了.
1
然后根据.h文件,创建相对应的.cpp文件
创建Android.mk和Application.mk文件
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := JNIDemo
LOCAL_SRC_FILES := testJni.cpp
LOCAL_SRC_FILES += CAdd.cpp
include $(BUILD_SHARED_LIBRARY)
其中LOCAL_PATH是C/C++代码所在目录,也就是我们的jni目录。
LOCAL_MODULE是要编译的库的名称。编译器会自动在前面加上lib,在后面加上.so。
LOCAL_SRC_FILES是要编译的C/C++文件。
Application.mk
APP_ABI := all
#APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a mips64 x86_64
配置gradle
在defaultConfig下,配置ndk:
ndk {
moleName "JNIDemo" // 生成的so名字
}
在android标签内配置sourceSets:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
执行ndk-build命令生成所有cpu架构的so库