我正在尝试生成类似于/ sbin中的adbd的可执行文件。Android makefile生成静态可执行文件
我想要的可执行文件是ARM格式的iwlist,类型是静态的。
我增加了文件夹中的AndroidSourceCode /外部,执行“毫米”命令编译
LOCAL_PATH := $(call my-dir)
ifneq ($(TARGET_SIMULATOR),true)
include $(CLEAR_VARS)
LOCAL_MODULE := libiw
LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES := iwlib.c
LOCAL_C_INCLUDE += LOCAL_PATH
LOCAL_PRELINK_MODULE := false
include $(BUILD_SHARED_LIBRARY)
#================================================
include $(CLEAR_VARS)
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES := iwlist.c
LOCAL_SHARED_LIBRARIES := libiw
LOCAL_MODULE := iwlist
include $(BUILD_EXECUTABLE)
#================================================
endif # !TARGET_SIMULATOR
上述化妆文件实际上通过生成iwlist可执行与
iwlist: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses
shared libs), stripped
然而作品,我正在寻找“静态链接”,我想“LOCAL_FORCE_STATIC_EXECUTABLE:= true”这行应该帮助我静态地执行这个可执行文件。
不幸的是,它不。
请告诉我,如果你知道如何做到这一点。
在此先感谢。
的人?这使我困惑了几天...... – Sam 2012-07-17 05:34:42
尝试构建静态库而不是共享库来静态编译。 将{include $(BUILD_SHARED_LIBRARY)}行更改为{include $(BUILD_STATIC_LIBRARY)} – 2017-11-09 09:05:52