2016-08-08 10 views
0

Ich muss vor kurzem spezifische Build-ID zu einer Elf-Datei in Android setzen.Wie setze ich Build-ID einer Elf-Datei in Android.mk

Zunächst verwende ich Shell-Befehl wie folgt aus:

arm-linux-androideabi-gcc -pie -Wl,--build-id=0xFFFFFFFF --sysroot /home/chengyi/code/android_6.0.1_bullhead/prebuilts/ndk/9/platforms/android-18/arch-arm main.c 

readelf -n a.out .everthing OK ist.

Oben ist nur eine Demo, ich brauche bei last.here in Android.mk Build-ID eingestellt ist mein Android.mk:

LOCAL_PATH:= $(call my-dir) 
    include $(CLEAR_VARS) 

    LOCAL_SRC_FILES:= \ 
     main.cpp 


    LOCAL_SHARED_LIBRARIES := \ 
     liblog \ 
     libdl \ 


    LOCAL_C_INCLUDES := \ 
     $(LOCAL_PATH)/ \ 
     bionic \ 

    LOCAL_MODULE:= a.out 

    LOCAL_CXXFLAGS := \ 
     -pie -Wl,--build-id=0xFFFFFFFFFFFFFFFFFF --sysroot /home/chengyi/code/android_6.0.1_bullhead/prebuilts/ndk/9/platforms/android-18/arch-arm \ 

    include $(BUILD_EXECUTABLE) 

Die Ausgabe elf Datei eine konstante Build-ID hat, keine Egal, wie ich mich anstrebe. Gibt es eine Methode, um eine spezifische Build-ID zu Elf-Datei in Android.mk festzulegen?

Vielen Dank für jede Hilfe.

Antwort

1

Wenn Sie Build-ID von Android.mk festlegen möchten. Verwenden Sie keine Variable LOCAL_CXXFLAGS oder LOCAL_CFLAGS.

Build-ID wird an Linker gesendet, so müssen Sie LOCAL_LDFLAGS wie folgt verwenden:

LOCAL_LDFLAGS += -Wl,--build-id=0xFFFFFFFFFFFFFF 
Verwandte Themen