android jni 入门(2)jni编译生成so包

来源:互联网 发布:大数据金融 编辑:程序博客网 时间:2024/05/30 22:44

上一次说到写native方法,调用cpp里面的方法。

接下来说的是生成so包。


生成so包需要编写一个Android.mk。mk可以让你写的c代码变成so包。


先看下最简单的结构:


LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := testjniLOCAL_SRC_FILES := qj_hellojni_TestJni.cppinclude $(BUILD_SHARED_LIBRARY) 


LOCAL_PATH变量。它用于在开发树中查找源文件。在这个例子中,宏函数’my-dir’, 由编译系统提供,用于返回当前路径(即包含Android.mk file文件的目录)。


include $( CLEAR_VARS)

CLEAR_VARS 由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量(,LOCAL_PATH 。这是必要的。


LOCAL_MODULE 是你要编译成的so包的名称,可以有多个modul

LOCAL_SRC_FILES  是生成这个库的源文件。


include $(BUILD_SHARED_LIBRARY) 这个指令是说生成so。


写了这些之后,直接编译,就可以生成so包了。

我使用的是Android Studio,所以生成的so包存放目录在

HelloJNI\app\build\intermediates\ndk\debug\lib





0 0