2016-08-08 9 views
0

最近、特定のビルドIDをAndroidの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です。上記

が唯一のデモで、私はlast.hereでAndroid.mkにビルド-IDを設定する必要が私の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) 

出力ELFファイルには、一定のビルドIDを持っています私がどのように努力しているか。 Android.mkの特定のビルドIDをelfファイルに設定する方法はありますか?

ありがとうございました。

答えて

1

Android.mkでbuild-idを設定する場合は、変数LOCAL_CXXFLAGSまたはLOCAL_CFLAGSを使用しないでください。

ビルド-idはリンカに送られたので、あなたは、このようなLOCAL_LDFLAGSを使用する必要がありますされています

LOCAL_LDFLAGS += -Wl,--build-id=0xFFFFFFFFFFFFFF 
関連する問題