I am working on ffmpeg for android. I have successfully compile ffmpeg-2.0.1
after that I make Android.mk file in my NDK's sources/ffmpeg-2.0.1/android/arm as
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)
After that make android project and in android project Android.mk file is as
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)
but showing a problem
*** 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
My NDK is android-ndk-r9c,system is ubuntu-13.04,please anyone guide me.
thanks in advance.
See the Android.mk structure
firstly.
Need change Android.mk
file like this :
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 :
I also get the Android NDK : Aborting
problem as you when put data together like this :
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)
This problem happens when LOCAL_MODULE
name is duplicated.
The result will help you :
It still be exactly when you need call the C++ function in C++ file from Java file.
I run into a similar problem when I tried to build HelloComputeNDK sample with NDK64-Linux-r10.
Then I notice that NDK64-Linux-r10 only have Android-L platform, so I download NDK32-Linux-R10, and merge it with NDK64-Linux-r10.
It goes well for me.
U can download NDK32-Linux-r10 here:
https://developer.android.com/tools/sdk/ndk/index.html