cocos compile命令在编译的过程中第三方so文件会丢失掉,如何解决这个问题呢
1、我们在jni文件夹下面添加一个文件夹prebulid,如图所示
把第三方的so文件放入改文件夹下
2、在proj.android下新建一个python文件,命名为custom_script.py
脚本内容:
import os
import os.path
import cocos
from shutil import copy2
def copy_so_file(src, dst):
names = os.listdir(src)
for name in names:
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
try:
copy2(srcname, dstname)
except (IOError, os.error) as why:
errors.append((srcname, dstname, str(why)))
def handle_event(event, target_platform, args):
if target_platform != "android":
return
# cocos.Logging.info(event)
if event != "pre-copy-assets":
return
# cocos.Logging.info("args is %s\n" % args)
src = os.path.join(args["platform-project-path"], "jni", "prebuild")
dst = os.path.join(args["platform-project-path"], "libs", "armeabi")
# copy so
copy_so_file(src, dst)
3、在工程主目录下.cocos-project.json文件中添加脚本路径,如下图所示,然后在编译cocos命令的时候就会在prebuild中的so文件拷贝到libs下面的armeabi下