4

我一直在尝试按照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 等有关。任何人都可以解释这个问题吗?

4

3 回答 3

3

你需要找出这个文件的可编译目标是什么。如果您使用 linux,请运行以下命令:

$ file libspotify.so

你会看到它是否可以用armeabior编译x86。然后,在 中application.mk,您需要设置APP_ABItoarmeabiAPP_ABI:X86

于 2013-12-18T01:42:18.953 回答
1

事实证明,这个问题是由 .so 文件的损坏存档引起的。

当我重新下载它时,它运行良好。感谢您的帮助。

编辑

我在这里找到了正确提取的 libspotify.so 文件的一个版本。

于 2013-04-11T09:30:50.570 回答
1

我相信你可能不小心提取libspotify.so (21 bytes)了,它只是一个指向共享库的 Unix 符号链接libspotify.so.12.1.51 (1,961,644 bytes)

至少那是我刚刚所做的,它把我带到了这里。后者需要重命名为查找名称 (libspotify.so),然后 NDK 就可以了。

希望这至少可以帮助另一个疲惫的灵魂。:)

于 2014-03-14T09:14:57.383 回答