2014-10-30 79 views
4

我对此问题感到非常沮丧。我一直得到它,我无法弄清楚为什么。这是我在Android.mk的src/JNI在导入路径(Android NDK)中找不到具有标记的模块

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_MODULE := tutorial01 
LOCAL_SRC_FILES := tutorial01.c 
LOCAL_LDLIBS := -llog -lz 
LOCAL_SHARED_LIBRARIES := libavformat_static libavcodec_static libavutil_static 
include $(BUILD_SHARED_LIBRARY) 
$(call import-module,ffmpeg-2.4.2/android/armv7-a) 

,这里是我的Android.mk在我/jni/ffmpeg-2.4.2/android/armv7-a

LOCAL_PATH:= $(call my-dir) 
#static version of libavcodec 
include $(CLEAR_VARS) 
LOCAL_MODULE:= libavcodec 
LOCAL_SRC_FILES:= lib/libavcodec.a 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include 
include $(PREBUILT_STATIC_LIBRARY) 
#static version of libavformat 
include $(CLEAR_VARS) 
LOCAL_MODULE:= libavformat 
LOCAL_SRC_FILES:= lib/libavformat.a 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include 
include $(PREBUILT_STATIC_LIBRARY) 
#static version of libswscale 
include $(CLEAR_VARS) 
LOCAL_MODULE:= libswscale 
LOCAL_SRC_FILES:= lib/libswscale.a 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include 
include $(PREBUILT_STATIC_LIBRARY) 
#static version of libavutil 
include $(CLEAR_VARS) 
LOCAL_MODULE:= libavutil 
LOCAL_SRC_FILES:= lib/libavutil.a 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include 
include $(PREBUILT_STATIC_LIBRARY) 
![enter image description here][1] 

我不断收到通过Eclipse中构建(NDK建造)或清洁项目时,这个问题

**** Clean-only build of configuration Default for project android-ffmpeg-tutorial01 **** 

/Applications/adt-bundle-mac-x86_64-20130514/android-ndk-r10c/ndk-build clean 
Android NDK: jni/Android.mk: Cannot find module with tag 'ffmpeg-2.4.2/android/armv7-a' in import path  
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?  
jni/Android.mk:11: *** Android NDK: Aborting. . Stop. 
Android NDK: The following directories were searched:  
Android NDK:   

**** Build Finished **** 

请帮助:(

回答

8

要使用import-module您将需要设置/导出指向导入模块的父文件夹路径的环境变量NDK_MODULE_PATH

$(call import-module,ffmpeg-2.4.2/android/armv7-a) 

所以对于<parent-path>/ffmpeg-2.4.2/android/armv7-a,设置/导出NDK_MODULE_PATH = parent-path

另一种选择是明确添加路径,只是call import-module前添加以下线,用于例如:

$(call import-add-path, parent-path) 
    $(call import-module,ffmpeg-2.4.2/android/armv7-a) 

看到this for other examples

0

我解决了它!我的问题是我的ffmpeg文件夹不在我的NDK/sources文件夹中。我必须在NDK/sources中移动ffmpeg文件夹,并且我能够毫无问题地构建它。

相关问题