모든 설명은 여기에..
https://developer.android.com/intl/ko/wear/preview/start.html
sdk api level 19부터 지원
시뮬레이터로 square, round 2가지 시계를 가지고 놀수 있다.
(아직 한글 안됨)
developer preview signing을 받아 폰에 Android Preview app을 설치하여
폰과 시계(시율레이터 ㅡㅡ;)를 연동하는 테스트를 해볼수 있음.
폰과 시계는 adb 포트포워딩을 통해 tcp연결함.
adb -d forward tcp:5601 tcp:5601
기본기능이 Notification을 통한 waer의 알림과 wear에서의 조작이 폰에 연동되는 기능임.
https://developer.android.com/intl/ko/wear/notifications/creating.html
아직 별거 없지만. 기능들이 점점 늘어날꺼라 기대함.
2014년 4월 3일 목요일
android용 ffmpeg shared library만들때
생성되는 라이브러리 이름이 libxxxx.so.<version> 라는 형식으로 생성되는경우
이는 안드로이드 빌드 시스템과 호환이 안된다.
아래와 같이 configure 파일의 부분을 찾아 바꿔줘야 함
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
이는 안드로이드 빌드 시스템과 호환이 안된다.
아래와 같이 configure 파일의 부분을 찾아 바꿔줘야 함
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
이것을
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
이렇게
android.mk에는 아래처럼 추가해주고
LOCAL_PATH := $(call my-dir)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libavcodec
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libavcodec-55.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libavformat
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libavformat-55.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libswresample
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libswresample-0.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libswscale
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libswscale-2.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libavfilter
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libavfilter-3.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libavresample
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libavresample-1.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libavutil
LOCAL_SRC_FILES := ./ffmpeg2.0.1/armv7-a/lib/libavutil-52.so
include $(PREBUILT_SHARED_LIBRARY)
# --------------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := MyNativeModuleName
LOCAL_CFLAGS := .....
LOCAL_CPPFLAGS := .....
LOCAL_C_INCLUDES := .....
LOCAL_SRC_FILES := .....
LOCAL_LDLIBS := .....
LOCAL_SHARED_LIBRARIES := libavcodec libavformat libswscale libavutil libswresample libavfilter libavresample libavutil
java쪽에서 아래와 같이 dependency에 순서에 맞게 라이브러리를 로딩합니다.
static
{
LOG.d(TAG, "Build.CPU_ABI : " + Build.CPU_ABI);
System.loadLibrary("avutil-52");
System.loadLibrary("avcodec-55");
System.loadLibrary("avformat-55");
System.loadLibrary("swresample-0");
System.loadLibrary("swscale-2");
System.loadLibrary("avresample-1");
System.loadLibrary("avfilter-3");
System.loadLibrary("MyNativeModuleName");
}
java쪽에서 아래와 같이 dependency에 순서에 맞게 라이브러리를 로딩합니다.
static
{
LOG.d(TAG, "Build.CPU_ABI : " + Build.CPU_ABI);
System.loadLibrary("avutil-52");
System.loadLibrary("avcodec-55");
System.loadLibrary("avformat-55");
System.loadLibrary("swresample-0");
System.loadLibrary("swscale-2");
System.loadLibrary("avresample-1");
System.loadLibrary("avfilter-3");
System.loadLibrary("MyNativeModuleName");
}
피드 구독하기:
글 (Atom)
-
대상이 되는 이미지를 SVG(Scalable Vector Graphics) 이미지로 변환 - 각종 툴이나 웹상에서 바로 바꿔주는 다양한 방법이 있음(검색 검색~) - 찾은거 하나 : http://image.online-convert.com/c...
-
MQTT mosquitto 서버 설치와 간이 테스트 https://mosquitto.org 모스키토 설치 brew install mosquitto 모스키토 서비스 실행 brew services start mosquitto 모스키...
-
Unity3d에서 Rust 라이브러리를 생성하여 rust함수를 호출해 보기 Rust를 사용하여 라이브러리를 생성/빌드 한 뒤 유니티에서 Plugin으로 dll import하여 함수 사용 -- Rust -- 숫자 2개를 더해 리턴하는 간단한 ...