상세 컨텐츠

본문 제목

[안드로이드] Eclipse에서 NDK-build 하기

Programming/안드로이드

by 영상털이범 2014. 1. 27. 05:23

본문

NDK를 사용할 시 ndk-build를 이클립스에서 편하게 할 수 있는 방법에 대해서 알아보도록 하겠다.

NDK-build를 하여 .so파일을 생성할 때 cmd창이나 cygwin 터미널을 이용하지 않고 이클립스에서 편하게 할 수 있다.


먼저 생성한 프로젝트의 [Properties] -> [Builders] -> [New] 를 선택한다.



Program 선택


이름은 NDK_Builder로 하였다. 

Location에는 Browse File System을 선택하여 ndk-build가 있는 위치를 지정해준다.

Working Directory는 현재 프로젝트의 위치를 지정해주면 되는데 Browse Workspace를 선택하여 해당 프로젝트를 선택해준다.


다음은 같은 창에서 Refresh를 선택하고 아래 그림과 같은 순서로 선택한다. 3번을 선택하면 새 창이 뜨는데 해당 프로젝트 파일의 jni 폴더를 선택해 준다.


다음은 Build Options로 넘어가겠다. 1번은 선택사항이다. 자동으로 빌드를 하는건데 컴퓨터가 느려지길 원하지 않는다면 선택을 하지 않아도 된다. 1번을 제외한 나머지 항목은 필수로 선택을 한다. 여기서는 해당 프로젝트의libs 폴더를 선택한다. 


설정이 완료 되었다. 이제 프로젝트를 빌드해보자.


콘솔창에 다음과 같이 나왔다면 빌드에 성공한것이다.


.c 혹은 .cpp파일의 내용이 변경되었을 경우는 [Project] -> [Clean] 에서 해당 프로젝트만 Clean을 해주고 다시 디버깅을 하면 된다.


이제 cmd창에 입력할 필요 없이 이클립스에서 clean -> Debug로 간단하게 ndk build를 할 수 있다.

하지만 이후에 다른 프로젝트에서 똑같은 방법으로 했을 경우 이름이 중복된다는 경고를 볼 수 있다. 그럴때는 Builder의 이름을 NDK_Builder(2) 이런식으로 바꿔주도록 하자. 왜 굳이 따로 또 만들어야 되는지는 모르겠다.. 


이 문제를 해결할 방법을 아시는분은 알려주세요~!^^



관련글 더보기

댓글 영역

  • 프로필 사진
    2014.08.18 21:37
    안녕하세요?
    안드로이드에서 open cv 라이브러리를 사용하기위해 ndk를 설치하고
    빌드까지 해보려고 안드로이드 프로젝트를 생성하고
    글에서 제시해 주신대로 따라가고 있었습니다.

    그런데.. 제 프로젝트에는 'jni'폴더가 따로 생성되지 않더군요..
    프로젝트를 생성할 때 다른 방법으로 생성해 주어야 하는 건가요??
  • 프로필 사진
    2015.04.27 10:23
    안녕하세요 글 보고 쉽게 NDK 빌드 설정했습니다. 감사합니다.

    이제 처음 시작하는 입장이라 조심스럽습니다만...

    이름 중복 문제는 NDK_Builder를 만들 때 Working Directory에 .externalToolBuilders 폴더가 생기고
    폴더 안에 '빌드이름.launch' 파일이 생기는데, 이 파일을 지우면 중복 문제는 해결이 될 것 같습니다.
    물론... 설정해논 빌드가 지워지긴 합니다...ㅎㅎ
  • 프로필 사진
    2015.08.12 15:07
    비밀댓글입니다