리눅스 & 안드로이드2014. 5. 12. 16:27

Open Source library를 android에서 사용하기 위해 NDK로 빌드를 해야 할 필요가 생겼다.

그 옛날(?) Gingerbread 일 때는, NDK에서 STL을 지원하지 않아서 stlport를 직접 빌드해서 넣거나, NDK에 stlport를 추가 해 놓은 NDK 버전을 사용해야 했었는데, 지금은 정말 편 해 졌더라.

MS Windows + NDK 환경에서 STL을 이용하고하 할 경우 아래와 같이 하면 간단히 해결된다. (정말 초 간단 함-0-)

 

  1. 우선 NDK를 다운로드 받아서 적당한 위치에 압축을 풀어준다.
    설치과정은 필요 없으며, 현재 최신 버전은 Android NDK, Revision 10e (May 2015) 이다.

  2. 소스 디렉토리를 구성한다.
    빌드 하고자 하는 소스는 jni 디렉토리 아래에 위치 해야 하며, 해당 디렉토리에 Android.mk / Application.mk 파일도 위치 해 있어야 한다. (ex. prj_root/jni/Android.mk, prj_root/jni/Application.mk 등)

  3. Android.mk 파일은 다른 Android.mk 파일을 참고하되, stl을 사용하기 위해서 추가해야 하는 내용은 없다.

  4. (여기가 중요!) Application.mk 파일이 중요한데, 여기에 다음과 같은 한 줄을 추가하면 C++11 STL이 shared library로 포함된다.
    APP_STL := stlport_static
    APP_STL := gnustl_shared
    APP_CPPFLAGS += -std=c++11

  5. 위 한 줄이면, include나 link path를 추가할 필요가 없다!!!
    단, 본인의 모듈에만 적용하고 싶다면, Android.mk 파일에
    LOCAL_CPPFLAGS += -std=c++11

  6. 여기에 추가로, tool chain을 선택할 수 있다. (gcc / clang)
    Application.mk 파일에 아래와 같이 추가해 주면 된다.
    NDK_TOOLCHAIN_VERSION := 4.8
    또는
    NDK_TOOLCHAIN_VERSION := clang

  7. 빌드는 (위의 예에서) prj_root 디렉토리에서, (NDK PATH)\ndk-build.cmd 를 실행하면 된다.

 

NDK_TOOLCHAIN_VERSION := clang

APP_STL := gnustl_shared

APP_CPPFLAGS += -std=c++11


이렇게 하면, 간단히 STL을 이용할 수 있다.

GB 시절(?)에 stl 사용하려고 삽질 했던걸 생각하면, 정말 껌이 되었구나!!! (__)

 

Posted by 세월의돌
애플 & 맥2014. 4. 25. 14:38

얼마전에 iPad mini retina를 큰 맘 먹고 구입 했었다.

목돈을 마련할 능력은 없기에, 용돈에서 할부를 내기로 하고 KT에서 LTE 버전으로 구입했다.

"내 사용 패턴을 보건데 64GB를 사야되!"라고 생각했었는데, 매진이 되어 버려 어쩔 수 없이 32GB를 구입.

하지만 몇 개월이 지나고 보니 32GB 정도로 충분 했다-_-; (64GB 샀으면 돈이 얼마야;;)

 

그리고,

"전화기에서 데이터가 남아 도는데 LTE를 사는게 낭비는 아닐까? 테더링 해서 사용하면 되는데..."

라는 걱정을 했었는데, 사용하면서 보니 기우였다. LTE가 되니 정말 편리하고 쓸모도 더욱 많아질 수 있다.

다만, 지금 전화기는 LG U+를 사용하고 있는데, KT의 LTE 수준은 정말 허접하다.

정말 느린 것이, 예전에 SKT 3G 사용할 때보다 약간 빠른 느낌? 이럴 줄 알았으면 SKT에서 구입할걸-_-;

 

여기까지는 짤막한 iPad mini retina에 대한 내용이었고...

이렇게 구입해서 주로 문서를 보거나 게임을 하던 용도였는데,

요즘 들어서는 종종 요약 정리할 일들이 많아지면서 iPad mini retina에서 Microsoft OneNote로 문서 작성을 하게 되었다.

당연한 이야기 이겠지만, 화면상의 키보드는 정말 불편했고, 그래서 키보드 커버를 알아 보다가, 아래 두 개가 눈에 들어왔다.

 

하나는 로지텍 Ultra Thin 키보드(왼쪽) 였고, 다른 하나는 무아스 아이패드 미니 키보드(오른쪽).

 

처음에는 무아스 아이패드 미니 키보드가 디자인도 좋은 것 같고 가격도 상대적으로 저렴해서 혹 했는데,

힌지 부분이 약하다는 얘기도 있고, 아무래도 A/S 같은 것 때문에 로지텍 것을 선택하게 되었다.

제한적인 정보를 가지고 온라인에서 제품을 선택한다는게 쉬운일이 아니기 때문에 이런 선택을 하게 되는군.

나쁜 선택은 아닌 것 같은데, 제품 받아서 좀 사용해 보고 나중에 후기 한번 정리 해 봐야겠다.

 

[사용 후기]

 

우선 문서를 작성하는데 있어, 키보드가 있고 없고의 차이는 정말 크다. 그만큼 키보드가 붙으면 효율이 높아진다.

그리고, 키보드를 사용하는 장점 중에 또 한가지는 입력 중에도 화면 전체를 사용할 수 있다는 것이다. (on screen keyboard가 나타나지 않으므로 전체 화면을 사용 가능하다)

BT를 이용한 연결은, 처음에 한번만 paring 해 놓으면, 이후로는 키보드에 붙어있는 스위치 버튼을 조작하면 쉽게 연결할 수 있다.

 

반면에 내가 느낀 불편한 점 또는 단점이라고 해야 하는 것들은 두 가지이다.

첫 번째는, 이 제품만의 불편한 점은 아닌 것 같은데, full layout keyboard 에서는 손이 위치하는 왼쪽 끝에 CAPS LOCK 키가 위치해 있고 그것에 익숙한데, 이 키보드는 'A' 키가 맨 왼쪽 가장자리에 있어서 (CAPS LOCK과 공유) 정말 어색하다. 익숙 해 지려면 시간이 걸리겠다.

두 번째는, 기존에 구입해 사용하던 플라스틱 백커버를 사용할 수 없다는 점. 이건 너무 크다. 후면에 보호 필름은 붙일 수 있다고 하는데, 나같이 애들이 집에 있으면 마구 집어 던지기 때문에, 보호 필름으론 부족하다. 그런데 도대체 함께 사용할 수 있는 플라스틱 백 커버가 없다. (로지텍에서 함께 만들어 팔던가 말이지-_-;) Folio 라는 라인업이 뒷면까지 보호하는 제품인거 같은데, 국내에서는 팔지 않는 것 같고... 이미 뜯어서 반품도 안되는 것 같고, 그냥 필요할 때만 꺼내서 사용하고 있다. ㅠ.ㅠ

Posted by 세월의돌