我们正在尝试在我们的 Android 应用程序中使用第三方 .a 静态库。.a 库是为 x86 构建的,我们将它与 PC linux 机器一起使用没有问题。
然后我们尝试通过这个 Android.mk 在 Android 上使用它:
LOCAL_PATH:= $(call my-dir)
# first lib, which will be built statically
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-first
LOCAL_SRC_FILES := rwl.a
LOCAL_MODULE_SUFFIX := .a
include $(PREBUILT_STATIC_LIBRARY)
# second lib, which will depend on and include the first one
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-second
LOCAL_SRC_FILES := second.c
LOCAL_STATIC_LIBRARIES := libtwolib-first
include $(BUILD_SHARED_LIBRARY)
我们得到这个错误:
could not read symbols: File in wrong format
是因为 .a 文件是用 x86 编译的并且我们正在为 arm 构建吗?
.a 文件是遗留文件,很可能无法从源代码重新编译。如果这是问题,还有其他解决方案吗?
谢谢。