기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
Windows 상에서 Eclipse를 통해 JNI를 이용하여 SurfaceFlinger 부분을 수정해서 안드로이드 폰 상에서 보여주는 것을 해보려고 하고 있는데요.. 잘안되네요 ㅠ
지금 현재 상태는
libs 폴더에 froyo 버젼 라이브러리를 추가하고
코드는 C로 SurfaceFlinger 부분을 수정해서 구현한 다음 LCD 보드 상에서 돌렸던 C 예제소스를 JNI를 통해 연결한 상태 입니다.
빌드 부분에서
undefined reference to `android::Surface::lock(android::Surface::SurfaceInfo*, bool)'
다음과 같은 형태에 에러가 나고 있고요.
결론적으로 말씀 드리면 질문은
1. c로 수정된 surfaceflinger 부분을 JNI를 통해 연결해 빌드하고 실행 시켰을 때 안드로이드 폰에 보여줄 수 가 있나요?
2. froyo버젼 라이브러리를 libs폴더에 추가해서 사용하고 있는데 안드로이드 플랫폼 소스 빌드 한게 필요한 건가요?
제가 안드로이드 밑단 공부가 처음이라서 어플리케이션 부분만 공부하다보니 어떻게 해야할지 솔직히 감이 잘 오지 않습니다. surfaceflinger 부분만 C로 수정해서 JNI를 통해 연결하고 실행 시키면 될꺼 같은데 .. 흠..
제 말이 이해가 가셨는지 모르겠네요 ㅠㅠ
잘 알지 못하시더라도 조언이 될 만한 답변 부탁드립니다.
....아실거라 믿습니다 ㅋㅋㅋㅋ..
읽어 주셔서 감사합니다..
1. 관련 부분은 전호철씨를 통해서 답변을 드려야 겠네요. permission issue 처리 문제가 있어서요.
2. frameworks/base/libs/surfaceflinger_client 디렉토리의 내용이 없어서 그렇습니다.
실제로 froyo에서는 libsurfaceflinger_client.so 가 있어야 합니다.
gingerbread/ics 모두 관련 라이브러리가 조금씩 틀립니다.
내용은 이해가 가는데, surfaceflinger 부분은 permission 제어가 좀 심합니다.
audio부분은 쉽게 해결이 되는데, surface는 좀 까다롭습니다.