2013-04-19 2 views
1

안드로이드에서 Java 측에서 호출 된 네이티브 메소드에 어떻게 접근 할 수 있습니까? 내 문제는 특히 Android Media 패키지의 AudioRecord 클래스와 관련이 있습니다. AudioRecord.java의 소스 코드를 읽었습니다. 대부분의 작업은 다음과 같은 기본 메소드로 수행되는 것으로 나타났습니다.자바 측에서 호출 된 Android 네이티브 메소드

native_start (...), native_start (...), native_stop (...), native_read_in_byte_array (...), native_read_in_byte_array (...)

Android 소스 코드를 다운로드했지만 이러한 방법에 도달 할 수 없습니다. 그리고 나는 그들에게 접근하는 방법을 실제로 모른다. 소스 코드 디렉토리에서 찾은 라이브러리에서 이러한 방법을 찾지 만 성공하지 못했습니다. 누구나 아이디어가 있다면, 듣고 싶습니다. 감사합니다 ...

답변

3

나는 그들을 발견했다고 생각합니다. 리눅스 명령을

./ANDROID_SOURCE/.*

"을 native_read_in_direct_buffer을"

그렙 -r을 사용 후 나는 해당하는 CPP 파일을 발견했다.

AudioRecord.cpp가에 있습니다

android_media_AudioRecord.cpp는 ~/ANDROID_SOURCE/프레임 워크 /베이스/코어/JNI 디렉토리에 있습니다 ~/ANDROID_SOURCE/프레임 워크/AV/미디어/libmedia/디렉토리.

동일한 소스 파일에 기꺼이 접근하려는 다른 프로그래머를위한 참고 자료로 공유하고 싶었습니다.

관련 문제