제가 시스템 드라이버 개발자다 보니 커널쪽을 주로 작업해와서

이번에 플랫폼까지 건드리면서 테스트 어플을 추가해서 기능 확인을 하려고하다보니

어려움이 많아 조언 요청을 드립니다.

 

안드로이드 프레임워크 소스를 보면 cpp로 구성된 데몬 소스에서 (예, vold 등)

system("mount 어쩌고"); 이런식으로 shell에서 명령을 내리듯 실행할 수 있는 커맨드가 있는데

이걸 안드로이드 테스트 어플을 추가해서 cpp 소스에 접근해

저 system(" "); 커맨드를 사용하려면 어떤 절차를 거쳐야 하는지 궁금합니다.

 

테스트로 안드로이드 어플을 추가하고 그 어플에서 버튼을 누르면

cpp쪽으로 내려와 system(" "); 특정 shell tool을 실행시켜 주면 되는 상황입니다.

 

JNI를 추가해서 제가 구현한 안드로이드 테스트 어플에서

JNI 통해 커널 디바이스 드라이버를 제어하는건 다 확인한 수준인데

system(" "); 커맨드가 cpp에서 사용할 수 있다 보니

JNI의 c layer에선 사용이 불가능하여 어딜 어떻게 확인해야할지 헤메고 있습니다.

 

안드로이드 어플에서 syste(""); 커맨드를 사용하려면 어떻게 해야하는지

경험 있으신 분 계시면 조언 부탁드립니다.