虽然Android studio 已经可以帮我们自动编译文件,但是有时候我们还是需要自己手动编译文件的。
1.准备你要编译的.c文件
2.编写Android.mk文件
这里我就不多说编写mk文件的了,可以参考其他的文章比如:http://hubingforever.blog.163.com/blog/static/171040579201152185542166/ 他们这些文章更加透彻
我只是粘贴我的一段编写吧 Android.mk内容
LOCAL_PATH :=
(callmy−dir)include
(CLEAR_VARS)
LOCAL_MODULE := daemon_api20
LOCAL_SRC_FILES := daemon_api20.c \
common.c
LOCAL_C_INCLUDES :=
(LOCALPATH)/includeLOCALLDLIBS:=−L
(SYSROOT)/usr/lib -llog -lm -lz
include $(BUILD_SHARED_LIBRARY)
//LOCAL_SRC_FILES 为需要打包一起的文件名称,多个文件\分隔,LOCAL_MODULE 为生成的模块名称,打包成 libdaemon_api20.so文件 include $(BUILD_SHARED_LIBRARY) 生成共享库
Application.mk内容
APP_ABI := armeabi armeabi-v7a x86 arm64-v8a x86_64 mips mips64
APP_PLATFORM := android-15
这里声明打包成的库的指令集 和 Android studio ndk自动配置生成的abiFilters 是一样的
APP_PLATFORM 是声明配置Android sdk 版本
3.在命令行执行生成so文件
在Terminal窗口,首先跳转到jni目录,然后执行ndk-build命令
那么就生成了so文件
Andorid.mk 文件手动编译
最新推荐文章于 2024-05-28 19:27:52 发布