목록NDK (4)
Dharma
NDK (Native Development Kit Environment) 입니다. 구글은 Java 환경의 SDK 만 가지고 모든 것이 가능할 것이라고 주장했었으나, 몇 버젼 지나지 않아 자신들의 주장을 철회하고 Native C/C++ 프로그램이 가능한 NDK 를 공개했습니다. 왜 NDK 를 사용하는가에 관해서는 몇가지 이유가 있겠지만 - 빠른 연산을 위해서 (아무래도 C/C++ 이 자바 보다 속도가 빠른것은 주지의 사실입니다) - 수많은 Open Source 들이 아직도 C/C++ 로 되어 있기 때문에 일단 이 두개를 크게 들 수가 있겠습니다. 그렇다고 해서 윈도우 다루는 부분까지 전부 NDK 로 하는 것을 추천하지는 않습니다. 속도가 필요한 부분이나 위에서 언급된 오픈 소스로 만들어진 라이브러리를 응용..
Android NDK (Native Development Kit) 을 이용해서 개발하고 있습니다. NativeActivity 를 이용하고 있습니다. 그런데 작지만 해결하기 어려운 버그가 있습니다. NativeActivity 는 Java 의 Activity 의 일종인데 JNI 를 이용한 Native C/C++ Entry Point 를 쓰레드 (Thread)를 이용해서 호출하는 부분을 잘 감싸서 NDK 를 이용해서 개발하고자 하는 사람들에게 편의를 제공할려는 목적으로 만들어 진것으로 보입니다. 특히나 게임 , 전화, 멀티미디어 용 어플리케이션을 개발하는 사람들은 필히 관심을 가져볼 만합니다. 발생한 이슈는 제가 추천한 책에서 언급된 소스에 다른 모듈을 붙일려고 하는 순간에 발생했습니다. 참고로 만들어본 An..
저는 컴퓨터 관련 서적 자체를 잘 추천 안하는 편입니다. 요즘 같이 급박하게 기술이 바뀌는 세상에서는 사실상 공식 페이지가 최고의 레퍼런스가 되는 것이 현실이다 보니, 주변에서 기술 관련 서적을 산다고 하면 적극적으로 말리는 편입니다. 그러나 이 책은 정말 감히 추천할 만 합니다. 사실 저는 원서(Android NDK , Beginner's Guide)로 봤는데, 저자의 소스코드만 보더라도 상당한 내공이 느껴집니다. C++ 이나 Object Oriented Programming 에 상당한 조예가 느껴집니다. 팀원이 한글판으로 보고 있는데도 상당히 괜찮다고 하니 번역도 괜찮게 되어 있는 편인가 봅니다. 안드로이드에서 가장 어려운 축에 드는 NDK(Native Development Kit) 부분을 '따라하기..
요즘 Android NDK 를 이용해서 개발을 진행중인데, 화가 나는(?) 일이 발생해서 포스팅을 남기게 되었습니다. $(NDK_HOME)/docs/PREBUILTS.html 에 보면 A prebuilt module does not build anything. However, a copy of your prebuilt shared library will be copied into $PROJECT/obj/local, and another will be copied and stripped into $PROJECT/libs/. 이런 문구가 있습니다. 하지만 시키는 대로 하니 복사는 커녕 어떠한 동작도 발생하지 않는 것을 발견했습니다. 미치는 지 알았습니다. 한 두시간을 구글링 했어도 어디에서도 명확히 답을 주..