![](/img/trans.png)
[英]Android : link prebuilt shared library (.so) within jar file in 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
您將看到它是否可以使用armeabi
或x86
進行編譯。 然后,在application.mk
,您需要將APP_ABI
設置為armeabi
或APP_ABI:X86
。
我相信你可能不小心提取了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.