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倍儿爽
原文链接:/cocos2dx/344834.html