[0]js调用android的java代码失败。NoSuchMethodException
错误描述为:
JSRuntime::callMethod {"v":"java.lang.NoSuchMethodException: demo.JSBridge.testString: [class java.lang.String]"} demo.JSBridge testString:
在js那边的代码
为:
然后在安卓那边的JSBridge里添加代码:
android studio项目,太大了,传附件你们不支持,所以我把项目分成几块传了。
记得把后面3个文件解压之后,放到android_studio项目的android_studio\app\libs,这个路径下面。
JSRuntime::callMethod {"v":"java.lang.NoSuchMethodException: demo.JSBridge.testString: [class java.lang.String]"} demo.JSBridge testString:
在js那边的代码
为:
_doTestCallJava(){
let os = null
let bridge = null
if(typeof conchConfig != "undefined"){
os = conchConfig.getOS()
}
if (os == "Conch-ios") {
bridge = PlatformClass.createClass("JSBridge")//创建脚步代理
}
else if (os == "Conch-android") {
//需要完整的类路径,注意与iOS的不同
bridge = PlatformClass.createClass("demo.JSBridge")//创建脚步代理
}
console.log("test step ~~~~~~~~~~~~~~~~~~~~~~1")
if(os == "Conch-ios"){
}else if (os == "Conch-android") {
console.log("test step ~~~~~~~~~~~~~~~~~~~~~~2")
if(bridge){
console.log("test step ~~~~~~~~~~~~~~~~~~~~~~3")
bridge.call("testString:", "this is a str ~")
}
}
}
然后在安卓那边的JSBridge里添加代码:
调用的时候,就报错说找不到。
public static String testString(String value) {
Log.d("0", "I got str " + value);
return "LayaBox";
}
2021-11-11 16:01:52.497 29147-29235/com.javacall.test I/LayaBox: test step ~~~~~~~~~~~~~~~~~~~~~~1
2021-11-11 16:01:52.497 29147-29235/com.javacall.test I/LayaBox: test step ~~~~~~~~~~~~~~~~~~~~~~2
2021-11-11 16:01:52.497 29147-29235/com.javacall.test I/LayaBox: test step ~~~~~~~~~~~~~~~~~~~~~~3
2021-11-11 16:01:52.497 29147-29235/com.javacall.test I/LayaBox: JSRuntime::callMethod {"v":"java.lang.NoSuchMethodException: demo.JSBridge.testString: [class java.lang.String]"} demo.JSBridge testString:
android studio项目,太大了,传附件你们不支持,所以我把项目分成几块传了。
记得把后面3个文件解压之后,放到android_studio项目的android_studio\app\libs,这个路径下面。
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
阿闲
赞同来自: Yan
去掉冒号就好了。
devx
赞同来自: