【问题标题】:NDK prebuilt shared library file format not recognizedNDK 预建共享库文件格式无法识别
【发布时间】:2013-03-28 11:23:00
【问题描述】:

我一直在尝试关注 github 上的 this 示例,以获得基本的 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 等有关。任何人都可以解释这个问题吗?

【问题讨论】:

  • 从 Android.mk 文件中删除 LOCAL_SRC_FILES := libspotify.so 行,如果你想包含 libspotify 然后使用 LOCAL_SRC_FILES := libspotify.a ,你需要使用 Shared 或 static 选项编译 libspotify 库

标签: android libspotify


【解决方案1】:

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

$ file libspotify.so

你会看到它是否可以用armeabix86 编译。然后,在application.mk中,需要将APP_ABI设置为armeabiAPP_ABI:X86

【讨论】:

    【解决方案2】:

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

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

    编辑

    我找到了一个 libspotify.so 文件的版本,它已被正确提取 here

    【讨论】:

    • 我遇到了同样的文件格式问题。我已经尝试了几次使用 7zip、cygwin 和 linux 在 Windows 上提取 libspotify。你做了什么特别的事情来让它工作吗?我已经在 Windows 和 os x 上使用不同的 libspotify(45 和 51)版本和 ndk 版本(8re 和 8rb)进行了尝试。我总是遇到同样的错误:(
    • 我最终在 github 上找到了一个使用它的项目,其中包含存档,我猜有人成功解压并捆绑它以避免所有这些麻烦。如果你愿意,我可以为你挖掘链接
    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      相关资源
      最近更新 更多