2012-03-16 4 views
0

안드로이드의 기본 질문. hello world cpp 파일을 작성하고 ndk-build를 사용하여 컴파일하고 실행 파일을 만들었습니다. 완벽하게 잘 작동합니다. 그리고 내가 좋아하는 Android.mk에 하나의 공유 라이브러리를 링크 :LD_LIBRARY_PATH를 내 보내면 왜 안드로이드 NDK 응용 프로그램이 충돌합니까

LOCAL_SHARED_LIBRARIES := mysimplelibrary 

지금, 나는 실행 파일을 생성하고 난 장치에서 실행 파일을 실행하면 장치에 밀어

export LD_LIBRARY_PATH=. 
./sample 

전 오류 :

[1] + Stopped (signal)   ./sample 

내가 뭘 잘못하고 있니? SHARED LIBRARY와 (과) 연결하는 동안 고려해야 할 변경 사항은 무엇입니까?

답변

0

두 공유 라이브러리 인 경우 앱에서 두 라이브러리 모두에서 loadlibrary를 호출해야합니다. NDK 문서/SYSTEM-ISSUES.html 파일에서 인용

+0

loadlibrary C++ 프런트에서? – Whoami

+0

Android 앱에서. 당신은'System.load ("libMyLibrary");를 호출해야하며, * .so 파일 둘 모두를 호출하면됩니다. – CaseyB

+0

바이너리를 장치의 쉘 프롬프트로 실행하려고합니다. 안드로이드 앱을 사용하고 있지 않습니다. – Whoami

0

:

가 충돌 이유
  • No support for LD_LIBRARY_PATH, LD_PRELOAD, RTLD_LOCAL and many other options.

.

관련 문제