解析往安卓工程中导入第三方so文件的流程

    作者:课课家教育更新于: 2019-04-24 18:16:27

      我们在游戏开发中常会遇到需要往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文件的流程_Cocos2D-X so_Cocos2D-X安卓_Cocos2D-X技巧_课课家

      需要注意的是:如果有多个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~

课课家教育

未登录