我为Android构建了一些应用程序而不使用Android studio& NDK
我注意到如果我在没有"-static"
参数的情况下构建它们,那么Android就无法运行它们。
我无法在任何地方找到记录的原因,但我猜这与Android使用Bionic而不是glibc的事实有关。
是因为Bionic libc需要静态构建,(与“标准Linux”glibc相比,它也可以处理动态构建)?如果是这样,那么文件系统中有.so文件是怎么回事。
谢谢。
答案 0 :(得分:3)
你是对的,你需要-static
的原因是因为 Bionic 与 glibc 不是100%兼容。
您可以使用NDK工具链来构建应用,然后您可以删除-static
。
如果您不想学习 ndk-build 系统并在 Android.mk 中使用 include $(BUILD_EXECUTABLE)文件,在NDK is well documented中使用独立工具链。