然后点击

最后要记得,现在的4.3版本

只支持jdk 17版本

别的就别实验了,我都试过了

=========================

接着我发现godot调用java和java调用godot的过程十分烦人,特别恶心

 https://github.com/deep-entertainment/godottpd 

所以就用了http作为rpc的媒介

第一步:

在主函数里面起一个server

进插件改动一下端口号

新建一个独立的gd文件去处理请求

这就算搞定了

打开调试器给http server发消息

发现这个server好像。。。对中文有bug?

pc似乎也一样啊

看出来了,正好是6个字符,然后问题出在godot引擎自己的JSON序列化过程上,这个嘛,倒也无所谓

因为print已经得到了合适的输出

全部关闭,并且开始移植Java部分的代码

========================================================

增加两部分

将:

NotificationForwarder.java移植过来

地址记得修改

包名记得修改

把service也移植过去

然后又是这个权限问题,行吧

来来来

抄就行了

新建一个xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">127.0.0.1</domain>
    </domain-config>
</network-security-config>

然后回到AndroidManifest.xml里面去

在application里增加这一句

android:networkSecurityConfig="@xml/network_security_config"

然后记得哈,logcat里的包名是:com.example.android_block

回到godot里面来

点击远程调试

报错了

好嘞,非常好,这样就搭好了架子了

监听android本机的消息通讯

然后由java转发给本地的一个godot的gdscript写好的一个server

最后这个server等于是接到了rpc之后就可以开始处理实际的逻辑了

修正了这个addon里的一个小bug

在utf-8的时候它不工作的

A阶段java程序监听到了消息

B阶段godot的gdscript的server接到了rpc请求

C阶段命令解析逻辑开始

D阶段,JAVA的转发程序认为过程结束

挺好的