1、环境linux
windows10(mac的虚拟机)android
cocos2dx-3.13.1ios
android(adt-bundle-window-86_64-20140702)git
ffmpeg-3.0github
ndk(android-ndk-r10c)windows
好了,其余的好比jdk什么的就不说了。eclipse
2、项目配置ide
你们想要在android上运行cocos2dx的项目要先配置好cococs2dx的android环境。这个有传送门。spa
哦,还有,个人环境是在eclipse上配置的(很差意思),没用过AndroidStudio,很差意思,不过你们能够看eclipse,懂得eclipse和AndroidStudio的就能够根据eclipse配置本身的AndroidStudio了。.net
下面的配置说明是根据你们配置好了cocos2dx运行的环境以后说的,cocos2dx的配置我就再也不啰嗦了。
如今咱们的cocos2dx是用的个人上一篇cocos2dx跨平台直播实例-ffmpeg-ios篇写过的项目。
好了,把项目Import进eclipse里,如今你们配置好了cocos2dx的环境,运行一下,确定是报错的,由于咱们以前写的LiveVideo须要ffmpeg库,而咱们上一篇中配置的ffmpeg库的环境只是ios或者mac项目的,android里面并无这样的环境!!
因此,接下来咱们要配置ffmpeg在cococs2dx-android的项目上的环境。
1.ffmpeg在android用的库的编译
传送门。这篇文章里的编译环境是在mac下的,linux下也能够,因此windows的同窗还得建个linux或者mac的虚拟机才行。。。。
2.ffmpeg库在andorid上的配置
ffmpeg编译好以后,把include和lib文件夹复制到android项目的jni下面。
如图:
以后,
修改Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavcodec
LOCAL_SRC_FILES:= lib/libavcodec-57.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavformat
LOCAL_SRC_FILES:= lib/libavformat-57.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libswscale
LOCAL_SRC_FILES:= lib/libswscale-4.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavutil
LOCAL_SRC_FILES:= lib/libavutil-55.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavfilter
LOCAL_SRC_FILES:= lib/libavfilter-6.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libswresample
LOCAL_SRC_FILES:= lib/libswresample-2.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos/audio/include)
LOCAL_MODULE := MyGame_shared
LOCAL_MODULE_FILENAME := libMyGame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/LiveVideo.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_SHARED_LIBRARIES:=libavcodec libavfilter libavformat libavutil libswscale libswresample
# _COCOS_HEADER_ANDROID_BEGIN
# _COCOS_HEADER_ANDROID_END
LOCAL_STATIC_LIBRARIES := cocos2dx_static
# _COCOS_LIB_ANDROID_BEGIN
# _COCOS_LIB_ANDROID_END
include $(BUILD_SHARED_LIBRARY)
$(call import-module,.)
# _COCOS_LIB_IMPORT_ANDROID_BEGIN
# _COCOS_LIB_IMPORT_ANDROID_END
用上面的内容替换掉Android.mk里的内容。
而后,Application.mk文件:
加上这句
编译Project-Clean。
完成,等待编译结束。。。。。。。