cocos creator JavaScript 调用 Java 提示: call valid: 0, call.getArgumentsCount()= 1
程序员文章站
2022-06-22 17:18:00
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020081317053157.png#pic_center)方法:jsb.reflection.callStaticMethod(AppClassName_contacts, “openContacts”, “(Ljava/lang/String;)V”,“hello”);但是就是报错如上图;分享一下我的解决思路:1、callStaticMethod 是否是参数传递错误jsb.reflection.ca......
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020081317053157.png#pic_center)
方法:
jsb.reflection.callStaticMethod(AppClassName_contacts, “openContacts”, “(Ljava/lang/String;)V”,“hello”);
但是就是报错如上图;
分享一下我的解决思路:
1、callStaticMethod 是否是参数传递错误
jsb.reflection.callStaticMethod(AppClassName_contacts, "openContacts", "(Ljava/lang/String;)V","hello");
2、Java中是否写错
public static void openContacts(String hello){
String permission = Manifest.permission.READ_CONTACTS; //需要的权限
ActivityCompat.requestPermissions(mactivity, new String[]{permission}, PERMISS_CONTACT);
}
查了代码都没有问题!
但是真机运行没有问题,也就是说debug版本没有问题,但是release版本出问题。
后来查看android studio 官网,是release版本开启混淆问题引起。
解决办法:
在proj.android-studio中 添加
-keep public class org.your.package** {*;}
-dontwarn org.your.package.**
加上你的包名就可以了
技术指点欢迎骚扰…
本文地址:https://blog.csdn.net/MDD0828/article/details/107984473