Android
-
The Java Native InterfaceAndroid 2010. 8. 3. 10:36
Chapter 7 The Invocation Interface This chapter illustrates how you can embed a Java virtual machine in your native application. A Java virtual machine implementation is typically shipped as a native library. Native applications can link against this library and use the invocation interface to load the Java virtual machine. Indeed, the standard launcher command (java) in JDK or Java 2 SDK releas..
-
_IO , _IOR , _IOW , _IORWAndroid 2010. 7. 21. 20:56
Android Framework 단을 공부를 하던중, binder의 개념이 나왔다.그래서 안드로이드용으로 포팅된 커널단을 확인하였다. /drviers/staging/android/binder.h 를 확인했더니, _IOR 형태로 define 문이 보인다. include/asm-arm/ioctl.h 에 매크로가 정의 되어있다.. _IO(type, nr) :: 데이터 전송 없음 _IOR(type, nr, size) :: 디바이스로 부터 데이터를 읽어옴 _IOW(type, nr, size) :: 디바이스로 데이터를 전송 _IORW(type, nr, size) :: 양방향 전송 ** type 매직번호. 한개의 번호를 정하고 드라이브 전체에서 이 값을 사용한다. ** nr 순서에 따른(차례로 붙이는) 번호 ** s..
-
안드로이드 디렉토리 구조Android 2010. 7. 19. 11:06
bionic : android bionic c라이브러리, GPL 라이선스를 회피하기 위해 사용되는 glic의 대체 작은 사이즈로 제한된 CPU에서 빠른 동작 수행 bootable : 부트로더 및 installer build : dalvik : Dalvik VM 소스코드 development : Android SDK external : Android 외부에서 사용하는 유틸리티 framework : HAL 관련 소스코드 hardware : kernel : Android kernel packages : Android application prebuilt : system : hardware에 관련된 소스
-
Native Library 따라가보기Android 2010. 7. 15. 10:35
안드로이드에서 GPS 를 enable 시키면, 아래에 나와있는 GpsLocationProvider.java 함수에 있는 enable를 호출하게 된다. ==================================================== cupcake-work/src/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java ==================================================== if (Config.LOGD) Log.d(TAG, "enable") { if (mEnabled) return; mEnabled = native_init();//native_inti?init(..
-
ubuntu 9.10 에서 android full source 빌드Android 2010. 7. 14. 23:13
ubuntu 9.10 에서 android full source 빌드 해보자. 9.04에서와 별 다른게 없어야 하지만, java version때문에 약간의 문제가 발생하였다. ubuntu 9.10 설치 후 아마 android sdk 사용을 위해서 sun-java6-jre, jdk package를 설치 하였나 보다. 아니면 java 1.5, 1.6 이 설치되어 있는 상태에서 9.10으로 업그레이드를 하면서, 구패키지인 1.5가 자동으로 삭제가 되었거나.. ************************************************************ You are attempting to build with the incorrect version of java. Your version is: j..
-
안드로이드 네이티브 라이브러리ⅠAndroid 2010. 7. 14. 20:10
이번 컬럼에서는 기존에 C/C++ 로 개발한 코드가 안드로이드 플랫폼에서 어떻게 동작하는지 안드로이드 플랫폼 구조를 통해 알아보고, Java 응용프로그램과 연동하기 위한 다양한 방법을 소개한다. 또 C/C++ 코드를 안드로이드 플랫폼에서 동작하는 바이너리로 빌드할 수 있는 툴체인 안드로이드 NDK에 대해 알아보고 간단한 사용법에 대해 알아보도록 하겠다. 이상욱 bumwoogi@gmail.com|새로운 기술을 배우는 것을 좋아하고 다방면에 관심이 많은 오지랍쟁이 개발자. 얼마전까지 무인잠수함을 만드는 것을 계획하였으나 도중하차 하였고, 지금은 전 인류에 공헌할 대단한 소프트웨어를 만드는 것을 꿈꾸고 있다. 이번 컬럼은 가상의 시나리오를 통해 실제 프로젝트 진행 중에 벌어질 수 있는 문제상황을 제시하고 동시..
-
proc 파일 시스템Android 2010. 7. 13. 01:01
현재 보드(S3C6410)에 안드로이드를 올려보려고, 여러가지 시도를 하고 있다. 여러가지 시도라 하면, 보드에 포팅 되어져 있는 2.6.29 커널과 이 커널 위에 올라가게 되는, 아드로이드 이클레어(2.1) 버젼을 가지고 계속해서 테스팅 하는것이다. 그러다가 안드로이드가 올라가면서, 어느 순서대로 초기화를 시켜주는 스크립트를 보게 되는데, 여기 코드를 살펴보면 아래와 같이 되어 있다. ##we uses jffs2 as rootfs #mount rootfs rootfs / ro remount write /proc/sys/kernel/panic_on_oops 1 write /proc/sys/kernel/hung_task_timeout_secs 0 write /proc/cpu/alignment 4 write..