- 将需要导入的第三方库头文件和so库导入到自己的项目编译目录下
这里的 static.h 和so 就是模拟三方的
- 2 编写MK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := static_add
LOCAL_SRC_FILES := lib64/static_add_kkkk.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := share_add
LOCAL_SHARED_LIBRARIES := liblog \
static_add \
LOCAL_SRC_FILES := share.cpp
include $(BUILD_EXECUTABLE)
share.cpp
# include "include/share.h"
# include "include/static.h"
# include "log/log.h"
int test_add( int x, int y)
{
// 调用static里面的方法
return add(x, y);
}
int main() {
int number=test_add(5,6);
ALOGE("test_add number=%d",number);
return 0;
}
这里构建结果 BUILD_EXECUTABLE 为 可执行的bin 文件,构建成功以后会在system bin 下生成一个二进制文件,拷贝到手机的system bin 目录下,再把引入三方生成的static_add.so 拷贝到system lib64 和 lib 下然后 adb shell ,执行 share_add ,就可以看到打印的日志了
image.png
网友评论