如何为android arm和x86构建libvpx?

时间:2014-11-17 20:08:07

标签: 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

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

1 个答案:

答案 0 :(得分:1)

是的,差不多。如果您将构建产品(由make install生成)存储在根据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有一个副本。