ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NDK-Build 하기 ( NDK 시작 )
    안드로이드/학습&강좌 2011. 8. 9. 18:06

    가. 서론

     Android에서 jni를 사용을 하려면 NDK 라는 것을 설치 해야 한다고 하더군요

     왜 jni를 써야 하는지 아직은 모르지만 -_-;;a 일단 NDK라는 놈을 구경하려면

     셋팅을 좀 해야 하기 때문에 정리 해봅니다 ㅎㅎ;a

     

     ※ Android SDK가 설치 안된 분들은 naver에서 검색 하셔서 SDK부터 설치 하셔야 합니다.

       - 일단 전 다 설치 되어 있다보니 -_-;;a  패스 합니다. ㅎㅎ;

     

    나. NDK 다운로드 받기

     1. URL : http://developer.android.com/sdk/index.html

       - Android developers 사이트로 가시면 SDK tab을 선택 합니다.

       - 좌측 메뉴에서 Native Development Tools 메뉴를 아래 NDK 어쩌고 이걸 클릭!

         Download the Android NDK 라는 곳으로 이동되고 사용하는 OS에 맞는걸 선택하면

         되지만....전 Windows를 기준으로 설명합니다. ㅋ

       - 여튼... 최신 버전 NDK 버전을 요 아래 페이지에서 받으시면 됩니다.

    다. Cygwin 다운 받기

     1. Cygwin URL : http://www.cygwin.com/ 

      - NDK를 다운받는 동안 페이지를 내리면서 읽다 보면..Required development tools 라고

         써져 있습니다. 구글횽아 한티 물어본 결과 "필수 개발 도구" 라내요

      - Cygwin 사이트를 연후에 아래로 스크롤을 좀 내려보면

        "Installing and Updating Cygwin and its Packages" 라고 써진 소제목 바로 위에

         Install or update now!(using setup.exe)이라고 적힌 아이콘을 선택하여 다운로드를

         받으면 됩니다.

    라. Cygwin 설치하기

     1. setup.exe를 실행 합니다. 

      - install directory 와 package directory를 적당한 위치에 잡아주고,

        Direct Connection 으로 다운로드를 받으시면 됩니다. 중간에 끊어지면 다시 해보세요 -_-;;

     

     2. Packages 선택하기

        설치의 진리인 "다음"을 누르다 보면..Cygwin Setup - Select Packages 라는 창이 나옵니다.

      - Search 창에서 gcc를 입력 한 후 Devel 앞에 "+" 를 눌러서 창을 엽니다.

       => gcc-core: C compiler, gcc-g++: C++ compiler 를 필수 적으로 설치 해야 하고...

           또 뭐가 있을까나요 ... -_-??

    ps : 고르기 힘들면 다 깔면 되죠 모 ;; Default 이걸 클릭 하면 install로 변경되고 Devel 목록

           전체가 다 설치로 설정 됩니다. ㅋㅋㅋ "다음" ㄱㄱ씽~

     

      - 좀 오래 기다리면 힘들지 않게 설치된걸 볼수 있을겁니다.

         전 너무 오래 걸려서 그냥 퇴근 해버렸내요ㅠㅠ 다른것도 막 설치 햇더니 그런듯하내요..

     

    너무 오래걸리내염 ... 설치하기는 다음에 일단 요기까지만 정리 합니다. ㅠ

    ms word 에서 작업 할껄 그랫낭.. 왜리 빡세 이거 ㅠㅠ

     

     

    마. NDK 설치하기

     1.  Cygwin 이 설치된 폴더 안의 home에 위에서 받은 NDK 파일을 복사합니다.

      - C:\cygwin\home/계정명/ 여기에다가 android-ndk-r4.zip 압축을 풉니다.

          

      - home 아래 android-ndk-r4 를 Copy한 모습입니다.

     

     2. ndk 문서를 읽어보니 따로 설치는 필요 없답니다. ;;; 패치 되었다내요 ㅎㅎ;a

     

    바. NDK 빌드해보기

     1. 참 힘드내요 문서가 영어다 보니 -_-;;

     

      - 이 그림 하나면 모든 설명이 끝났다고 생각되내요.. 이래 보면 간단한대.. 리눅스에서의

         컴파일 이란거 자체를 안해봐서리 엄청 해멨내요 ㅠㅠ...

      - 저기 그림엔 좀 빠져 있는데... android-ndk-r4 이 폴더 아래에 ndk-build 라는 파일이

         있는데 이게 쉘로 만들어진 빌드 하는 파일로 생각되내요

      - 여튼 저렇게 컴파일을 하게 되면 .so 파일이 만들어집니다. 끝~ ㅎㅎ

     

    = 다 쓰고 읽어 보니 그림으로만 대강 설명 한거 같아 추가 합니다. ㅠㅠ 

      ① 빌드할 프로젝트 폴더인 samples로 이동합니다.

        ex) android-ndk-r4/samples/hello-jni

      ② ndk-build 를 실행하여 빌드를 시작 합니다.

        - [android-ndk-r4의 전체 경로]/ndk-build -B

        ex) /home/dizmahs/android-nkd-r4/ndk-build -B

     

    바. NDK 빌드옵션 .. 일꺼예요 ㅡㅋ...

     - android-ndk-r4/docs 폴더에 있는 문서 중 HOWTO.txt 문서를 보시면 됩니다. ㅎㅎ;

     

    How to force a rebuild of all your sources:
    -------------------------------------------

    Use GNU Make's "-B" option, as in:

       ndk-build -B


    How to build a project's native files without cd-ing to it:
    -----------------------------------------------------------

    Sometimes, you may need to rebuild a project's native file without
    being able to cd to its top-level path from the command-line. This
    is do-able by using the GNU-Make '-C <path>' option, as in:

        ndk-build -C <project-path>

     

    - Android에서 JNI 실행은 조낸 삽질좀 해보고 나중에 추가 할께여 ㅋㅋ 젠장 ㅠㅠ;

     

    아. Android에서 JNI 실행 해보기

     1. Sample파일 가져오기

      - Sample 파일 경로 : android-ndk-r4\samples\hello-jni

      - 이클립스에서 New Project를 해서 프로젝트를 가져옵니다.

          

        - 이클립스에서 NDK 샘플 프로젝트를 가져온 화면 입니다.

        - "바"에서 빌드를 하면서 생성된 so 파일이 안보이면 project를 refresh를 해줍니다.

     

     2. 부연 설명

      - 샘플 프로젝트를 가져와서 하는거다 보니 특별한 것은 없습니다.   

      - project 폴더 아래 있는 jni 폴더 아래 Android.mk 파일이 항상 존재해야 합니다.

        Application.mk를 만들어서 Android.mk 파일이나 C파일의 경로를 바꿔줄수 있긴한대

        의외로 잘 안되더군요... -_-;;

     

     켄시우드 에서 퍼온 글입니다. ^^

    댓글

COPYRIGHT 2010 EpoNg. ALL RIGHTS RESERVED.