안드로이드 개발 질문/답변
(글 수 45,052)
안드로이드 계층이 여러개 있는데.. 커널 / 추상화계층 / 라이브러리 / 등등....
그중 라이브러리 계층에서 C라이브러리를 만들어서 추상화 계층의 디바이스 호출해서 제어하고, 어플리케이션계층에는 API를 제공하고 싶은데요...
개발용 안드로이드 킷이 아닌, 일반폰에서 가능할까요?
2011.11.16 09:41:57
안녕하세요
저도 정확히 알지는 못하지만 아는 선에 답변드리오니, 참고만 하시면 좋을듯 합니다.
정확한 정보는 보다 많은 경험이 있는 개발자 분들께서 보다 정확한 답변을 주실수 있을거란 생각이 들구요^^;
제가 말씀드리는게 정확한 예가 될지는 모르겠으나,
한예로 Fragment라는걸 아시는지요?
Android 3.0부터 나온 개념인데 화면을 분할하거나 Activity간의 정보를 교환하기 위해서 Google에서 준비하여 베포를 한 부분입니다.
문제는 이것이 android 3.0부터 나온 것이기 때문이 이하버전 Froyo나 GingerBread에서는 Fragment가 적용이 되지 않아 ICS대비하는 차원에서 미리 소스코딩을 하거나 API Demo등을 타블렛 혹은 에뮬레이터로만 확인할 수가 있었지요
하지만 구글에서 라이브러리를 배포를 하여 일정 세팅만 해준다면 Android 3.0이하버전에서도 Fragment라는 클래스와 패키지를 사용할수가 있었습니다.
저는 지금 Android 개발자로서 일을 하고 있지만 제 업무는 Framework쪽이다 보니 그 이하 단(커널쪽)에 대한 업무는 정확하게 진행되는 것은 모르겠으나, 회사 고유의 라이브러리를 제공을 하고 이를 빌드 타임시에 같이 넣어서 빌드를 하게 될 경우에 자체적인 API를 이용하여 Application을 만들 수 있다고는 합니다. 실제로 저는 라이브러리를 추가하고 이클립스 안에서 자체 api를 이용하여 시스템 테마나 스타일, 폰트 등을 적용하여 app을 개발한적도 있구요;
개발용 보드는 제가 직접 사용해본적이 없는지라.....
도움이 좀 되었길 바랍니다.
아마도(?) 가능할 수 있을거라 생각이 듭니다.




뭐 C라이브러리를 만들어서 디바이스 호출해서 제어하고 App계층에서 API를 제공하는건 소스상에서 이루어지는 단계라 크게 문제가 될건 없다고 보여지지만, 개발된 api를 이용하여 보여지는 일종의 이펙트나 Framework계층에서 구현하는 건 힘들거라 생각이 듭니다.
application단에서 개발되어 제공되는 거라면 해당 라이브러리를 설치를 해야만 호환이 되거나 하는 문제도 존재할거라 생각이 들구요
우선적으로 빌드를 해서 부트 이미지를 생성을 해야 하기도 하구...이것저것 복잡한 일이 많을거라 예상이 드옵니다만