从零开发CocosCreator+Nodejs麻将视频教程
30685 人在学
我们在游戏开发中常会遇到需要往Cocos2d-x安卓工程中导入第三方so文件,估计没接触过so的同学们一定对它很伤脑筋吧,没关系,课课家来帮你,本篇教程将会详细解析往安卓工程中导入第三方so文件的流程。
Cocos2d-x 项目在Android平台上编译的时候会把libs/armeabi目录清空,
引用第三方so文件步奏:
1).在Android工程下的jni目录下新建prebuilt目录,并把要使用的第三方so库复制到该目录;
2).修改Android工程下的jni/Android.mk文件如下:
include $(CLEAR_VARS)
LOCAL_MODULE := casdkjni
LOCAL_SRC_FILES := prebuilt/libsmsiap.so
include $(PREBUILT_SHARED_LIBRARY)
(红色方格里面就是要添加的内容)
需要注意的是:如果有多个so文件时, LOCAL_MODULE := 名字(绝对绝对不能相同!!!!)
需要注意的是:如果有多个so文件时, LOCAL_MODULE := 名字(绝对绝对不能相同!!!!)
需要注意的是:如果有多个so文件时, LOCAL_MODULE := 名字(绝对绝对不能相同!!!!)
小编注:嘿嘿,重要的事情说三遍,希望各位同学一定要记住哟~
在讲解完如何在Cocos2D-X中往安卓工程中导入第三方so文件后,我们来开个小灶,讲一下另外的问题,放心,加量不加价~
最近呢,遇到一个问题,接入第三方sdk,按照上面的步骤做了,但是还是支付的时候闪退!!!,后来对比发现lib/armeabi下的so文件有,但是大小却不对劲!!!(猜测复制的时候读取到哪里应该是断掉了)
解决办法:生成apk文件后,用压缩方式打开,再把so文件拖进去覆盖,然后再用加壳工具加壳就可以运行了,
还有一个解决办法:进入工程下找到 “build_native.py”文件,先让工程编译完后再打开该文件,删掉或者注释掉最后一行代码(删掉或者注释掉就不会经过ndk去编译,也就不会清空lib/ armeabi下的so文件,注:注释的话前面加”#“),再把so文件复制到lib/ armeabi下,打包成apk也是可以的
小结:
好啦,本篇教程到这里就结束啦,如果你还有其他不明白的地方可以到我们的视频站,看看名师视频,知识点详细解读,帮你轻松掌握Cocos2D-X~