서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.
앞서 질문에 onTransact함수에 대해 질문했는데요
단방향 binder 서비스에서
안드로이드 터치 --> 커널 printf 출력을 했는데
안드로이드 분석과포팅책에 보면 양방향 IPC binder 서비스에 대해서 나와서 적용해봤는데요
양방향이다보니 onTansact함수를 두군데해서 호출하는데
한쪽 onTansact 함수에서는 printf 출력이 되고 LOGE는 출력안되고
다른한쪽 onTansact 함수에서는 printf 출력이 안되고 LOGE는 출력되고
이렇게 되더라구요
단방향 할때는 onTransact 함수코드는 c영역인지 알았는데 양방향일경우에는 그렇지 않은건가요?
안드로이드에서 printf 함수는 c나 c++로 작성한 독립 실행 process(간단하게 손으로 직접 실행하는???)
에서 주로 사용한다라고 보시면 됩니다.
안드로이드의 library중 liblog를 사용하실 경우는 LOGE 등을 쓸 수 있습니다.
그런데, 실제 쓰는 것을 보시면
printf: terminal에서 동작하는 standard output 함수
LOGE: android의 log system을 이용하는 함수
로 보시면 됩니다.
즉, pritf는 adb shell 혹은 serial console에서 직접 실행한 process에서만 동작되는 것을 보실 수 있을겁니다.