欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

cocos2dx项目接入爱贝第三方支付sdk遇到的问题及解决方案

程序员文章站 2024-02-05 14:20:16
...

1.今天接入cocos2dx项目爱贝sdk,再点击计费点,游戏崩溃终止,我一直以为是自己的支付接口接的不对,一直修改,但是毫无进展, 我联系了一下爱贝客服,爱贝客服那边帮我想了个办法,pay_proxy_res工程不在作为引用,而是把pay_proxy_res工程的libs和res下的

1.今天接入cocos2dx项目爱贝sdk,再点击计费点,游戏崩溃终止,我一直以为是自己的支付接口接的不对,一直修改,但是毫无进展,

我联系了一下爱贝客服,爱贝客服那边帮我想了个办法,pay_proxy_res工程不在作为引用,而是把pay_proxy_res工程的libs和res下的所有

内容copy到我的项目中,我试着照做,但还是不可以,但是这时候我发现了问题,大家都知道cocos2dx在移植过程中会产生.so文件的,但是

我一查看pay_proxy_res里面的.so文件,在我的项目中是没有的,那么问题就在这里,找到问题以后,我天真的以为把那边的.so文件copy过来

就好,但是事与愿违,游戏生成apk的时候,那几个.so文件又消失了,那么答案还是肯定的,游戏还是会崩溃的。

2.重点来了,下面我就讲一下我的解决方案:(我还是用引入pay_proxy_res的方法)

a.在项目的jni文件下建立一个文件夹,随便什么名字都可以(下面会用到),我用的名字是prebuilt,

b.把pay_proxy_res工程下libs/armeabi文件夹下的4个.so文件copy到你项目的prebuilt下面

c.在Android.mk添加

include $(CLEAR_VARS)
LOCAL_MODULE := entryex
LOCAL_SRC_FILES := prebuilt/libentryex.so
include $(PREBUILT_SHARED_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE := fastpay
LOCAL_SRC_FILES := prebuilt/libfastpay.so
include $(PREBUILT_SHARED_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE := litedes
LOCAL_SRC_FILES := prebuilt/liblitedes.so
include $(PREBUILT_SHARED_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE := usedes
LOCAL_SRC_FILES := prebuilt/libusedes.so
include $(PREBUILT_SHARED_LIBRARY)

d.在你的启动类里面添加

static {

System.loadLibrary("entryex");
System.loadLibrary("fastpay");
System.loadLibrary("litedes");
System.loadLibrary("usedes");
}

e.运行一下,发现还是有问题对吗,好的,那是因为引用的工程里面还存在着那4个.so文件,与你项目中的重复,发生冲突,知道了

原因,那就好办了,把那个引入工程里的4个.so文件删掉就好了,再次运行,你会感觉这feel倍儿爽