如何将libvpx构建为静态库

时间:2013-10-12 02:57:07

标签: android android-ndk libvpx

在我的jni目录中,运行以下命令:

$ ./libvpx/configure --target=armv7-android-gcc --disable-examples --sdk-path=/home/peter/adt/android-ndk-r9/

这导致在libvpx / build / make目录中生成Android.mk

接下来,我在jni目录中创建Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include libvpx/build/make/Android.mk

当我运行ndk-build时,它最终会创建libvpx.so。

但是,我真的想创建一个静态库。

我从头开始并使用额外的标志运行配置:

$ ./libvpx/configure --target=armv7-android-gcc --disable-examples --sdk-path=/home/peter/adt/android-ndk-r9/ --enable-static

但是,运行ndk-build仍会导致创建libvpx.so。

有没有人知道如何配置libvpx来创建静态库?提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我能够成功构建一个arm静态库,虽然我还没有将它与Android应用程序集成,因为我正在构建libvpx作为另一个本机库的组件。

请注意,在我的情况下,Android.mk已经存在于目录树中,并且不受配置脚本的影响,这显然与您的体验相反。要构建静态库,我只需调用configure然后make:

$ make clean
$ ./configure --target=armv7-android-gcc --disable-examples --sdk-path=/home/me/android-ndk-r9b/
$ make

在我的情况下,我必须做一个干净的构建,因为我从早期的构建尝试中留下了一些遗骸,否则会打破构建。

结果是libvpx.a和libvpx_g.a。