본문 바로가기
[Developer]/Android

AndroidCodec 1st Afternoon

by 해피빈이 2011. 5. 23.

 

ARToolkit만들기

 

#!/bin/sh

javah -jni -o preview_handler_jni.h -classpath ../bin/ edu.dhbw.andar.CameraPreviewHandler

javah -jni -o marker_info.h -classpath ../bin/ edu.andar.ARToolkit

 

  1. AndAR은 안드로이드 기반 증강현실 앱이다.

    1. 압축을 C에 특정 폴더를 생성하여 해제
    2. android/AndAR
  2. Cygwin을 실행(cd /cygdrive) 주의할 사항은 ndk압축이 해제된 위치. 가능하면 PATH 지정.

    1. ndk-build 명령을 위치에 제한없이 사용가능
    2. cd /cygdrive/c/android/AndAR
    3. /cygdrive/c/ndk-build-xxx/ndkbuild 명령어를 실행한다.
    4. JNI에 대한 기본개념과 JNI 기반 헤더가 필요
  3. 위와 똑같다.

    1. cd /cygdrive/c/android/AndAR/jni
    2. rm *.h(marker_info.h, preview_handler_jni.h 파일 삭제)
    3. ./jni.sh(헤더 생성)
    4. cd ..
    5. /cygdrive/c/ndk-build-xxx/ndkbuild === jni 폴더의 파일을 읽어서 Android.mk 파일에 지정된 룰을 기반으로 한다.
    6. 자동으로 libs/armeabi 그리고 libs/armeabi-v7a 폴더 아래에 libar.so파일을 복사한다.
  4. ffmpeg을 빌드진행한다.

 

Android NDK (Android Native Development Kit)

 : 안드로이드 어플리케이션에서 Native코드로 작성된 라이브러리를 사용하는 것을 간편하게 만들기 위해 개발자에게 제공되는 툴.

 

NDK컴파일 시에는 컴파일러의 버전, 툴체인의 버전이 매우 중요하다. 꼭 체크해보아라.

 

- so파일로 만들어진 Native binary는 apk파일에 포함되고 apk파일을 install하면 /data/data/패키지명/lib/ 디렉토리 안에 자동으로 설치된다.

 

dalvik은 freefork로써 zygote에 바로 붙여버리기 때문에 빠르다.(리눅스와의 차이)

 

logcat은 kernel의 logger가 활성화 되어있어야 사용할 수 있다.

앱에서 적용하려면 java를 하고나서 native를 하는게 좋다.

 

ffmpeg를 빌드해보는게 오늘 마무리 목표!!

이 글은 스프링노트에서 작성되었습니다.

반응형

'[Developer] > Android' 카테고리의 다른 글

AndroidCodec 2nd Afternoon  (0) 2011.05.25
AndroidCodec 2nd Morning  (0) 2011.05.24
AndroidCodec 1st Morning  (0) 2011.05.23
Android CTS(Android Compatibility Test Suite)  (0) 2010.12.01
Linux4Android 5th Afternoon  (0) 2010.11.12

댓글