我有两个从指定项目构建的静态库。
ARMv5 / myLib.a
ARMv7 / myLib.a
现在,我想使用这些库并为 ARMv5 和 ARMV7 平台构建两个共享库。
有没有办法指定我想使用我的静态库的两个版本? 现在,我在我的 ANT 脚本中做了一个坏把戏,它只包含:
- 复制静态 ARMv5 库。
- 构建共享库 (ARMv5)。
- 删除ARMv5静态库,复制ARMv7版本。
- 再次构建共享库 (ARMv7)。
我知道有
"APP_ABI := armeabi armeabi-v7a"
但是如何告诉他我想从两个独立的静态库中构建而不只是从一个静态库中构建呢?
问候,
最佳答案
这可能不是最好的方法,但您可以尝试在 Android.mk 中使用 if else 语句并检查 APP_ABI 值并使用相应的库。
ifeq ($(APP_ABI), armeabi-v7a)
LOCAL_SRC_FILES := ARMv7/myLib.a
else
LOCAL_SRC_FILES := ARMv5/myLib.a
endif
或者使用 LOCAL_STATIC_LIBRARIES 以防您直接链接它们。当然,您的 Application.mk 应该包含您声明的行:
APP_ABI := armeabi armeabi-v7a
关于android - NDK - 从静态库构建 ARMv5/ARMv7 共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18182308/