簡體   English   中英

無法識別NDK預建的共享庫文件格式

[英]NDK prebuilt shared library file format not recognized

我一直試圖在github上關注這個示例以獲得基本的spotify實現工作,我已經按照設置步驟,安裝了所有必需的庫等,但在本機構建階段繼續收到以下錯誤。

**** 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 ****

我下載了特定於android的庫,然后嘗試了各種Linux ARM庫組合,看看會發生什么,結果總是一樣的。 從目錄中刪除libspotify.so ,構建因預期失敗,因為無法找到該文件,因此我知道該腳本正在嘗試處理該文件。

據我所知,我已經按照設置進行了說明,我目前的猜測是問題與運行64位版本的eclipse / java等有關。有誰可以解決這個問題?

您需要找出此文件的可編譯目標。 如果使用linux,請運行以下命令:

$ file libspotify.so

您將看到它是否可以使用armeabix86進行編譯。 然后,在application.mk ,您需要將APP_ABI設置為armeabiAPP_ABI:X86

事實證明,此問題是由.so文件的損壞存檔引起的。

當我重新下載它時,它工作正常。 謝謝你的幫助。

編輯

我找到了一個libspotify.so文件的版本,該文件已在此處正確提取。

我相信你可能不小心提取了libspotify.so (21 bytes) ,它只是共享庫libspotify.so.12.1.51 (1,961,644 bytes)的Unix符號鏈接。

至少那是我剛才所做的,這使我在這里。 后者需要重命名為查找名稱(libspotify.so),然后NDK才能正常運行。

希望這至少可以幫助另一個疲憊的靈魂。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM