【问题标题】:Android NDK doesn't link static libraryAndroid NDK 不链接静态库
【发布时间】:2011-09-05 17:31:32
【问题描述】:

我的项目发生了一些谜团:)

我有一个使用静态库 libjpeg 的共享库。一切正常,但现在当我需要向项目添加一些更改时,它刚刚停止在我的共享模块中包含 libjpeg。

所以在它工作之前,我的共享模块(.so 文件)大约是 90Kb,现在它是 4Kb,应用程序无法运行,说它找不到 libjpeg.so

文件夹结构如下: /platform/libjpeg - 包含 libjpeg 的文件 /platform/libraries - 包含 libjpeg.a 和其他一些库


更新:在玩弄了这些项目之后,我发现问题出现在我想将 android:installLocation 添加到清单之后。遵循 Google 的向后兼容性建议 (http://developer.android.com/guide/appendix/install-location.html) 我将项目的 API 级别更改为 8(因此它解析清单时不会出错)并留下 minSdkVersion="7" (所以它在以前的版本上运行)。但是,项目中的这一特定更改会影响 NDK 构建。可能 libjpeg 包含在 android-8 中,它不想将其构建为静态库?

无论如何,问题是:在 Eclipse 中是否可以使用 API 级别 7 忽略清单中有关 installLocation 的错误,或者是否可以强制 ndk-build 使用 API 级别 7,同时在项目设置中保持级别 8?

【问题讨论】:

    标签: android eclipse android-ndk


    【解决方案1】:

    在 NDK 中,您可以找到文档 docs/ANDROID-MK.html。在本文档中,您将找到选项 TARGET_PLATFORM。这应该会有所帮助。

    【讨论】:

    • 刚试过这个,但不起作用。似乎 Eclipse 的设置优先级更高。
    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 2017-03-14
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多