JavaScriptJavaBridge::CallInfo isn’t valid【红包求助】

报错现象:真机调试正常,打包release和debug包均报错【JavaScriptJavaBridge::CallInfo isn’t valid! 】

cocos creator 2.4.3
系统:安卓原生
机器:Galaxy S9

typejs代码:
static go() {

    jsb.reflection.callStaticMethod(
        "org/cocos2dx/javascript/AppActivity",	//路径
        "Test",	//方法名
        "()V",	//如果有两个(Ljava/lang/String;Ljava/lang/String;)V
    );
}

安卓原生代码:
public class AppActivity extends Cocos2dxActivity {
static Vibrator vibrator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isTaskRoot()) {
return;
}
SDKWrapper.getInstance().init(this);
vibrator = (Vibrator)getSystemService(Service.VIBRATOR_SERVICE);
}
public static void Test (){
System.out.println(“wwwwwwwwsdasds输入日志信息”);
vibrator.vibrate(100);
}

混淆文件:
-keep public class org.cocos2dx.** { ; }
-dontwarn org.cocos2dx.
*

混淆文件详细路径:

搞了半天没搞好,试过论坛里面的同类问题方案,都不行,大佬们有空帮忙指点下,解决后留个微信小弟愿意请大佬们喝杯奶茶 :sneezing_face:

切到UI线程试试

public static void test(){
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
System.out.println(“振动”);
vibrator.vibrate(100);
}
});
}

还是不行

https://blog.csdn.net/MDD0828/article/details/107020813/

这个方法之前试过了,我是改的 app/proguard-rules.pro 这个里面的,改了之后打release包,3秒就打好了,感觉混淆文件压根就没有生效,QQ传文件也是秒传,打包出来的都是同一个包,装了也没有效果 :weary:

-keep public class org.cocos2dx.** { ; }
-dontwarn org.cocos2dx.
*

debug可以,release不行,肯定是混淆问题


混淆文件是自带这两行的

连接真机调试可以,打包就不行了,您那边混淆文件是怎么写的呢,

你确定打包的是train10的项目

image
都是一一对应的,自己仔细看看呗

您好,可以加个好友帮忙看看吗 wx:cailingyun2010,不管能否解决,都愿意请您喝杯奶茶 :sweat:

是的,跑起来也是一样的,train10也是cocos工程名,

这是我的项目结构


改成release调试运行就知道了

大哥我错了,打包的时候,是打包项目没选对(每次打包下一步点太快,每太注意这个地方),默认的是cocos生成的instanapp项目,有个下拉框得选自己的项目打包,【但是打包instanapp项目跑起来也和自己的项目没有区别,容易误导】
您要是不提醒我,怕是要坑到厕所了,大哥可否留个微信,请您喝杯奶茶,如不便透露,可留个收款码

问题已解决,cocos creator 2.4.3, 该版本遇到该问题没有加添加或任何混淆文件

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。