Android.mk错误:构建GStreamer时无法找到-landroid

时间:2014-07-27 02:26:51

标签: android macos android-ndk gstreamer

我正在尝试使用Android NDK将Gstreamer集成到Android应用程序中,但我的Android make文件(Android.mk)存在一些问题。根据{{​​3}},我试图包含libandroid.so。不幸的是,我收到以下错误:

Error:error: cannot find -landroid

这是我的Android make文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

SYSROOT := /Users/{myusername}/android-ndk-r10/platforms/android-19/arch-arm/

LOCAL_MODULE                := video-streaming
LOCAL_SRC_FILES             := video_streaming.c
LOCAL_SHARED_LIBRARIES      :=gstreamer_android
LOCAL_LDLIBS                := -llog -landroid
APP_PLATFORM := android-19

include $(BUILD_SHARED_LIBRARY)

GSTREAMER_SDK_ROOT        := $//Users/{myusername}/gstreamer-sdk-android-arm-debug-2013.6
GSTREAMER_NDK_BUILD_PATH  := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build
GSTREAMER_PLUGINS         := coreelements ogg theora vorbis ffmpegcolorspace playback eglglessink soup opensles
G_IO_MODULES              := gnutls
GSTREAMER_EXTRA_DEPS      := gstreamer-interfaces-0.10 gstreamer-video-0.10

include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk

如果有帮助,我正在运行OSX Mavericks并且我正在尝试在Android Studio中构建。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

当您在现有/新NDK项目中尝试预先构建的lib文件时,需要执行以下操作 1.创建一个JNI文件夹,并将lib文件复制到与正确体系结构相对应的文件夹中(x86,armeabi,mips)。如果您具有与每个体系结构相对应的同一库的多个版本,则创建尽可能多的文件夹并相应地添加它们。 2.这就是你的清单文件应该是这样的

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libandroid
LOCAL_SRC_FILES := libandroid.so
include $(PREBUILT_SHARED_LIBRARY)