2013-03-28 2 views
2

기본 검색을 수행하기 위해 github의 샘플을 this 따라갔습니다. 설치 단계를 수행하고 필요한 라이브러리를 모두 설치했지만 계속해서 다음 오류가 표시됩니다. 네이티브 빌드 단계에서. NDK 미리 만들어진 공유 라이브러리 파일 형식을 인식하지 못했습니다.

**** Build of configuration Default for project LoginActivity **** 

c:\Android-ndk\android-ndk-r8e\ndk-build.cmd NDK_NO_WARNINGS=1 all 
Install  : libspotify.so => libs/armeabi/libspotify.so 
c:/Android-ndk/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-androideabi-strip:./libs/armeabi/libspotify.so: File format not recognized 
make: *** [libs/armeabi/libspotify.so] Error 1 
make: *** Deleting file `libs/armeabi/libspotify.so' 

**** Build Finished **** 

난 다음, 안드로이드 특정 라이브러리를 다운로드 단지 일어날 결과는 항상 동일 할 것을보고 리눅스 ARM 라이브러리의 다양한 조합을 시도했다. 디렉터리에서 libspotify.so을 제거하면 파일을 찾을 수 없어서 스크립트가 파일을 처리하려고하므로 빌드가 예상대로 실패합니다.

내가 편지에 대한 설정을 따라 갔다고 말할 수있는 한, 현재의 추측은 문제가 이클립스/자바 등 64 비트 버전을 실행하는 것과 관련이 있다는 것입니다. 누구든지이 문제에 관해 밝힐 수 있습니까?

+0

Android.mk 파일에서'LOCAL_SRC_FILES : = libspotify.so' 행을 제거하고 libspotify를 포함 시키려면'LOCAL_SRC_FILES : = libspotify.a'를 사용하십시오. libspotify 라이브러리를 Shared 또는 static으로 컴파일해야합니다 옵션 –

답변

1

이 문제는 .so 파일이있는 손상된 보관 파일로 인해 발생했습니다.

다시 다운로드하면 정상적으로 작동합니다. 도움을 주셔서 감사합니다.

편집

나는 제대로 here 추출했던 libspotify.so 파일의 버전을 발견했다.

+0

동일한 파일 형식 문제가 있습니다. 나는 Windows에서 7zip, cygwin 및 Linux를 사용하여 libspotify를 몇 번 시도해 보았습니다. 작동 시키려면 특별한 것을 했습니까? 다른 libspotify (45 & 51) 버전과 ndk 버전 (8re & 8rb)을 사용하여 Windows 및 OS x에서 시도했습니다. 난 항상 같은 오류가 발생합니다 : ( – marcus

+1

결국 아카이브가 포함 된 곳에서 github 프로젝트를 찾았습니다. 누군가가 성공적으로 압축을 풀고이 모든 문제를 피하기 위해 번들로 묶었습니다. 당신은 – ScouseChris

+0

을 좋아합니다. 좋을 것입니다! – marcus

2

이 파일의 컴파일 가능한 대상을 알아야합니다. 당신이 리눅스를 사용하는 경우, 다음 명령을 실행합니다 : 그것은 armeabi 또는 x86 컴파일 할 수있는 경우

$ file libspotify.so 

당신은 볼 수 있습니다. 그런 다음 에서 APP_ABIarmeabi 또는 APP_ABI:X86으로 설정해야합니다.

0

실수로 공유 라이브러리 libspotify.so.12.1.51 (1,961,644 bytes)에 대한 유닉스 심볼릭 링크 인 libspotify.so (21 bytes)을 추출했을 수도 있습니다.

최소한 내가 여기에서 나를 인도 한 것은 바로 이것입니다. 후자는 조회 이름 (libspotify.so)으로 이름을 바꿔야하며 NDK가 정상적으로 작동합니다.

희망이 있으면 다른 피곤한 영혼에게 도움이되기를 바랍니다. :)