Laya打包AndroidStudio工程二次开发之相互调用

使用Laya开发小游戏,走了微信、qq、抖音各个平台的一些坑之后,现在项目要求走海外渠道,接入googlePlay商城,这个难免就要进行二次开发啦,然后首先就是要解决Laya和AndroidStudio之间的交互问题,期间遇到过几个坑,感觉官方文档和网上的文档都不够详细和集中,这里终于忍不住还是记录一下。

介绍一下Laya开发环境:编辑器版本2.5.0,使用的是javascript。

一.在Laya的工程下创建一个脚本:
Laya打包AndroidStudio工程二次开发之相互调用_第1张图片
然后在js代码中找个地方调用GooglePlayLogin.JSCallAndroidTest()就好了,这里有几个需要注意的地方:
1.js提供给java调用的方法必须是静态类,例如上面的AndroidCallJSTest1和AndroidCallJSTest2方法;
2.js创建java类,查看很多文档说是用Laya.PlatformClass.createClass(“xxx”),我试了不行,得用window.PlatformClass.createClass(“xxx”),这里的参数为AS工程Java文件夹下的类文件路径;
3.直接在java那边使用ConchJNI.RunJS(“GooglePlayLogin.AndroidCallJSTest1()”);是行不通的,会报错找不到这个类,得如上图最下面那一段一样,注册一下这个类到Laya的window对象中。网上有教程说是ConchJNI.RunJS(“包名.类名.方法名()”);我这边试验过多种情况都调用失败。

二.Laya发布安卓工程这个网上有详细教程我就不说了,自己百度就好。

三.创建java类:
Laya打包AndroidStudio工程二次开发之相互调用_第2张图片
注意了,这里ConchJNI.RunJS()的参数只能有一个,而且是字符串,需要传参的就组装字符串,细看别漏了引号,还有方法名最后的括号。

四.写完了就打个apk出来测试呗,我这里都调用成功,打印如下:
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(Laya小游戏)