android构建静态库

标签 android android-ndk static-libraries

我计划将用户静态 Linux .a 库放入 android 中。 我使用以下链接创建了静态 .a 文件 http://codingfreak.blogspot.in/2010/01/creating-and-using-static-libraries-in.html

我的 Android 应用程序中有以下 Android.mk 文件。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE:= first-prebuilt
LOCAL_SRC_FILES:= libarith.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE := test-main
LOCAL_STATIC_LIBRARIES := first-prebuilt
LOCAL_SRC_FILES := native.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)

当我使用 ndk-build r7b 构建应用程序时,出现以下错误。

Сompile++ thumb  : test-main <= native.cpp
SharedLibrary  : libtest-main.so
/home/hiren/NDK-r7b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: /home/hiren/workspace/VideoTEST/obj/local/armeabi/libarith.a(addition.o): Relocations in generic ELF (EM: 3)
/home/hiren/workspace/VideoTEST/obj/local/armeabi/libarith.a: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [/home/hiren/workspace/VideoTEST/obj/local/armeabi/libtest-main.so] Error 1

谁能帮忙,我卡了好久,在这里... 提前致谢。

最佳答案

您需要以 android 格式构建您的静态库。另见 Error in linking C++ static library with android ndk(Error: file format not recognized)

关于android构建静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041158/

相关文章:

java - 将 Intent 转换为字符串,反之亦然

android - Toolbar NavigationIcon 宽松主题

c++ - std::getline 在 JNI 中获取错误

Android ndk 链接在 libgnuSTL_shared.so 上失败

android - 警告 : ABIs [armeabi-v7a, armeabi] 由 'android.injected.build.abi' 设置的 gradle 标志包含 'ARMEABI' 不是此项目的目标

c - 静态库和 JNI

android - 如何在 Android-x86 中从命令行启动 GUI

android - android 以触摸方式打开 Activity

c - IAR 使用不同的 #define 构建库

static-libraries - 是否可以使用 libtool 静态链接一些(但不是全部)库?