Cocos2dx杂记:cocos 编译命令拷贝so文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/slaron/article/details/78247923

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下

这里写图片描述
这里写图片描述

展开阅读全文

没有更多推荐了,返回首页