본문 바로가기
IT 기술/Android

[Android] static library를 사용하여 shared library 만들기

by 땅뚱 2011. 8. 10.
안드로이드의 bionic c library 의 기본 함수들을 hooking 하여 원하는 코드를 추가하려고 한다.

추가되는 코드에 또다시 hooking 한 함수가 호출되는 경우, 즉 예를 들어 printf 를 hooking 하는데, hooking code 에 printf 가 추가되어 있는 경우, 코드가 이상 동작할 수가 있다.

해결책으로 기존 bionic c library 를 static 으로 만들고, hooking 하여 새로운 library 는 shared library 로 만드는 방법으로 해결하려고 한다. 즉 안드로이드용으로 컴파일된 static library 가 있고, 이를 static linking 하여 shared library 를 만드려고 하는데, 이때, Android.mk 파일은 아래와 같이 구성하면 된다.

Android.mk
LOCAL_STATIC_LIBRARIES := libstatic
include $(BUILD_SHARED_LIBRARY)