在我的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来创建静态库?提前感谢您的帮助。
答案 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。