1

我在不使用 Android Studio 和 NDK 的情况下为 android 构建了一些应用程序。

我注意到如果我在没有"-static"参数的情况下构建它们,那么 Android 将无法运行它们。

我在任何地方都找不到记录的原因,尽管我猜这与 Android 使用 Bionic 而不是 glibc 的事实有关。

是不是因为 Bionic libc 需要静态构建,(与“标准 Linux”glibc 相比,它也可以处理动态构建)?如果是这样,那么文件系统中怎么会有 .so 文件。

谢谢你。

4

1 回答 1

3

你是对的,你需要的原因-static是因为Bionic不是 100% 兼容glibc

您可以使用 NDK 工具链来构建您的应用程序,然后您可以删除-static.

如果您不想学习ndk-build系统并在Android.mk文件中使用include $(BUILD_EXECUTABLE) ,那么在 NDK 中使用独立工具链是有据可查的。

于 2017-02-14T16:31:41.260 回答