본문 바로가기
[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 Afternoon  (0) 2011.05.23
AndroidCodec 1st Morning  (0) 2011.05.23
Android CTS(Android Compatibility Test Suite)  (0) 2010.12.01
Linux4Android 5th Afternoon  (0) 2010.11.12

댓글0