我正在尝试使用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中构建。
提前感谢您的帮助。
答案 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)