4

在我的 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 来创建一个静态库?预先感谢您的帮助。

4

1 回答 1

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。

于 2014-06-05T19:23:49.177 回答