新手求助,接计费sdk是遇到异常!

第一次接触游戏开发,领导说要仿照着写个游戏买,于是用cocos2dx3.4写了个游戏。现在游戏已经完成了,可是接入计费SDK却遇到了大问题。我是一点android开发经验也没有。在接入SDK之后,一调用付费接口就程序崩溃,网上寻找实验各种,实在没有办法了,来这里请教各位大神。
这个不知道什么渠道的付费接口开起来很简单,如下:
result = mSdkPayServer.startSdkSmsPay(AppActivity.this,
mPayHandler, /计费结果回调/
merchantPasswd, /商户秘钥/
payId, /CP订单号,不重复/
channelId, /CP渠道ID/
payPoint, /计费点ID/
keyValue /预留字段,默认即可/
);
在这个接口有个计费结果回调mPayHandler,我按照Demo上定义如下:
private class PayHandler extends Handler {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);

        Log.i("lyhtghpay", "PayHandler : msg.what = " + msg.what);
        Log.i("lyhtghpay", "PayHandler : msg.obj = " + msg.obj);
        
        if (msg.what == SdkPayServer.MSG_WHAT_TO_APP) {
            String retInfo = (String) msg.obj;
            //mHinTextView.setText(mHinTextView.getText() + "\n" + retInfo);
            
            String[] keyValues = retInfo.split("&|=");
            Map<String, String> resultMap = new HashMap<String, String>();
            for (int i = 0; i < keyValues.length; i = i + 2) {
                resultMap.put(keyValues[i], keyValues[i + 1]);
            }
            
            String payResult = resultMap.get(SdkPayServer.PAYRET_KEY_RESULT_STATUS);
            if (null != payResult && Integer.parseInt(payResult) == SdkPayServer.PAY_RESULT_SUCCESS) {
               Log.i("TAG", "付费成功");
             
            else {
               Log.i("TAG", "付费失败");
            }
            ppIndex = 0;
        }
    }
}

但是我只要在cocos中通过jniHelper调用付费,程序就回崩溃,调试信息中提示异常:
07-28 17:14:39.948: E/AndroidRuntime(6429): FATAL EXCEPTION: GLThread 164433
07-28 17:14:39.948: E/AndroidRuntime(6429): Process: com.colin.mbgame, PID: 6429
07-28 17:14:39.948: E/AndroidRuntime(6429): java.lang.RuntimeException: Can’t create handler inside thread that has not called Looper.prepare()
07-28 17:14:39.948: E/AndroidRuntime(6429): at android.os.Handler.(Handler.java:200)
07-28 17:14:39.948: E/AndroidRuntime(6429): at android.os.Handler.(Handler.java:114)
07-28 17:14:39.948: E/AndroidRuntime(6429): at org.cocos2dx.cpp.AppActivity$PayHandler.(AppActivity.java:124)
07-28 17:14:39.948: E/AndroidRuntime(6429): at org.cocos2dx.cpp.AppActivity$PayHandler.(AppActivity.java:124)
07-28 17:14:39.948: E/AndroidRuntime(6429): at org.cocos2dx.cpp.AppActivity.startRealPay(AppActivity.java:96)
07-28 17:14:39.948: E/AndroidRuntime(6429): at org.cocos2dx.lib.Cocos2dxRenderer.nativeTouchesBegin(Native Method)
07-28 17:14:39.948: E/AndroidRuntime(6429): at org.cocos2dx.lib.Cocos2dxRenderer.handleActionDown(Cocos2dxRenderer.java:126)
07-28 17:14:39.948: E/AndroidRuntime(6429): at org.cocos2dx.lib.Cocos2dxGLSurfaceView$6.run(Cocos2dxGLSurfaceView.java:220)
07-28 17:14:39.948: E/AndroidRuntime(6429): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1462)
07-28 17:14:39.948: E/AndroidRuntime(6429): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)

请问各位大神如何解决!

实在搞不定了,自己顶上去。

请问SDK 是否有 so 文 件 如果有你确定加上了so文件了吗?打包apk后查看apk中的lib/armeabi/ 里是否有相应so文件。

感谢你雪中送碳的回复,SDK中没有so文件。说明书中的中的各种配置已经添加检查,init()接口返回是正常的,就是到支付的时候程序崩溃了。我尝试把回调函数写成private static Handler jniHandler = new Handler()形式,支付接口返回可以支付,但是不会回调,怀疑是回调的问题。本人android相关的知识==0,现在有些无解!

现在好了!就是用private static Handler jniHandler = new Handler()形式的回调就可以了。刚在的程序中还有点其他问题,导致没有回调。