Friday, June 10, 2016

Android N Preview 요약

안드로이드 N Preview
-멀티윈도우 서포트
-노티피케이션 커스텀(다이렉트 리플라이, 번들드)
-JIT/AOT 향상
-업데이트 설치 간소화
-Doze 향상
-백그라운드 최적화
-데이터 세이버
-OpenGL ES와 같은 Vulkan
-퀵 세팅 타일
-넘버 블로킹
-콜 스크리닝
-멀티 로케일
-새로운 이모티콘
-ICU4J API 유니코드
-OpenGL ES 3.2
-Android TV 레코딩
-Android For Work
-VR 지원
-Sign v2
-가상파일
-Scoped 디렉토리
-네트웍 시큐리티

Thursday, June 9, 2016

Android FFmpeg MacOS에서 빌드하기

인터넷에 안드로이드 FFmpeg 빌드하기 내용을 찾아봤보았다.
거의다 Linux거나 Windows의 cygwin으로 빌드하는 방법이 나온다.

그런데 MacOSX에서도 직접 빌드가 가능하다.
그리고 예전의 버전들에 비해서 빌드가 한결 간편해 졌다.
사용하는 버전은 다음과 같다.

Android NDK: r11c
ffmpeg: 3.0.2
MacOSX: El Capitan  10.11.5

먼저 다음 디렉토리에 ffmpeg 소스를 받아서 압축을 푼다.
~/android-ndk-r11c/sources/ffmpeg-3.0.2$

그리고 다음과 같이 config.sh를 만들어서 실행한다.
여기서 중요한 것은 다른 예제에서는 --target-os=linux로 설명하는데 안드로이드가 리눅스라도 그냥 빌드하게되면 .so파일 뒤에 .so.5.24 이런식으로 major, minor 버전으로 symlink가 걸리게 된다.
그러므로 반드시 --target-os=android로 설정하자.

#!/bin/bash
NDK=/Users/duongame/android-ndk-r11c
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
function build_one
{
./configure \
    --disable-symver \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=android \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one

빌드가 끝나면 다음 디렉토리에 include, lib가 생기는데 이것을 복사해서 ndk빌드할때 사용하던지, 패스를 설정하던지 하면된다.
~/android-ndk-r11c/sources/ffmpeg-3.0.2/android/arm

Thursday, June 2, 2016

MacOSX Visual Studio Code PATH 추가

Visual Studio Code를 열고 Shift+Command+P를 입력 후
"shell command"를 입력

Wednesday, June 1, 2016