使用的是GVoice Cocos2d 版本
项目使用的是cocos 3.17.2 ,Android项目不再支持eclipse(两巨头打架,我们遭殃),所以Android Studio开发。
项目是从cocos3.10 (使用的eclipse)升级到 cocos3.17.2 ,本人升级的引擎,但是奈何本人能力有限,没有调通使用Android.mk来编译工程,转而使用的cmakelist 来实现的,中间的辛酸啊,一语难尽。
回归正题,因为官网的文档太过简陋,只有 eclipse 的想关的,若是项目使用android.mk编译倒是没有多少问题,但是使用cmakelist问题就来了,不知道该怎么搞。
我这里的解决方案是将GCloudVoice文件夹放在 frameworkscocos2d-xexternal下,再自己写一个cmakelist(这个方案的话有一个弊端,就是GVoice 需要更新的话,就需要大版本更新了)
cmakelists.txt中内容对应如下
cmake_minimum_required(VERSION 3.6)
set(lib_name GCloudVoice)
set(target_name ext_${lib_name})
project(${lib_name})
add_library(${target_name} SHARED IMPORTED GLOBAL)
set_target_properties(${target_name} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/libs/Android/armeabi-v7a/lib${lib_name}.so"
FOLDER "External"
)
还是费了不少时间的,各种查看cmake的东西,总算是搞定了
总觉得这样不太好,后来经过尝试,在工程的cmakelist中加入
# mark app complie info and libs info
if(NOT ANDROID)
add_executable(${APP_NAME} ${APP_SRC})
else()
link_libraries("${RUNTIME_SRC_ROOT}/Classes/GCloudVoice/libs/Android/armeabi-v7a/libGCloudVoice.so")
这样也可以