如何为android arm和x86构建libvpx?

如何为android arm和x86构建libvpx?,android,android-ndk,libvpx,Android,Android Ndk,Libvpx,我一直在为armeabi-v7a构建Android应用程序。现在,为了增加对x86的支持,我扩展了Application.mk: APP_ABI := armeabi-v7a x86 我遇到的第一个问题是,可以为arm或x86配置libvpx: $ ./libvpx/configure --target=armv7-android-gcc ... OR $ ./libvpx/configure --target=x86-android-gcc 想知道如何处理多个平台。是否为两个平台创建两个不

我一直在为armeabi-v7a构建Android应用程序。现在,为了增加对x86的支持,我扩展了Application.mk:

APP_ABI := armeabi-v7a x86
我遇到的第一个问题是,可以为arm或x86配置libvpx:

$ ./libvpx/configure --target=armv7-android-gcc ...
OR
$ ./libvpx/configure --target=x86-android-gcc

想知道如何处理多个平台。是否为两个平台创建两个不同的libvpx目录,并使用Android.mk中的if-then-else逻辑选择正确的目录?有更好的办法吗?

是的,差不多。如果您将构建产品(由
makeinstall
生成)存储在根据android ABI命名的并行目录中,您可以从如下android.mk文件简化使用:

include $(CLEAR_VARS)
LOCAL_MODULE    := libvpx
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libvpx/$(TARGET_ARCH_ABI)/include
LOCAL_SRC_FILES := libvpx/$(TARGET_ARCH_ABI)/lib/libvpx.a
include $(PREBUILT_STATIC_LIBRARY)
因为公共标题可能(应该)没有任何特定于arch的内容,所以您还应该能够共享它们的一个副本,而不是每个arch都有一个副本