
然后点击


最后要记得,现在的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的转发程序认为过程结束
挺好的