首页 > 解决方案 > 将Android库集成到cocos2D for Android release(调用JavaScriptJavaBridge_callStaticMethod失败)

问题描述

我正在尝试将 android 库 (.aar) 集成到 cocos2D Android 版本中。

虽然我可以导入 android 库,但我无法调用库中的类函数。

这就是我从 cocos2D javascript 处理程序调用 Android 函数的方式。

jsb.reflection.callStaticMethod('org/cocos2dx/javascript/myDialog', 'showAlertDialog', '(Ljava/lang/String;Ljava/lang/String;)V', 'MyAlert', 'This is my first Alert from cocos2d' )

Android 库类

package org.cocos2dx.javascript;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Log;

public class myDialog extends Activity {

    private static myDialog cam = null;


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        cam = this;
    }

    public static void showAlertDialog(final String title,final String message) {
        Log.i(title, message);
        //we must use runOnUiThread here
        cam.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                AlertDialog alertDialog = new AlertDialog.Builder(cam).create();
                alertDialog.setTitle(title);
                alertDialog.setMessage(message);
                alertDialog.show();

            }
        });
    }
}

下面是我得到的控制台警告

2020-07-01 16:47:46.514 26242-26339/org.cocos2d.demo E/JavaScriptJavaBridge: [ERROR] (C:/start_project/build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/JavaScriptJavaBridge.cpp, 598): call valid: 0, call.getArgumentsCount()= 2

2020-07-01 16:47:46.514 26242-26339/org.cocos2d.demo E/JavaScriptJavaBridge: [ERROR] Failed to invoke JavaScriptJavaBridge_callStaticMethod, location: C:/start_project/build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/JavaScriptJavaBridge.cpp:604

我已经为此工作了3天。但找不到任何解决方案。任何形式的帮助将不胜感激

从 cocos2d 调用 java 函数的 文档 文档相当简单,同样遵循了同样的方法,但没有成功。

标签: javaandroidandroid-studiococos2d-androidcocos2d-js

解决方案


推荐阅读