Android NDK:中止停止?

我正在研究ffmpeg for android。 我已成功编译ffmpeg-2.0.1之后我在我的NDK的sources / ffmpeg-2.0.1 / android / arm中制作了Android.mk文件

LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= libavcodec LOCAL_SRC_FILES:= lib/libavcodec-55.so LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include include $(PREBUILT_SHARED_LIBRARY) 

之后使android项目和Android项目Android.mk文件一样

  LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := tutorial01 LOCAL_SRC_FILES := tutorial01.c LOCAL_LDLIBS := -llog -ljnigraphics -lz LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil include $(BUILD_SHARED_LIBRARY) $(call import-module,ffmpeg-2.0.1/android/arm) 

但显示出一个问题

  *** Android NDK: Aborting . Stop. android-ffmpeg-tutorial01line 45, external location: /home/tech/Documents/roman10/ndk/android-ndk-r9c/build/core/prebuilt-library.mk C/C++ Problem 

我的NDK是android-ndk-r9c,系统是ubuntu-13.04,请有人指导我。

提前致谢。

首先查看Android.mk structure

需要更改Android.mk文件,如下所示:

 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ffmpeg LOCAL_SRC_FILES := libs/ffmpeg.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := final_ffmpeg LOCAL_SRC_FILES := ffmpeg.cpp LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog LOCAL_PREBUILTS := libs/ffmpeg.so #libavformat libavcodec libswscale libavutil include $(BUILD_SHARED_LIBRARY) 

p / s:当你将数据放在一起时,我也得到了Android NDK : Aborting问题:

 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= ffmpeg LOCAL_SRC_FILES:= libs/ffmpeg.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := ffmpeg LOCAL_SRC_FILES := ffmpeg.cpp LOCAL_SHARED_LIBRARIES := ffmpeg include $(BUILD_SHARED_LIBRARY) 

LOCAL_MODULE 名称重复 时会发生此问题

结果将帮助您:

当您需要从Java文件中调用C ++文件中的C ++函数时,它仍然正是如此。

当我尝试使用NDK64-Linux-r10构建HelloComputeNDK示例时,我遇到了类似的问题。

然后我注意到NDK64-Linux-r10只有Android-L平台,所以我下载了NDK32-Linux-R10,并将其与NDK64-Linux-r10合并。

这对我来说很顺利。

你可以在这里下载NDK32-Linux-r10: https : //developer.android.com/tools/sdk/ndk/index.html