0x00 背景
略
0x01 方法
用以下Android.mk
和main.c
编译即可。编译出的libmain.so
既可以当作动态库来链接,也可当作可执行文件执行。需要注意的是,如果是使用cpp
后缀,__attribute__((section(".interp")))
将不起作用。包含__attribute__((section(".interp")))
的源码只能使用.c
后缀
//Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_CFLAGS += -fPIC -pie
LOCAL_LDFLAGS += -Wl,-e,entry -llog
LOCAL_MODULE := main
LOCAL_SRC_FILES := main.c
include $(BUILD_SHARED_LIBRARY)