안드로이드 어플리케이션에서 linux 커널 단의 드라이버를 접근하는 방법을 알고 싶습니다.
안드로이드 어플리케이션은 jni를 통해 ndk-api를 이용하여 핸들을 얻어올 준비는 되어 있습니다.
다만 커널단으로 접근 가능한 경로 또는 방법을 알고 싶은데 잘 모르겠네요.
방법이 있을까요?? 도와주세요~~~~~
android던 뭐던 일단 ndk로 작성가능한 상태가 되면 그냥 c 코드에서 kernel 단으로 호출시키면 됩니다.
그니까, android던 뭐던간에가 중요한게 아니라, kernel의 어떤 driver를 접근하고 싶으신건지가 중요한거죠.
/dev 를 통하던지 /sys 를 통하던지 /proc을 통하던지...
open() 함수로 "sys/module/xxxxxx" 접근해봤는데
코드가 13 이 나오네요. 에러 넘버 13이면 permission denied로 알고 있지만,
gadget으로 장치가 변경된 상태라서 디버깅 메시지를 볼수가 없어 접근이 안된것이라 추정만 하고 있습니다.
시리얼 접속으로 강제 권한변경 하여 접근해봤지만 마찬가지의 결과를 확인했네요.
기존의 다른 드라이버 노드들은 chmod로 권한변경 해주면 핸들을 얻어오는 것을 확인했었는데...
gadget의 특성 때문일까요??
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
android던 뭐던
android던 뭐던
일단 ndk로 작성가능한 상태가 되면
그냥 c 코드에서 kernel 단으로 호출시키면 됩니다.
그니까,
android던 뭐던간에가 중요한게 아니라,
kernel의 어떤 driver를 접근하고 싶으신건지가 중요한거죠.
/dev 를 통하던지
/sys 를 통하던지
/proc을 통하던지...
gadget 드라이버를 올리려는데요...
open() 함수로 "sys/module/xxxxxx" 접근해봤는데
코드가 13 이 나오네요. 에러 넘버 13이면 permission denied로 알고 있지만,
gadget으로 장치가 변경된 상태라서 디버깅 메시지를 볼수가 없어 접근이 안된것이라 추정만 하고 있습니다.
시리얼 접속으로 강제 권한변경 하여 접근해봤지만 마찬가지의 결과를 확인했네요.
기존의 다른 드라이버 노드들은 chmod로 권한변경 해주면 핸들을 얻어오는 것을 확인했었는데...
gadget의 특성 때문일까요??
댓글 달기