마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

/jni 폴더에 하위폴더가 있고 그 안에 있는 .mk 파일들을 빌드할 때의 문제점

0 추천

기존에 있던 안드로이드 소스를 받아서 NDK 부분 빌드를 진행하고 있습니다. 

/jni/ 폴더에 하나의 Android.mk 파일이 들어있고 3개의 하위폴더 안에 각각 Android.mk 파일이 들어있어

각각 빌드가 되는 구조입니다. 

 

/jni/Android.mk 파일의 내용은 include $(call all-subdir-makefiles) 밖에 없습니다. 

이 뜻은 하위 경로의 .mk 파일들일 빌드하라는 것으로 파악하고 있습니다. 

 

cygwin 에서 빌드를 해보면 다음과 같은 에러메세지가 나옵니다. 

NDK_PROJECT_PATH 가 지정되지 않았다는 말 같아서 cygwin 의 .bashrc 에 PATH 를 추가시켰습니다. 

export ANDROID_NDK=/cygdrive/d/Android_NDK/android-ndk32-r10b-windows-x86/android-ndk-r10b/
export PATH=$ANDROID_NDK:$PATH

export NDK_PROJECT_PATH=/cygdrive/d/$Project$/adt-bundle-windows-x86/workspace/Speco_onsip_rec

위 처럼 .bashrc 에 추가하고 다시 빌드 해본 결과 

위 처럼 에러가 났습니다. 

필드 스크립트의 위치 문제 인 듯 한데요 android.mk 파일의 경로가 

/jni/Android.mk 가 아니라 

/jni/CameraMonitor/Android.mk   ,  /jni/CameraPtz/Android.mk  , /jni/CameraVoice/Android.mk  

가 되어야 하지 않나 생각이 됩니다. 

제 상황처럼 jni 폴더에 하위폴더로 나눠진 .mk 파일들을 한번에 NDK 빌드 하면서 

생기는 문제점들에 대해 아시는 분이 계시면 알려주시면 감사드리겠습니다. 

 

익명사용자 님이 2014년 10월 8일 질문

1개의 답변

+1 추천
/jni/Android.mk 가 맞습니다. 이 위치에서 하위 폴더로 이동한뒤 Android.mk를 불러오는 형태이므로 맞습니다.

LOCAL_PATH 를 잘 이용하세요
aucd29 (218,390 포인트) 님이 2014년 10월 14일 답변
...