2011-01-07 3 views
1

Android JNI에 C++ 응용 프로그램을 이식하는 중 ... 테스트 목적으로 C++ cout 및 cerr을 Android TextView 또는 유사한 디스플레이로 라우팅하려고합니다. 이미이 작업을 수행하는 오픈 소스 JNI 어댑터가 있습니까? 그렇지 않다면, 빠른 어댑터에 이런 어댑터를 쓰는 방법에 대한 힌트를 드리겠습니다. & 더러운 방법. 이 Android n00b를 도와 주셔서 감사합니다.C++ 출력 스트림에서 Android TextView 또는 이와 동등한 어댑터로의 어댑터?

답변

0

테스트 목적으로 Android의 기본 로깅 기능을 사용하십시오. Android.mk에서

#include <android/log.h> 

__android_log_write(ANDROID_LOG_ERROR, "MyProject", "Hello world"); 
__android_log_print(ANDROID_LOG_ERROR, "MyProject", "The value is %d", value); 

, 링크 소스 목록에 liblog 추가

LOCAL_LDLIBS := -llog 
+0

감사합니다, 나는 할 수 이것들을 사용하기 위해 매크로를 다시 작성을 참조하십시오. 그러나 나는 아직도 안드로이드 화면에서 "실시간"으로 메시지가 나오는 것을 보는 것에 관심이있다. –

+0

Android 화면이어야합니까 (디버거가 아닌)? 그리고 그것은 cout/cerr이어야합니까? 전화기 화면은 콘솔을 에뮬레이트하여 사용하지 않는 것이 가장 좋습니다. 즉, 자국에서 만든 OutputStream을 JNI 라이브러리에 전달하고 JNI 호출을 통해 원하는 모든 바이트를 원하는대로 쓸 수 있습니다. 다른쪽에있는 바이트에 어떤 일이 일어나는가는 당신의 책임입니다. TextView 또는 기타로 라우팅 할 수 있습니다. 이 접근 방식에는 많은 측면이 있습니다. 어느 것이 당신에게 묻고 있는지 확실하지 않습니다. 그러나 그것을 디버그 출력에 사용하는 것은 과도한 것입니다. –

+0

Android 에뮬레이터에서 기존의 Linux 명령 줄 앱을 실행하고 싶습니다. 초기 테스트 목적으로 콘솔 출력을 모두 다시 작성하지 않아도됩니다. "콘솔"과 유사한 것이 작동합니다. 그것은 (에뮬레이트 된) 전화 화면 일 필요는 없습니다. 분명히 안드로이드 로거가 배포를위한 적절한 선택이지만, 나는 개념 증명 단계에 있습니다. –