我正在嘗試生成類似於/ 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