2016-08-08 2 views
0

최근에 Android에서 특정 빌드 ID를 elf 파일로 설정해야합니다.Android.mk에서 elf 파일의 빌드 ID를 설정하는 방법

첫째,이 같은 쉘 명령을 사용

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입니다. 아니,

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) 

출력 ELF 파일이 일정 빌드 ID를 가지고

위는 데모, 나는 last.here에 Android.mk에서 빌드 ID를 설정해야 내 Android.mk입니다 내가 어떻게 노력하는지. Android.mk에서 특정 build-id를 elf 파일로 설정하는 방법이 있습니까?

도움을 주셔서 감사합니다.

답변

1

Android.mk로 빌드 ID를 설정하려는 경우. 변수 LOCAL_CXXFLAGS 또는 LOCAL_CFLAGS을 사용하지 마십시오.

빌드 ID가 링커에 보내, 그래서 당신은이 같은 LOCAL_LDFLAGS 사용할 필요가있다 :

LOCAL_LDFLAGS += -Wl,--build-id=0xFFFFFFFFFFFFFF 
관련 문제