티스토리 뷰

누가(nougat)버전에서 Invalid DT_NEEDED Entries 오류창이 뜰 경우...


jni에서 사용하는 so 파일의 이름이 지정되지 않았기 때문입니다.

makefile의 빌드 파라메터에 wl,-soname,[지정할이름.so] 항목을 추가합니다. 

([ ] 는 입력하지 않음)


확인 방법...

jni로 생성된 wrapper so파일에 아래 명령어를 입력해봅니다. (리눅스에서)

아래 처럼 라이브러리 이름 앞에 경로가 없어야 됩니다.



$ readelf --dynamic libSample.so | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libm.so]
 0x00000001 (NEEDED)                     Shared library: [libc.so]
 0x00000001 (NEEDED)                     Shared library: [libdl.so]
 0x00000001 (NEEDED)                     Shared library:
[C:\Users\build\Android\ci\jni\libBroken.so]
$


'개발 > Android' 카테고리의 다른 글

Android jni 에서 mbstowcs 사용 시 주의할 점...  (0) 2016.12.15
JNI String 파라메터 내용 변경하기  (0) 2016.09.21
Android JNI 연동  (0) 2016.07.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함