创建文件夹mkdir test,并创建三个文件main.c,max.c,Android.mk
main.c
#include <stdio.h> extern int max(int,int); int main() { int a=5,b=3; int c; c=max(a,b); printf("the max number is %d\n",c); return 0; }
max.c
int max(int x,int y) { return x>y?x:y; }
Android.mk
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := max.c LOCAL_PRELINK_MODULE := false LOCAL_MODULE := libmax include $(BUILD_SHARED_LIBRARY)//生成共享库 include $(CLEAR_VARS) LOCAL_SRC_FILES := main.c LOCAL_CFLAGS = -lmax LOCAL_SHARED_LIBRARIES := libmax LOCAL_MODULE := mainc include $(BUILD_EXECUTABLE)//生成可执行文件
mmm -B test
将libmax.so丢到/system/lib下,mainc丢到/system/bin下,运行mainc结果正确,说明该.so文件被调用了。