안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
현재 학교에서 임베디드 수업을 듣고 프로젝트를 수행 하려고 하는데요.
프로젝트는 안드로이드를 포팅하고 디바이스 드라이버를 호출하여 FND세그먼트를 이용하는 프로그램을 개발하려합니다.
응용프로그램에서 디바이스드라이버를 호출하는 메서드가 따로있나요? C언어 기반으로 배울때는
open() ,read(), write(), close()같은 low-level 함수를 사용해서 디바이스를 제어했는데 안드로이드는 잘 모르겠네요.
jni라는게 있던데 이것을 사용해야하는지..
그리고 응용프로그램을 만들면 테스트를 해봐야하잖아요. 테스트는 어떡해하나요? 수업에서는 nfs를 사용해서 했는데
안드로이드어플도 nfs사용해서 해야하는지..또 그방법은 어떡해하는지...
답변이 길다면 링크라도 걸어주세요...ㅜㅜ 부탁드립니다....
검색해서 찾아보려고하는데 제가 키워드를 잘못주는지 잘 못찾겠더라구요..ㅜㅜ
이제 저도 앞으로 안드로이드를 집중적으로 공부하고 안드로이드 개발자가 되고자 합니다.^^ 여기 우연히 찾게 되서
들어오게 됐는데 정말 좋은곳이군요 ㅎ 자주오겠습니다.
현재 학교에서 임베디드 수업을 듣고 프로젝트를 수행 하려고 하는데요.
프로젝트는 안드로이드를 포팅하고 디바이스 드라이버를 호출하여 FND세그먼트를 이용하는 프로그램을 개발하려합니다.
응용프로그램에서 디바이스드라이버를 호출하는 메서드가 따로있나요? C언어 기반으로 배울때는
open() ,read(), write(), close()같은 low-level 함수를 사용해서 디바이스를 제어했는데 안드로이드는 잘 모르겠네요.
jni라는게 있던데 이것을 사용해야하는지..
그리고 응용프로그램을 만들면 테스트를 해봐야하잖아요. 테스트는 어떡해하나요? 수업에서는 nfs를 사용해서 했는데
안드로이드어플도 nfs사용해서 해야하는지..또 그방법은 어떡해하는지...
답변이 길다면 링크라도 걸어주세요...ㅜㅜ 부탁드립니다....
검색해서 찾아보려고하는데 제가 키워드를 잘못주는지 잘 못찾겠더라구요..ㅜㅜ
이제 저도 앞으로 안드로이드를 집중적으로 공부하고 안드로이드 개발자가 되고자 합니다.^^ 여기 우연히 찾게 되서
들어오게 됐는데 정말 좋은곳이군요 ㅎ 자주오겠습니다.
일단은 조사가 좀 더 필요한걸로 보입니다. 최소한 안드로이드 구조라도 보고 오심을 추천 드려요.
안드로이드 구조를 보시면 아시겠지만 맨 밑에 리눅스 커널이 있고 그 위에 라이브러리가 존재 합니다.
구조상으로 보면 안드로이드 소스 자체를 건드리지 않는 이상은 드라이버에 직접적으로 접근할 방법은 없어 보이네요.
물론 오픈소스라 안드로이드 소스를 구할 수는 있는걸로 압니다만... 학기내 프로젝트로 그걸 건드리기는 좀 무리가 아닐까요?^^;
저도 자세히는 모르니 NDK쪽을 찾아보시는게 어떨까 합니다.
그리고 JNI는 안드로이드가 VM기반으로 돌아가기 때문에 c,c++ 소스를 dll로 만든다고 해도 바로 쓸 수가 없어서
호출규약을 맞춰주는 겁니다.