리눅스 & 안드로이드2012. 3. 17. 13:24
adb shell로 target 또는 emulator의 shell을 실행 한 다음, shell에서 실행할 수 있는 바이너리를 생성할 필요가 있다.
이러한 경우 아래와 같이 Makefile을 만들어 컴파일 할 수 있다. (단, android 전체 소스가 빌드되어 있어야 함)

NDK_PATH = /home/user/android-ndk-r7b

NDK_ARCH = $(NDK_PATH)/platforms/android-14/arch-arm

SRC_ROOT = .

REF_ROOT = /home/user/source/android/out/target/product/generic/obj/

CC  = $(NDK_PATH)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc

CFLAGS  = -I$(REF_ROOT)/KERNEL_OBJ/usr/include -I$(NDK_ARCH)/usr/include/

LDFLAGS = -Wl,-rpath-link=$(REF_ROOT)/lib -L$(REF_ROOT)/lib -nostdlib $(REF_ROOT)/lib/crtbegin_dynamic.o -lc


all:

$(CC) -o abinary abinary.c $(CFLAGS) $(LDFLAGS)



Posted by 세월의돌